Sun Container Spinner#

Overview#

Sun Container Spinner là dịch vụ Container Orchestration, tập trung vào quản lý và phân phối container với khả năng mở rộng linh hoạt và độ ổn định, được xây dựng dựa trên các Workflow và Concept quen thuộc của Container Orchestration tương tự K8S.

Khảo sát của Digital Ocean T6/2022

Các hệ thống sử dụng Containers và Container Orchestration vẫn đang tiếp tục gia tăng sự phổ biến. Sun Container Spinner ra đời với mục tiêu đơn giản hóa quá trình cài đặt nền tảng và triển khai ứng dụng theo hướng container hóa, hỗ trợ trực tiếp cho kiến trúc microservices.

Lợi ích của Container#

Resilience(Khả năng chịu lỗi và phục hồi)

Nhờ việc có thể có nhiều Instance xử lý song song nên khi có một instance gặp lỗi, request có thể chuyển đến các instance khác mà không gặp vấn đề downtime

Portalble(Tính đóng gói và di động)

Nhờ chạy trên Container Engine mà container có thể triển khai trên nhiều hệ điều hành khác nhau. Toàn bộ code và các dependency đã được đóng gói cùng với hệ điều hành, dẫn đến việc loaị bỏ các sai sót hoặc sai lệch về môi trường so với triển khai ứng dụng thủ công từ source code lên máy chủ chuyên dụng (dedicated server hoặc VM).

Scalability(Thay đổi quy mô ứng dụng)

Container đã loại bỏ phần dư thừa của hệ điều hành, nhờ đó trở nên nhẹ hơn và linh hoạt trong việc thay đổi quy mô, chưa kể đến tiết kiệm tài nguyên dành cho hệ điều hành. Container có thể thay đổi cả về quy mô của Runtime Instance hiện tại(tăng tài nguyên CPU/RAM sử dụng) hoặc tăng thêm số lượng các Instance xử lý(Nhiều Instance xử lý song song). Sun Container Spinner có thể tăng số lượng xử lý song song lên tới hàng trăm Instance.

Flexibility(Tính linh hoạt)

Tính linh hoạt được thể hiện trong suốt vòng đời của ứng dụng. Với mỗi ứng dụng/ dịch vụ được đóng gói trong một container, quá trình phát triển được rút ngắn bằng việc dep/test độc lập giữa các ứng dụng, sau đó mới tích hợp lại với nhau. Quá trình triển khai cũng trở nên đơn giản hơn khi hầu hết các dependency của ứng dụng đã được đóng gói bên trong container, nếu xét trên hệ thống lớn thì các biến môi trường của cả hệ thống cũng được quản lý tập trung và dễ dàng chỉnh sửa.

Đối tượng phục vụ#

Từ nghiên cứu thị trường trên có thể thấy Container, Contaner Orchestration, Microservice không còn xa lạ với số đông người dùng, nhưng cũng chưa đến mức hoàn toàn phổ biến. Những rào cản có thể kể đến như:

  • Duy trì các hệ thống cũ vẫn đang triển khai trên mô hình monolith và gặp khó khăn trong chuyển đổi.

  • Tuy container có nhiều lợi ích nhưng để triển khai cần kiến thức chuyên sâu về các Container Engine, CICD và kinh nghiệm xây dựng hệ thống phân tán.

  • Hạ tầng cần thiết cho cài đặt các Container Engine: Hạ tầng để triển khai các Container Engine cần cài đặt thêm các Công cụ khác để quản trị hoàn toàn hệ thống(Network, Storage). Các công cụ này có thể chiếm khá nhiều tài nguyên nếu đáp ứng các nhu cầu nâng cao

Sun Container Spinner góp phần đơn giản hóa quá trình cài đặt và vận hành Container. Sun Container Spinner hỗ trợ cả người dùng mới bắt đầu làm quen với Container và người dùng đã có kinh nghiệm với quản trị hệ thống hoặc các nhu cầu nâng cao của hạ tầng. Sunteco Cloud không chỉ cung cấp sản phẩm, chúng tôi sẵn sàng hỗ trợ giải pháp để khách hàng đạt được kết quả tốt nhất.

So sánh với một số nền tảng#

So sánh Sun Container Spinner với một số công nghệ tương tự

Chi phí#

Cost efficient(Chi phí hiệu quả) là một trong những tiêu chí mà Sunteco Cloud hướng đến cho mỗi sản phẩm, dịch vụ. Trên thực tế một số ứng dụng thường có lượng tải cao hơn các ứng dụng khác và tập trung vào một số thời điểm. Đặc điểm này của ứng dụng hòan toàn khớp với khả năng thay đổi quy mô ứng dụng của Container nói chung và Sun Container Spinner nói riêng. Người dùng có thể chủ động thay đổi cấu hình hoặc cài đặt các kịch bản thay đổi cấu hình tự động phù hợp với nhu cầu sử dụng của ứng dụng. Sun Container Spinner tính toán chi phí sử dụng chính xác tới từng block 5 phút giúp tối ưu hóa Price/ Performance cho hệ thống của khách hàng. Sau mỗi giờ, lượng tiêu thụ được tính trung bình dựa trên các block sử dụng thực tế.

Ví dụ với một trường hợp ứng dụng thương mại điện tử.

  • Container của ứng dụng đó chạy trên Sun Container Spinner cấu hình của 1 instance là 2CPU/4GB RAM.

  • Đơn giá CPU là 100 VND/h, Đơn giá RAM là 200 VND/h.

  • Ứng dụng chỉ chạy trên 1 instance

Nếu ứng dụng chạy 1 instance trong suốt 1 giờ sử dụng và không có thay đổi về cấu hình CPU/RAM sẽ tiêu thụ 2 * 100 + 4 * 200 = 1000 VND

Nếu ứng dụng chạy 1 instance , Giả sử hệ thống có tải cao đột biến vào đầu của khung giờ này do có chương trình săn sale, ví dụ trong 15 phút đầu tiên, người dùng chủ động tăng cấu hình lên 4CPU/8GB Ram để đáp ứng được truy cập của người dùng (Tăng trước khi bắt đầu ). Sau đó lại hạ cấu hình về 2CPU/4GB RAM cho 45 phút còn lại . Cách tính chi phí qua block 5 phút như sau:

(3*4 + 9*2)/12 =  2.5 CPU/h (3 block đầu chạy trên 4 CPU, 9 block sau chạy trên 2 CPU)

(3*8 + 9*3)/12 = 4.25GB RAM/h (3 block đầu chạy trên 8GB RAM, 9 block sau chạy trên 4GB RAM)

Total 2.5*100 + 4.25*200 = 1100 VND

Từ ví dụ trên có thể thấy Sun Container Spinner đã tối ưu chi phí, người dùng chỉ phải trả tiền trên lượng sử dụng thực tế (Pay as you go). Tiết kiệm tài nguyên mà vẫn đáp ứng được nhu cầu mở rộng cầu hình tài nguyên khi cần thiết.