Published on

Chuyện DigitalOcean tăng giá

Authors

Tháng 6 vừa rồi Tuấn có một dự án rất nhỏ nhưng cần triển khai lên cụm Kubernetes. Lúc này Tuấn có hai sự lựa chọn là rất quen thuộc là DigitalOcean và Vultr. Có điều do đã không sử dụng hai dịch vụ này khá lâu nên Tuấn hoàn toàn không hề biết việc DigitalOcean sẽ bắt đầu tăng giá vào đầu tháng 7, mặc dù họ bắt đầu thông báo lịch tăng giá vào đầu giữa tháng 5 🔗.

Rất may dự án lúc này chưa go live mà chỉ mới ở giai đoạn thử nghiệm thử cụm Kubernetes mới để triển khai website và thử nghiệm trên đó nên Tuấn hoàn toàn có thể "quay xe" và lựa chọn lại Vultr nếu muốn. Tất nhiên thời gian thử nghiệm hãy còn khá nhiều và Tuấn có thể chạy song song ở cả hai nhà cung cấp để quyết định đâu là nơi chính thức được sử dụng. Trong một đến hai tuần dùng thử cả hai bên, mình có một vài nhận xét như sau:

Bài viết có thể sẽ hơi nhàm chán nếu bạn không sử dụng dịch vụ Kubernetes của Vultr và DigitalOcean. Vậy nên nếu các bạn đặt nhu cầu giá rẻ lên hàng đầu, hãy cứ chọn Vultr vì hiện tại mức giá của họ luôn luôn rẻ hơn so với DigitalOcean.

Nếu bạn không sử dụng Kubernetes

Hãy chọn Vultr, Linode hay bất cứ nhà cung cấp nào khác, chắc chắn giá của các nhà cung cấp sẽ rẻ hơn DigitalOcean. Đó là chưa kể ở những cấu hình rẻ nhất, ví dụ gói 6$/tháng thì ở Vultr bạn đã được một server hệ "High Frequency" tốc độ cao, ổ cứng NVME trong khi ở DigitalOcean, bạn phải trả 7$/tháng nhưng ổ cứng vẫn là SSD.

Cấu hình/NCCGiá của DigitalOceanGiá của VultrGiá của Linode
1 core - 1GB RAM6$5$5$
1 core - 2GB RAM12$10$10$
2 core - 4GB RAM24$20$20$

Bên trên là bảng so sánh mức giá các gói server basic giữa DigitalOcean, Vultr và Linode nếu bạn có nhu cầu chạy server ở các mức cấu hình khác nhau. Kể từ đoạn sau mình sẽ bỏ giá của Linode đi do giá sẽ y hệt như của Vultr thôi.

Như các bạn có thể thấy, không thể khuyên dùng DigitalOcean trong bất cứ trường hợp nào với mức chi phí chênh lệch tận 20% so với các nhà cung cấp khác.

Nếu bạn sử dụng Kubernetes sẽ là một câu chuyện khác...

Thoạt đầu, khi nhìn vào bảng "báo giá" trên, chi phí hàng tháng nếu chúng ta sử dụng Kubernetes (hoặc ít nhất là có nhiều server) trên DigitalOcean sẽ tăng theo cấp số nhân. Tuy nhiên, nếu dừng lại và tính toán khi sử dụng cụm Kubernetes, kết quả có thể sẽ có chút khác biệt, hoặc chí ít là cân bằng cho DigitalOcean chăng? Nào mở Google Sheet và tính toán một chút thôi :D

Đầu tiên, hãy tính chi phí hàng tháng cho một cụm Kubernetes đơn giản nhất có thể. Cụm này chỉ có 1 server duy nhất, chi phí không khác gì với chi phí hàng tháng khi sử dụng server thông thường. Vì vậy, mức chênh lệch giữa DigitalOcean và các dịch vụ khác là 20% như đã nêu trên.

Cấu hình/NCCGiá của DigitalOceanGiá của Vultr
1x 1 core - 2GB RAM12$10$

Tất nhiên, một cụm Kubernetes hoàn chỉnh không chỉ bao gồm một server, chúng ta thử thêm "ổ cứng" như mình giải thích ở trên vào nhé. Hãy tưởng tượng mình có một dự án, chỉ cần một ổ cứng cho MySQL container chạy và lưu trữ dữ liệu vào.

Cấu hình/NCCGiá của DigitalOceanGiá của Vultr
1x server 1 core - 2GB RAM$12.00$10.00
1x 1GB/10GB block storage$0.10$1.00
Total$12.10$11.00

