Dẹp mớ Kafka hay Temporal cồng kềnh đi! Một bài viết top Hacker News vừa khẳng định: Làm durable workflows chỉ cần con DB cục bộ SQLite là đủ xài rồi.

Over-engineering (làm lố công nghệ) là căn bệnh trầm kha của anh em dev. Chửa làm gì, dự án chưa có ma nào xài mà đã đòi dựng microservices, kéo Kafka, vác Temporal vào cho nó ngầu. Gần đây, một bài viết leo top Hacker News (húp hơn 600 points) đã tát một cú đau điếng vào mặt hội chứng này với tuyên bố xanh rờn: "Chỉ cần SQLite là đủ để làm durable workflows rồi mấy cha!".
Dành cho anh em nào chưa rành, Durable Workflow (tiến trình bền vững) nôm na là trò giữ cho các task dài hơi sống sót. Đang chạy mà máy chủ sập, cúp điện, hay cắn RAM văng app thì lúc bật lại, nó phải chạy tiếp được ở chỗ vừa chết chứ không phải chạy lại từ đầu.
Bình thường để làm cái trò này, các lão quái trong làng tech sẽ vác nguyên một hệ sinh thái vào: nào là Message Queue, Event Sourcing, State Machine lằng nhằng rắc rối.
Nhưng tác giả của bài blog trên Obelisk thì bảo: "Thôi bớt ảo tưởng sức mạnh đi mấy thím". Thay vì setup cả một cụm server cồng kềnh tốn tiền điện, bạn chỉ cần đúng 1 cái file SQLite. Logic cực kỳ ma giáo nhưng hiệu quả:
Đơn giản, gọn nhẹ, mượt mà và đặc biệt là đ*o tốn tiền duy trì hạ tầng.
Cái tít sặc mùi cà khịa này vứt lên Hacker News thì tất nhiên là thành bãi chiến trường. Dù không trích xuất trực tiếp comment, nhưng với 617 điểm upvote, chúng ta lạ gì các luồng ý kiến của dân tình trên đó:
1. Phe "Thực dụng" (Thả tim kịch liệt) Anh em phe này chán ngấy cái cảnh dự án có 100 users mà build hạ tầng như Netflix rồi. "Cuối cùng cũng có người nói lên tiếng lòng tôi!" - một pháp sư ẩn danh thốt lên. Việc giữ mọi thứ ở mức local, không network latency, không dependency lằng nhằng giúp code ít bug, tối về ôm vợ ngủ ngon là chân ái.
2. Phe "FAANG nửa mùa" (Enterprise Boys) Ngay lập tức, mấy đạo hữu dính aura "Big Tech" nhảy đổng lên chê: "Thế scale kiểu gì?", "High Availability vứt đi đâu?", "Lỡ ổ cứng hỏng thì khóc à?". Mấy ông này quen xài hàng nặng đô, nghe tới file-based DB là giãy nảy lên như đỉa phải vôi. Dù thực tế project của mấy ổng traffic còn thua cái blog cá nhân.
3. Phe "Thánh nhân trung lập" "Tùy case thôi mấy ba!" - phe này nhận định công tâm nhất. Tool nào cũng có đất diễn. Mới khởi nghiệp, ít tiền thì quất SQLite. Khi nào user đông như quân Nguyên, rủng rỉnh tiền nâng cấp hạ tầng thì đập đi xây lại. Thậm chí có ông còn gạ kèo lấy Free $300 to test VPS on Vultr mà quăng con SQLite lên chạy thử xem nó trâu bò tới mức nào.
Tóm cái váy lại, anh em dev hay bị cái bệnh "Resume Driven Development" – tức là nhét tech stack xịn xò con bò vào dự án chỉ để làm đẹp CV đi phỏng vấn khè thiên hạ, chứ đ*o phải vì dự án cần nó.
Bài học sinh tồn ở đây là: SQLite không phải là đấng toàn năng, nhưng nó là tấm gương phản chiếu sự tối giản. Đừng khinh thường mấy công nghệ có vẻ "cổ đại". Đôi khi, thứ đơn giản nhất lại là thứ ít sinh bug và dễ maintain nhất. Trước khi nghĩ đến chuyện dùng súng cối để bắn ruồi, hãy xem thử trong tay mình có cây vỉ ruồi nào không đã.
Nguồn hóng hớt: Hacker News / Obelisk