- Báo cáo tổng hợp các câu trả lời tiếp theo cho nhiều câu hỏi từ cộng đồng sau khi chia sẻ kinh nghiệm chuyển từ AWS sang bare metal và tiết kiệm 230.000 USD mỗi năm cách đây 2 năm. Nhóm cũng công bố dữ liệu vận hành thực tế trong 2 năm và cho biết đã đạt mức tiết kiệm hơn 1,2 triệu USD mỗi năm
- Qua vận hành thực tế, số tiền tiết kiệm đã tăng lên hơn 1,2 triệu USD mỗi năm, và khoản này được tái đầu tư vào máy chủ phục vụ tóm tắt sự cố bằng AI và tự động sửa mã, qua đó nâng cao chất lượng dịch vụ
- Dựa trên stack MicroK8s + Ceph, hệ thống duy trì 99,993% khả dụng, đồng thời cấu hình hai datacenter để loại bỏ điểm lỗi đơn
- Các vấn đề chính như chi phí vận hành thực tế, ứng phó sự cố, tuổi thọ phần cứng, chứng nhận bảo mật, dịch vụ thay thế đám mây được giải thích bằng các số liệu cụ thể
- Kết quả là cả độ ổn định lẫn hiệu quả chi phí đều được cải thiện, và bài viết đi đến kết luận rằng với các hệ thống có tải thường trực ở một quy mô nhất định thì bare metal hợp lý hơn
Tóm tắt kết quả vận hành trong 2 năm
- Trong 24 tháng, họ vận hành stack MicroK8s + Ceph trong môi trường production và đạt 99,993% khả dụng
- Để xử lý vấn đề một rack duy nhất, họ bổ sung rack thứ hai tại Frankfurt và thiết lập kết nối kép DWDM với rack chính ở Paris
- Nhờ NVMe cục bộ và loại bỏ nhiễu do độ ồn, độ trễ phía khách hàng giảm 19%
- Chi phí tiết kiệm được được tái đầu tư vào việc mua máy chủ AI bare metal, giúp mở rộng tính năng tóm tắt cảnh báo và tự động sửa mã dựa trên LLM của OneUptime
Hiệu quả tiết kiệm và so sánh chi phí
- Mức tiết kiệm ban đầu được dự đoán là 230.000 USD/năm, nhưng nay đã tăng lên hơn 1,2 triệu USD
- Tương đương tiết kiệm khoảng 76% so với AWS
- Theo mặt bằng chi phí nhân sự toàn cầu, con số này tương đương mức lương năm của 2 đến 5 kỹ sư
- Ngay cả khi áp dụng Savings Plans / Reserved Instances, bare metal vẫn có lợi hơn
- Savings Plans không áp dụng cho chi phí S3, egress, Direct Connect
- Các chi phí như control plane EKS 1.260 USD/tháng hay NAT gateway 600 USD/tháng cũng không thể cắt giảm
- Với workload steady chạy 24/7, hiệu quả của reserved instance bị hạn chế
Chi phí migration và vận hành
- Migration ban đầu hoàn tất với khoảng 1 tuần công việc kỹ thuật
- Phần lớn là các việc vốn đã cần làm từ trước như chỉnh lại IaC, tăng cường chính sách backup
- Chi phí vận hành hiện tại như sau:
- Tự quản lý: khoảng 24 giờ mỗi quý (bao gồm vá lỗi và cập nhật firmware)
- Remote Hands: trong 24 tháng chỉ cần can thiệp 2 lần (chủ yếu do lỗi ổ đĩa), thời gian phản hồi trung bình 27 phút
- Tự động hóa: PXE boot (Tinkerbell), quản lý image Talos, tự động hóa cấu hình bằng Flux/Terraform
- So với thời còn ở AWS, đội ngũ vận hành hiện thậm chí còn tăng tốc độ phát hành, đồng thời loại bỏ gánh nặng của các cuộc họp “tối ưu chi phí”
Chuẩn bị cho sự cố và đảm bảo khả dụng
- Việc bổ sung rack thứ hai tại Frankfurt và kết nối kép DWDM đã loại bỏ điểm lỗi đơn
- Cấu hình Ceph mirroring dựa trên replication bất đồng bộ cùng với control plane kép
- Bổ sung đường quản trị dựa trên 4G/vệ tinh để vẫn có thể truy cập từ xa khi sự cố mạng xảy ra
- Đang chuyển từ MicroK8s → Talos
- Vẫn duy trì cluster backup failover trên AWS và thực hiện diễn tập khôi phục thảm họa hàng quý
- Nhờ Ingress dựa trên Anycast + BGP, độ trễ khi chuyển DNS cũng được cải thiện xuống dưới 1 phút
- Duy trì 99,993% khả dụng trong 2 năm và không bị ảnh hưởng bởi các sự cố region AWS gần đây
Quản lý phần cứng và CapEx
- Máy chủ được vận hành theo chuẩn khấu hao 5 năm (2×EPYC 9654, 1TB RAM, cấu hình NVMe)
- Khi hiệu năng bão hòa, máy sẽ được chuyển sang cụm phân tích rồi thay bằng máy chủ mới
- Nhờ khoản tiết kiệm này, họ có thể refresh 40% hạ tầng mỗi 2 năm mà vẫn tiếp tục tiết kiệm chi phí hàng năm so với AWS
- Gia hạn bảo hành Supermicro và giữ sẵn 3 máy chủ dự phòng
- Tuổi thọ thực tế là 7–8 năm, nhưng họ tính toán thận trọng theo mốc 5 năm
Lý do thay thế managed service
- Triết lý sản phẩm của OneUptime là có thể self-host, nên cần duy trì cùng một stack
- Giữ tính nhất quán của open stack như Kubernetes, Postgres, Redis, ClickHouse
- Kiến trúc đã phát triển từ Terraform + EKS + RDS → MicroK8s + Argo Rollouts + Ceph
- Sử dụng open source thuần túy, không duy trì fork riêng
- Họ vẫn tiếp tục dùng đám mây song song: AWS Glacier (backup), CloudFront (edge caching), instance tạm thời cho kiểm thử tải
- Đám mây phù hợp với tính đàn hồi, còn bare metal phù hợp với tải nền tảng cơ bản
Mạng và bảo mật
- Có 2 đường truyền 5Gbps (95th percentile), rẻ hơn 8 lần so với egress của AWS
- Phòng vệ DDoS được xử lý bằng cách đặt Cloudflare ở phía trước toàn bộ hệ thống
- Có mạng quản trị độc lập dựa trên 4G/vệ tinh để có thể truy cập từ xa khi xảy ra sự cố
Tuân thủ và ứng phó kiểm toán
- Duy trì chứng nhận SOC 2 Type II, ISO 27001
- Tận dụng tài liệu chứng nhận Tier III, log ra vào, CCTV của trung tâm colocation
- Sử dụng log cấu hình Terraform/Talos làm bằng chứng lịch sử thay đổi
- Kiểm toán viên đánh giá họ tin tưởng các tài liệu này hơn cả ảnh chụp màn hình console AWS
So sánh các lựa chọn thay thế đám mây
- So sánh Hetzner, OVH, Leaseweb, Equinix Metal, AWS Outposts
- Các hyperscaler vẫn có chi phí egress cao
- Các nhà cung cấp tại châu Âu khó đáp ứng yêu cầu về cluster Ceph quy mô lớn và SLA
- Equinix Metal có mức premium 25–30% so với CapEx
- Vận hành phần cứng tự sở hữu có lợi thế hơn về mật độ điện năng và mức độ tự do nâng cấp
- Kết quả là nhờ cấu hình rack 15kW và khả năng tái sử dụng linh kiện, colocation vượt trội cả về chi phí lẫn hiệu năng
Đo gánh nặng vận hành (TOIL)
- Hàng tuần: vá kernel/firmware và kiểm tra Ceph (1 giờ)
- Hàng tháng: nâng cấp canary cho Kubernetes control plane (2 giờ)
- Hàng quý: diễn tập DR, lập kế hoạch dung lượng, rà soát hợp đồng nhà mạng (12 giờ)
- Tổng cộng khoảng 14 giờ mỗi tháng, tương đương thời ở AWS, nhưng trọng tâm đã chuyển từ “theo dõi chi phí” sang “tự động hóa vận hành”
Những trường hợp đám mây vẫn phù hợp
- Khi workload có kiểu tăng vọt hoặc mang tính mùa vụ
- Khi phụ thuộc nhiều vào managed service như Aurora Serverless, Kinesis, Step Functions
- Khi không có đủ năng lực để tự vận hành Kubernetes, Ceph, monitoring, ứng phó sự cố
- Nói cách khác, với doanh nghiệp ở giai đoạn đầu hoặc có tải biến động lớn, đám mây vẫn có ưu thế
Kế hoạch sắp tới
- Dự kiến công bố module Terraform và runbook để dự báo ngân sách colo
- Cũng đang chuẩn bị một bài viết kỹ thuật chuyên sâu về kinh nghiệm vận hành với Talos
- Sẽ tiếp tục phản hồi feedback trên HN·Reddit và chia sẻ các trường hợp thực tế dựa trên số liệu cụ thể
3 bình luận
Đã 2 năm kể từ khi chuyển từ AWS sang bare metal: Trả lời các câu hỏi về việc rời AWS
Tôi đang làm ở một công ty rất nhiệt tình dùng AWS dù hoàn toàn không sử dụng bất kỳ dịch vụ nào chỉ có AWS mới cung cấp.
Một câu chuyện vừa buồn cười vừa chua chát khi tôi thấy quyết định này bị chi phối rất nhiều bởi tham vọng rất cá nhân là phát triển sự nghiệp của một vài lãnh đạo..
Ý kiến trên Hacker News
AWS quá đắt. Thực ra hiếm khi có lý do để đặt toàn bộ hệ thống lên AWS. Trước đây ai cũng biết tự vận hành máy chủ bare metal, nhưng giờ có vẻ đã quên mất điều đó. Đội của chúng tôi đã duy trì 99,993% khả dụng trong hơn 730 ngày và cũng tránh được đợt sự cố khu vực AWS gần đây. Dù có dùng Cloudflare để chống DDoS, tôi vẫn hiểu vì sao quản lý DNS hay ingress có thể trở thành công việc toàn thời gian. Nhưng với vài microservice và một cơ sở dữ liệu thì tự vận hành vẫn là quá đủ. AWS đang tính phí quá mức với đa số công ty
Cloud thời kỳ đầu bắt đầu như một dịch vụ đơn giản và đáng tiền, nhưng giờ đã rối tung với hơn 200 dịch vụ phức tạp. Không quản lý kỹ thì hóa đơn sẽ bùng nổ
Chức năng thực sự của AWS là (1) cho phép mở rộng tổ chức và cấu trúc quyền lực, (2) giúp hạch toán dưới dạng OpEx thay vì CapEx, (3) che giấu các cấu trúc nhân sự kém hiệu quả. Trước đây có thể vận hành trung tâm dữ liệu với 5–10 người, còn giờ lại sinh ra các tổ chức DevOps 3.000 người
Cốt lõi của thành công này là mức tải ổn định 24/7. Thực ra phần lớn công ty cũng có mô hình tương tự
Điểm mấu chốt là tính đàn hồi so với tải nền. Chỉ khi lưu lượng tăng bùng nổ, như trong các hệ thống thu thập dữ liệu, thì cloud mới có lợi. Còn trong đa số trường hợp thì bare metal tốt hơn
Trong thập niên 2010, phần cứng và mạng còn chậm, nhưng giờ hiệu năng và hiệu suất CPU đã tăng lên hàng trăm lần. Trước đây cần 64 máy chủ thì giờ 1 máy là đủ. Sau này tỷ lệ đó có thể lên tới 100:1. Trong bối cảnh này, lợi thế của cloud ngày càng giảm
Với tư cách là nhân viên Amazon, tôi thấy việc tự quản Kubernetes quá rủi ro. Những thành phần như etcd không ổn định và chúng tôi còn phải tự vá lỗi. Việc self-hosting được nói tới trong bài đã đánh giá thấp rủi ro
Nhiều startup có lẽ đã không thể tồn tại chỉ vì hóa đơn AWS quá đắt. Ví dụ như tải GeoIP miễn phí (liên kết) có lẽ đã không thể làm được. Cloud chậm, và độ trễ đĩa cùng tình trạng CPU bị nhồi quá mức rất nghiêm trọng. Dưới 10.000 USD/tháng thì còn chấp nhận được, nhưng vượt mức đó thì bare metal hiệu quả hơn nhiều
Công ty tôi từng làm cũng có ít lưu lượng, nhưng vẫn định chuyển sang AWS. Lý do rất đơn giản — họ muốn thêm AWS vào CV. Không chỉ lập trình viên mà cả quản lý cũng vậy. “AWS migration lead” trông đẹp trên hồ sơ sự nghiệp. Cuối cùng công ty bị bán đi và văn phòng trống trơn. Có khi sau này “thoát khỏi AWS” lại trở thành một điểm cộng nghề nghiệp mới
Cuối cùng điều quan trọng là bạn đang muốn làm gì