Có ai từng đổi nhà cung cấp cloud đang dùng chưa?
(news.ycombinator.com)Câu hỏi và các câu trả lời trên HN hỏi về lý do và trải nghiệm khi chuyển giữa các nền tảng cloud như AWS, Azure, Google
- Tôi đã thực hiện migration môi trường của khách hàng từ AWS → Google, rồi từ Google → Hetzner mà không downtime
- Lý do chính là giá cả. Sau khi dùng hết free credit của AWS/Google thì chuyển sang Hetzner
- Số tiền tiết kiệm được nhờ dùng credit lớn gấp 20 lần chi phí migration
- Cách migration là dùng reverse proxy ở mỗi môi trường để kết nối với backend, sau đó thiết lập VPN giữa các dịch vụ rồi đổi DNS
- Phần khó nhất là failover cơ sở dữ liệu, và làm sao để sau khi chuyển master thì các bản cập nhật được retry
- Nhờ vậy khách hàng có được cấu hình không phụ thuộc vào nhà cung cấp cloud, đồng thời tận dụng tốt số free credit mình có
- Chi tiết kỹ thuật
- reverse proxy như haproxy, nginx + Hashicorp Consul + ngx_mruby
- Cấu hình VPN giữa các cloud để reverse proxy có thể truy cập backend ở cả hai phía
- Replicate cơ sở dữ liệu sang cloud mới
- Cho phép ứng dụng chọn cơ sở dữ liệu nào sẽ được dùng làm master (Consul)
- Đảm bảo ứng dụng xử lý lỗi cơ sở dữ liệu một cách graceful. Đây là phần khó nhất
- Đặt DNS TTL thấp
- Kết nối backend mới vào reverse proxy và kiểm tra xem có lỗi không
- Cập nhật DNS để thêm reverse proxy mới vào môi trường
- Promote bản sao trên cloud mới thành master
- Giảm dần các connection vào backend cũ
- Cuối cùng loại reverse proxy cũ khỏi DNS
- Sau khi kiểm tra mọi thứ thì gỡ môi trường cũ và khôi phục DNS TTL
- GitLab đã chuyển từ AWS sang Azure rồi lại sang Google Cloud (vài năm trước)
- Ban đầu cũng như nhiều nơi khác, họ khởi đầu với AWS, nhưng tốn cực nhiều tiền
- Có chương trình cấp Azure credit cho thành viên YC, tính ra tương đương khoảng 1 năm chi phí sử dụng nên họ chuyển sang
- Nhưng việc chuyển đổi rất đau đớn, và trong thời gian dùng Azure thì không ai hài lòng. Thêm nữa, free credit cũng cạn khá nhanh.
- Không nhớ chính xác vì sao lại chuyển sang GCP, nhưng đó là một quá trình rất khó và mất khá lâu
- Trải nghiệm với GCP tốt hơn nhiều, nhưng không thể nói là hoàn hảo
- Đặc biệt, GCP có xu hướng tắt VM ngẫu nhiên mà không có lý do rõ ràng
- Có lúc VM được tắt sạch sẽ, nhưng có lúc lại rơi vào trạng thái lưng chừng khiến các hệ thống khác vẫn cố kết nối, và thay vì lỗi ngay thì bị timeout kết nối
- Theo như nhớ thì theo thời gian có cải thiện, nhưng vẫn rất “kiểu Google”: “Có gì đó hỏng rồi, nhưng chúng tôi không thể cho bạn biết vì sao.”
- Nhìn lại, nếu lập công ty lại lần nữa thì có lẽ họ sẽ gắn bó với Hetzner hoặc một nhà cung cấp bare metal giá rẻ khác
- Nếu tận dụng cloud service ở mức tối đa thì nó rất tuyệt, nhưng trong 90% trường hợp có lẽ chỉ đang dùng mà không có lợi ích rõ rệt, trong khi phải trả rất nhiều tiền
- Google Cloud → Digital Ocean → OVH
- Vận hành hệ thống của chính mình trên server hiệu năng cao dễ hơn và ít vấn đề hơn tưởng tượng
- Deploy bằng
git push, build container thì ở mức “set it and forget it” - Vì có dữ liệu PostgreSQL cỡ terabyte nên ở hầu hết cloud chi phí cực kỳ đắt đỏ
- Có vẻ một số người nghĩ cloud giống như bánh mì đã được cắt sẵn để ăn cho tiện, nhưng nó không thực sự giúp giảm thời gian của developer
- Cloud đắt hơn và chậm hơn nhiều so với tự vận hành server; với workload cỡ trung bình thì dùng cloud không có lợi thế gì
Chỉ chọn lọc 3 câu trả lời được upvote nhiều nhất. Trong các câu trả lời trên còn có nhiều bình luận với câu hỏi, ý kiến và phản biện đa dạng, nên hãy xem thêm cùng với chúng.
5 bình luận
Có vẻ ITWorld đã đăng một bài viết chỉ đích danh thread này để chỉ trích rằng đến giờ sự thiếu hiểu biết về cloud vẫn còn rất phổ biến.
'Bị mê hoặc bởi tín dụng' rồi di chuyển lên cloud… "Ảo tưởng lớn nhất"
Cần lưu ý khi đọc rằng Matt Asay, người viết bài trên ITWorld, cho đến cách đây không lâu vẫn là Trưởng bộ phận marketing dành cho nhà phát triển của AWS.
https://www.linkedin.com/in/mjasay/details/experience/
Ồ, cảm ơn bạn vì thông tin hữu ích.
Cloud không phải là vạn năng. Câu cuối của câu trả lời thứ 3 thì hơi khó hiểu nhỉ, có lẽ còn tùy vào cách tận dụng chăng..
Đó là câu hỏi về việc chuyển đổi giữa các dịch vụ đám mây, nhưng khá nhiều người lại đang khuyên dùng các dịch vụ hosting như Hetzner hơn là cloud.
Có lẽ chi phí là lý do lớn nhất, nhưng tôi vẫn nghĩ việc sử dụng cloud tốt thì cũng có khá nhiều lợi điểm riêng.
Thực tế là nếu một công ty nhỏ nói rằng chúng tôi không dùng cloud mà dùng hosting thôi!, thì việc tuyển lập trình viên cũng sẽ khó hơn. (Tất nhiên nếu tự phát triển thì không vấn đề gì)
Tôi hoàn toàn đồng ý với ý kiến ở giữa rằng Google Cloud từng có xu hướng tắt VM ngẫu nhiên mà không có lý do rõ ràng.
Đó cũng là lý do vài năm trước tôi đã chuyển một máy chủ nhỏ đang chạy trên Google sang AWS LightSail.
Thỉnh thoảng lại xảy ra tình huống máy chủ tự dưng chết ngắc hoặc không thể truy cập mà chẳng rõ nguyên nhân. Có thể bây giờ đã khá hơn rồi... nhưng đó không phải là một trải nghiệm tốt.