Khi bạn đã quá mệt mỏi với công việc triển khai, quản lý các ứng dụng, hệ thống từ đơn giản đến phức tạp và phải làm nhiều việc như: Setup Environment, Quản lý tài nguyên, Cập nhật version, Backup dữ liệu, Domain, Cấu hình SSL, … Bài viết này chia sẻ với bạn cách thực hiện tất cả công việc trên chỉ với vài thao tác click chuột trên với Sun Spinner.
Dành cho những bạn chưa biết, Sun Spinner là nền tảng triển khai ứng dụng lên container với khả năng mở rộng linh hoạt không giới hạn.
Tìm hiểu thêm về Sun Spinnner tại đây.
Với Sun Spinner, bạn có thể triển khai hầu hết các ngôn ngữ và framework hiện nay một cách nhanh chóng và tiết kiệm chi phí đáng kể so với VPS thông thường.
Bài viết sẽ ví dụ qua chính những công việc quen thuộc của một developer:
- Build image từ dockerfile sau đó push image lên Docker hub.
- Triển khai image lên nền tảng Sun Spinner.
- Internet publish với SSL (sử dụng domain Sunteco Cloud cung cấp).
- Chỉnh sửa nội dung project và publish lên version mới.
- Rollback về version cũ.
Để đỡ mất thời gian thì các bạn có thể lấy source code hoặc sử dụng luôn image.
1. Chuẩn bị
- Tài khoản Sunteco Cloud tại trang https://dashboard.sunteco.vn/register
- Source code hoặc image (bên trên).
- Kinh nghiệm Docker và tài khoản docker hub, nếu chưa biết chúng dùng để làm gì thì bạn yên tâm vì bài viết này có hướng dẫn chi tiết.
2. Tạo Docker image & push docker hub
(Nếu sử dụng Image bên trên, bạn có thể bỏ qua bước này)
Mình sẽ dạo nhanh qua các bước chính để tạo được 1 image trên Docker hub, để hiểu rõ hơn về quy trình build & push lên Docker hub, bạn có thể đọc bài viết mình đã chia sẻ trước đây: Deploy Reactjs Với Docker và Nginx lên Ubuntu Server.
Trước tiên, cần tạo 1 repository trên Docker hub tên là: “sun-spinner-example”
Sau đó mở cmd tại root project và chạy lần lượt các câu lệnh:
* docker build -t sun-spinner-example:0.0.1 . * docker run -d -p 80:80 --name sun-spinner-container sun-spinner-example:0.0.1 * docker tag sun-spinner-example:0.0.1 manhlh231/sun-spinner-example:0.0.1 * docker login * docker push manhlh231/sun-spinner-example:0.0.1
Sau khi chạy xong chúng ta sẽ thấy image tag 0.0.1 trên Docker hub. https://hub.docker.com/r/manhlh231/sun-spinner-example
3. Tạo ứng dụng Sun Spinner
3.1. Tạo Workspace
Sau khi đăng nhập vào hệ thống Sunteco Cloud, tạo mới 1 Workspace tên “spinner-example“:
Tạo Workspace thành công:
3.2. Tạo service
Bước tiếp là tạo service (ảnh gif bên dưới):
NEW SERVICE > SUN SPINNER CONTAINER > STATELESS APPLICATION > SUN CLOUD
3.3. Cấu hình image
Cấu hình Image (ảnh gif bên dưới):
Một số config cần quan tâm:
General
- SECURITY CONTEXT CONSTRAINTS : Mình sẽ tích chọn ROOT (nếu image cần quyền ROOT).
- SPINNER ROLLBACK: Auto backup, mặc định sẽ là enable
Image Config
- Select Image: Mình sẽ sử dụng image sun-spinner-example và chọn version 0.0.1.
- Image update policy: Tự động Update version mới dưạ trên version của Image Dockerhub.
Hardware config
Ở bước này có thể chọn cấu hình CPU 1GB – RAM 1GB. Bạn thắc mắc liệu cấu hình này có quá yếu?
Với tính năng Auto Scale, hệ thống sẽ tự động scale up/down cấu hình cho phù hợp với nhu cầu sử dụng, do vậy, ứng dụng sẽ không giao giờ rơi vào tình trạng lag, chậm nhưng vẫn đảm bảo tối ưu tài nguyên.
4. Tính năng Internet publish
Sau khi tạo xong, ACCESS vào ứng dụng.
Chỉ với vài thao tác đơn giản, mình đã publish được ứng dụng ra ngoài internet được tích hợp sẵn SSL (ảnh gif bên dưới):
https://home-88.sunteco.cloud/
Ngoài ra bạn hoàn toàn có thể trỏ về domain riêng bằng vài bước khá đơn giản như sau:
5. Chỉnh sửa nội dung project và publish lên version mới
Sửa lại một phần nội dung trong project và build lại dockerfile và push lên Docker hub với tag 0.2
"Sun Spinner - version 0.0.1" => "Sun Spinner - version 0.0.2"
Sau đó mình sẽ cập nhật nội dung mới này lên website với vài thao tác (ảnh gif bên dưới):
Sau khi update, F5 lại https://home-88.sunteco.cloud/ bạn sẽ thấy nội dung vừa thay đổi đã được publish.
6. Rollback về version cũ
Trong trường hợp ở bước 5 bạn “lỡ tay” update một bug nào đó ra internet và cần phải quay về version trước đó.
Tính năng Rollback là điều bạn cần:
7. Ưu điểm của Sun Spinner
- Đáp ứng lượng truy cập có thể cao hơn hàng chục lần máy chủ VPS, tạo trải nghiệm người dùng tốt đối với ứng dụng Không bị giới hạn tài nguyên như máy chủ VPS.
- Tiết kiệm tới 60% tài nguyên và chi phí hơn máy chủ VPS khi hoạt động ở chế độ tải thấp.
- Là giải pháp serverless hoàn toàn, không cần phải quản lý từ phần master node cho đến các worker node. Không còn các gánh nặng kỹ thuật trong việc làm chủ hạ tầng cho Container.
- Có khả năng phục hồi toàn diện một ứng dụng, bao gồm chương trình chạy, dữ liệu, cấu hình về bất cứ thời điểm nào trong lịch sử vận hành.
- Triển khai, xuất bản ứng dụng với bảo vệ SSL có sẵn chỉ trong vài giây.
Để trải nghiệm nền nảng Sun Spinner, truy cập https://dashboard.sunteco.vn/. hoặc https://sunteco.vn/sun-spinner/ để tham khảo thêm.