Vì lí do Block storage (volume) của DigitalOcean có mức dung lượng nhỏ nhất chỉ 1GB, thay vì mức 10GB như Vultr. Lúc này chi phí hàng tháng của DigitalOcean chỉ còn chênh lệch 10% cao hơn so với Vultr.

Tất nhiên chúng ta còn thiếu một thành phần khá quan trọng, cũng đóng góp một phần chi phí khá lớn vào một cụm Kubernetes. Nào, cùng thử thêm một Load balancer vào và tăng số lượng dự án cần ổ cứng để chạy MySQL container lên 3 nhé.

Cấu hình/NCCGiá của DigitalOceanGiá của Vultr
1x server 1 core - 2GB RAM$12.00$10.00
3x 1GB/10GB block storage$0.30$3.00
Load balancer$12.00$10.00
Total$24.30$23.00

Lúc này, mặc dù chi phí load balancer của DigitalOcean cũng đã tăng 20% so với trước kia, chi phí hàng tháng chênh lệch giữa DigitalOcean và Vultr chỉ còn đâu đó vào khoảng 5,6% nhờ vào Block storage có chi phí rẻ.

Cấu hình/NCCGiá của DigitalOceanGiá của Vultr
3x server 1 core - 2GB RAM$36.00$30.00
9x 1GB/10GB block storage$0.90$9.00
Load balancer$12.00$10.00
Total$48.90$49.00

Trong một số trường hợp, ví dụ mình tăng số lượng server lên 3, và có 9 dự án cần persistent storage, chi phí sử dụng của DigitalOcean thậm chí còn rẻ hơn cả Vultr. Tất nhiên, phần chi phí rẻ hơn đến từ chi phí Block storage cực kì rẻ của DigitalOcean.

Cấu hình/NCCGiá của DigitalOceanGiá của Vultr
3x server 2 core - 4GB RAM$72.00$60.00
15x 1GB/10GB block storage$1.50$15.00
Load balancer$12.00$10.00
Total$85.50$85.00

Nếu tăng server sizing lên lớn hơn, chi phí hàng tháng cũng chênh lệch rất nhỏ so với Vultr và các dịch vụ khác.

Đến sự hỗ trợ từ Vultr

Khi sử dụng DigitalOcean, mình không tìm thấy được phần cấu hình firewall khi tạo cụm Kubernetes. Tuy nhiên khi truy cập vào mục Networks > Firewall, bạn sẽ thấy 2 cấu hình firewall bao gồm Public và Private.

Ở firewall Public mình có thể quyết định block kết nối SSH, HTTPS đến các server vì thật sự không cần, tất cả kết nối đều đã đi qua Load balancer. Khi update firewall thì những thay đổi này nhanh chóng được áp dụng lên toàn bộ các node nằm trong cụm, rất tiện.

Với Vultr thì mình không tìm thấy tùy chọn này kể cả lúc tạo cụm hoặc trong phần Firewall nên mình quyết định tạo một ticket nhờ họ hỗ trợ và kết quả là...

true

Vultr không đưa ra bất kì hướng dẫn có ích nào ngoài việc gửi docs API, mà thậm chí là trang tổng quan, chưa phải là docs về API hay xử lý các vấn đề liên quan đến firewall thông qua API.

Tổng kết

Đây là cách tính toán chi phí rất "cherry pick" theo cách sử dụng của mình và, không hoàn toàn phản ánh hay xác nhận chi phí sử dụng Kubernetes ở DigitalOcean không cao hơn những chỗ khác. Vì rõ ràng, chi phí sử dụng có thể đã rẻ hơn Vultr nếu DigitalOcean không tăng giá.

Để biết chính xác chi phí mà bạn cần phải trả cho cụm Kubernetes, hãy tạo một bản Excel đơn giản và liệt kê số lượng node, số lượng ổ cứng (và chi tiết hơn nữa là size của các ổ cứng), có cần load balancer không. Như thế chúng ta mới biết được dịch vụ nào có chi phí hợp lý hơn để sử dụng.

Nếu có thời gian, bạn cũng nên tạo thử hai cụm Kubernetes ở cả hai nhà cung cấp và sử dụng thử để biết bên nào phù hợp với nhu cầu của bạn hơn.

Đối với Tuấn, việc liệt kê chi phí cho thấy mức giá khá "tương đồng", ngoài ra, việc DigitalOcean hỗ trợ firewall mặc định, block storage 1GB là điểm cộng cực kì lớn so với Vultr.