+13

Nền tảng mới giúp triển khai ứng dụng nhanh chóng từ A đến Z (Ví dụ với Reactjs project)

Lời cảm ơn

Các bạn sẽ thắc mắc tại sao lời cảm ơn lại nằm ngay trên đầu bài đúng không ? 😘
Mình cảm ơn vì các bạn đã vào đây, đọc 1 bài viết với tiêu đề không quá rõ ràng. 😔
Nhưng các bạn yên tâm là mình sẽ chia sẻ những thứ cực kỳ hữu ích cho các DEV trong bài viết này. 😎
Hãy cùng khám phá thôi nào...😊

Tổng quan

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 khá 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…
Và hôm nay mình xin chia sẻ 1 nền tảng giúp thực hiện các công việc trên chỉ với vài thao tác click chuột và nền tảng mình muốn chia sẻ đó là Sun Spinner.

Sun Spinner là gì ?

Sun Spinner(Serverless Container Orchestrator) là 1 nền tảng do Sunteco Cloud phát triển giúp triển khai ứng dụng lên Container và giãn nở khả năng đáp ứng không giới hạn của ứng dụng theo thời gian thực đầu tiên ở thị trường Việt Nam.

Cung cấp sẵn các thành phần cần thiết để vận hành ứng dụng như lưu trữ, kết nối ra nội bộ và xuất bản ra Internet, quản lý chất lượng ứng dụng.

Giúp thúc đẩy mạnh mẽ quá trình chuyển đổi kiến trúc truyền thống monolith sang kiến trúc micro-service.

Các bạn có thể triển khai hầu hết các ngôn ngữ và framework hiện nay 1 cách nhanh chóng và chi phí sẽ tiết kiệm đáng kể so với VPS thông thường.

Trước khi đi sâu vào một số điểm nổi bật của Sun Spinner thì mình có 1 ví dụ cho các bạn dễ hình dung hơn. Cụ thể với ví dụ bên dưới, mình sẽ thực hiện các công việc khá quen thuộc của DEV:

  • 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 ở đây nhé https://gitlab.com/manhlh231/sun-spinner-example hoặc sử dụng luôn image https://hub.docker.com/r/manhlh231/sun-spinner-example ... và triển thôi nào.

1.Chuẩn bị

  • Tài khoản Sunteco Cloud, việc đăng ký cũng khá dễ dàng thôi, hoặc các bạn xem hướng dẫn ở đây https://docs.sunteco.vn/vi/guide/tao-tai-khoan, hiện tại đăng ký mới đang được tặng 200k ( yên tâm là các bạn có thể test cả tuần mới hết số tiền này với cấu hình minimum).
  • Source code hoặc image (mình gửi ở trên).
  • Kinh nghiệm Docker và tài khoản docker hub, nếu bạn chưa biết chúng dùng để làm gì thì yên tâm, mình có bài viết hướng dẫn chi tiết.

Về cơ bản như vậy là đủ rồi, gét go thôi nào..

2. Tạo Docker image & push docker hub

(Các bạn có thể sử dụng Image mình gửi ở trên để bỏ qua bước này)

Mình sẽ dạo nhanh qua các step 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, các 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 mình sẽ 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, chúng ta sẽ tạo mới 1 Workspace tên "spinner-example":

Tạo Workspace thành công:

3.2 Tạo service

Tiếp theo chúng ta sẽ 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):
Sẽ có 1 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. Cấu hình này có qua yếu ? Các bạn yên tâm là vơí tính năng Auto Scale thì hệ thống sẽ tự Scale up/down cấu hình tùy theo mức độ sử dụng và ứng dụng của các bạn sẽ không bao giờ bị chậm, lag đâu 😘.

4.Tính năng Internet publish

Sau khi tạo xong ứng dụng thì chúng ta 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-87.sunteco.cloud/

Ngoài ra các bạn hoàn toàn có thể trỏ về domain riêng cũng chỉ mất vài bước khá đơn giản 😎

5. Chỉnh sửa nội dung project và publish lên version mới

Bây giờ mình sửa 1 chút nội dung trong project và mình 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 xong thì chúng ta F5 lại https://home-87.sunteco.cloud/ sẽ thấy nội dung mình vừa thay đổi đã được publish. 🤩

6. Rollback về version cũ

Trong trường hợp ở bước 5 chúng ta "lỡ tay" update 1 bug nào đó ra internet và cần phải Rollback về version trước đó.

Hãy yên tâm, Sun Spinner sẽ giúp các bạn chỉ với vài thao tác (ảnh gif bên dưới):

7. Các ư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.

8. Lời kết

Cảm ơn tất cả các bạn đã đọc hết bài chia sẻ của mình.
Mình cũng là 1 DEV và mình thấu hiểu những khó khăn khi quản lý, vận hành các hệ thống từ đơn giản đến phức tạp, vì vậy mình cùng Sunteco Cloud đã phát triển những tính năng dựa trên những nhu cầu thiết thực, từ đó mang lại 1 nền tảng hữu ích, tiện lợi cho các bạn, mong các bạn có thể trải nghiệm góp ý thêm cho chúng mình nhé.
Để trải nghiệm nền nảng Sun Spinner, các bạn có thể truy cập https://dashboard.sunteco.vn/. hoặc https://sunteco.vn/sun-spinner/ để tham khảo thêm.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí