3 điểm bởi GN⁺ 2024-03-26 | 1 bình luận | Chia sẻ qua WhatsApp

Phần lớn ứng dụng web có thể vận hành trên một máy chủ duy nhất

  • Khi theo dõi giới phát triển web, có thể thấy rằng nhiều website và ứng dụng không cần hạ tầng phức tạp; phần lớn website và ứng dụng nhận dưới 10 request mỗi giây, và vào những ngày bận rộn thì ở mức khoảng 50.
  • Có endpoint trên toàn cầu sẽ giúp giảm độ trễ, nhưng vẫn cần truy cập dữ liệu; vì vậy dù endpoint chỉ cách client 20ms, nếu cơ sở dữ liệu lại cách endpoint đó 200ms thì cũng không có nhiều ý nghĩa.
  • Caching rất hữu ích, nhưng có thể đạt được điều này bằng CDN hoặc HTTP caching đơn giản. Nếu đẩy các tệp mới lên CDN sau khi cập nhật, thì trong đa số trường hợp toàn bộ site có thể được vận hành từ CDN.
  • Một vài API endpoint có thể cần thiết cho các tính năng động, nhưng điều này chẳng hạn có thể được xử lý bằng JavaScript.
  • Phần lớn dự án có thể chạy trong container trên một VPS giá 5 USD, và thậm chí có thể còn nhanh hơn.

Ý kiến của GN⁺

  • Bài viết này đưa ra góc nhìn phê phán về việc sử dụng hạ tầng quá mức trong phát triển ứng dụng web. Nó chỉ ra rằng nhiều ứng dụng web trên thực tế hoàn toàn có thể vận hành tốt với hạ tầng đơn giản, qua đó nhắc nhở các kỹ sư phần mềm mới vào nghề tránh đầu tư tài nguyên quá mức khi xây dựng hạ tầng và sử dụng tài nguyên đúng với nhu cầu thực tế.
  • Bài viết cũng nhấn mạnh tầm quan trọng của caching và CDN, đây là những yếu tố cốt lõi để cải thiện hiệu năng của ứng dụng web. Điều này cho thấy các nhà phát triển web nên cân nhắc chiến lược caching khi tối ưu hiệu năng.
  • Khi ứng dụng web có quy mô nhỏ hoặc không có nhiều traffic, việc cân nhắc một máy chủ đơn lẻ hoặc dịch vụ đám mây đơn giản có thể tiết kiệm chi phí hơn so với hệ thống phân tán phức tạp. Điều này განსაკუთრებით phù hợp với startup hoặc các dự án nhỏ.
  • Bài viết khuyến nghị các nhà phát triển web thận trọng trong việc lựa chọn công nghệ, và chọn hạ tầng phù hợp với nhu cầu thực tế của dự án. Điều này giúp theo đuổi cách phát triển đáp ứng nhu cầu thực chất thay vì bị cuốn theo xu hướng công nghệ.
  • Ở góc nhìn phản biện, bài viết này có thể không áp dụng cho các ứng dụng web hay dịch vụ lớn phải xử lý lưu lượng rất cao. Vì vậy, cần nhận thức rằng việc chọn hạ tầng phù hợp theo quy mô và yêu cầu của dự án là điều quan trọng.

1 bình luận

 
GN⁺ 2024-03-26
Ý kiến trên Hacker News
  • Một người dùng xác nhận rằng khi dự án của mình lên trang nhất Hacker News (HN), ngay cả một droplet Digital Ocean giá 5 USD cũng vẫn xử lý tốt lưu lượng truy cập. Người này cho rằng với đa số dự án, chỉ cần dùng phản hồi bất đồng bộ và scheduler/queue để phân tán tải theo thời gian là đủ. Đồng thời, họ cũng chỉ trích văn hóa DevOps mới đã khiến việc triển khai ứng dụng cloud trở nên phức tạp hơn, và chỉ ra rằng không cần mở rộng quá mức cho những phần mềm đơn giản.

  • Standard Ebooks phục vụ lượng page view và ebook đáng kể mỗi tháng, và dù đã 3~4 lần lên trang nhất HN, mọi thứ vẫn được xử lý bằng một VPS 4GB duy nhất. Họ nói rằng chỉ nâng cấp từ 2GB lên 4GB vì cần thêm RAM để tạo ebook 'Decline and Fall of the Roman Empire'; nếu không thì máy chủ 2GB cũng đã đủ. Họ cũng cung cấp liên kết đến một bài blog về việc này.

  • Một người dùng, cho biết ngoài lý do chọn k8s để học thì không có lý do nào khác để dùng k8s, đã phàn nàn rằng vì k8s mà ngay cả log máy chủ cũng không xem được. Họ cho rằng chỉ với gói 5 USD của Cloudflare là đã đủ xử lý.

  • Có ý kiến nhắc rằng sqlite.org xử lý hơn 500.000 yêu cầu HTTP mỗi ngày và phục vụ khoảng 200GB nội dung chỉ với gói Linode 40 USD/tháng. Nếu ứng dụng của bạn không xử lý nhiều yêu cầu hơn sqlite.org, thì không cần phải trả nhiều tiền hơn.

  • Một người dùng chia sẻ rằng họ đang chạy nhiều web app xử lý khoảng 10.000 yêu cầu mỗi ngày bằng Oracle Free Tier để vận hành backend miễn phí, đồng thời tích hợp frontend miễn phí thông qua Cloudflare tunneling và Pages.

  • Có người nói họ đang vận hành nhiều ứng dụng trên một máy chủ 5 euro duy nhất, bao gồm website cá nhân, hai máy chủ game nhiều người chơi, và frp để tunneling, đồng thời dự định sẽ thêm nhiều thứ nữa cho đến khi máy chủ chịu hết nổi. Họ cũng cho biết các ứng dụng khác cũng chạy tốt trên VM 5 euro.

  • Một người dùng chia sẻ trải nghiệm đã tốn thời gian gấp 4 lần để xử lý các file Terraform so với việc viết tính năng thực tế. Công ty đó được cho là nhận dưới 1.000 lượt truy cập mỗi ngày.

  • Một người dùng nhắc đến việc VPS 4 USD/tháng có thể xử lý hàng nghìn truy vấn mỗi giây, đồng thời cung cấp liên kết liên quan.

  • Có ý kiến chỉ ra rằng phần lớn web app có thể chạy trên một máy duy nhất, nhưng đa số khách hàng lại kỳ vọng uptime gần như 100%, và một máy đơn lẻ thì không đáp ứng được yêu cầu đó.

  • Một người dùng phản đối quan điểm áp dụng cho các web app cơ bản không cần hệ thống phức tạp, cho rằng ngay cả các công ty như FAANG cũng có dịch vụ nội bộ và dashboard chạy bằng một binary duy nhất, nhưng khi downtime đồng nghĩa với thiệt hại trực tiếp thì người ta sẽ nhận ra sự cần thiết của các hệ thống phức tạp hơn.