Blue-Green Deployment là gì? Kiến thức cơ bản cần biết

1197
16-02-2022
Blue-Green Deployment là gì? Kiến thức cơ bản cần biết

Nhiều phương pháp có thể giúp chúng ta triển khai an toàn mà không có downtime hay bảo trì. Một trong những phương pháp đó được gọi là blue-green deployment. Cùng Bizfly Cloud tìm hiểu chi tiết hơn về kỹ thuật triển khai này trong bài viết dưới đây!

Blue-Green Deployment là gì?

Blue-Green Deployment là một quy trình triển khai liên tục nhằm giảm thời gian chết và rủi ro bằng cách có hai môi trường production giống hệt nhau, được gọi là BlueGreen.

Giả sử môi trường Blue đang hoạt động và môi trường Green không hoạt động. Khi nhà phát triển muốn phát hành bất kỳ code mới nào - bản phát hành tính năng mới, phiên bản mới của ứng dụng, v.v. - công việc trên phiên bản mới được thực hiện trong môi trường Green, trong khi phiên bản cũ được duy trì trong Blue. Khi quá trình phát hành mới kết thúc, bộ cân bằng tải sẽ chuyển tất cả lưu lượng sản xuất sang phiên bản Green và phiên bản Blue được duy trì như một bản sao lưu.

Sau khi phiên bản Green được triển khai một thời gian và không có lỗi, phiên bản Blue cũ bị loại bỏ, phiên bản hiện đang phát hành trở thành Blue và một bản sao môi trường production mới được tạo ra để trở thành Green mới.

Blue-Green Deployment là gì

Blue-Green Deployment là một quy trình triển khai liên tục nhằm giảm thời gian chết và rủi ro

Blue-Green Deployment hoạt động như thế nào?

Blue-Green sẽ kiểm tra để có quá trình triển khai lý tưởng:

  • Liền mạch: người dùng sẽ không gặp phải bất kỳ downtime nào.
  • An toàn: khả năng thất bại thấp
  • Hoàn toàn có thể khôi phục: có thể hoàn tác thay đổi mà không có tác dụng bất lợi.

Cơ sở của phương pháp Blue-Green là các triển khai side-by-side. Để làm được điều đó, chúng ta cần hai môi trường riêng biệt nhưng giống hệt nhau, bao gồm máy chủ, máy ảo, vùng chứa, cấu hình, cơ sở dữ liệu. Đôi khi chúng ta có thể sử dụng các hộp khác nhau. Lần khác, chúng ta có thể sử dụng các máy ảo riêng biệt chạy trên cùng một phần cứng. Hoặc chúng có thể là các vùng chứa khác nhau chạy trong một thiết bị.

Về cơ bản, Blue-Green yêu cầu chúng ta sao chép mọi tài nguyên mà ứng dụng phụ thuộc vào.

Blue-Green Deployment hoạt động như thế nào?

Tuy nhiên, trong thực tế, không phải lúc nào cũng nhất thiết chạy một bản sao dự phòng của mọi thứ. Chẳng hạn, giữ cho hai cơ sở dữ liệu được đồng bộ hóa là rất khó. Vì lý do đó, chúng ta thường xuyên tìm thấy các Blue-Green deployment có các shared component.

Blue-Green Deployment là gì? Kiến thức cơ bản cần biết - Ảnh 2.

Hai môi trường sản xuất với một số shared component

Chúng ta cũng cần một số cách để chuyển đổi các kết nối đến giữa hai môi trường. Nó có thể là một bộ định tuyến, một bộ cân bằng tải, một reverse proxy hoặc một máy chủ web.

Blue-Green Deployment là gì? Kiến thức cơ bản cần biết - Ảnh 3.

Bộ định tuyến chuyển lưu lượng truy cập sang một môi trường sản xuất tại một thời điểm

Blue-Green thay phiên nhau đóng vai trò sản xuất. Chỉ một trong 2 môi trường sẽ hoạt động tại bất kỳ thời điểm nào. Giả sử rằng Blue đang hoạt động. Trong trường hợp đó, nó nhận được tất cả lưu lượng truy cập — trong khi đó, Green hoạt động như một khu vực nơi chúng ta có thể triển khai và thử nghiệm phiên bản tiếp theo.

Blue-Green Deployment là gì? Kiến thức cơ bản cần biết - Ảnh 4.

Người dùng tiếp tục truy cập v1 trên màu xanh lam trong khi bản phát hành v2 mới được triển khai trên Green.

Khi đảm bảo rằng phiên bản chạy Green đang hoạt động tốt, chúng ta sẽ chuyển sang bộ định tuyến. Sau đó, chu kỳ lại bắt đầu.

Blue-Green Deployment là gì? Kiến thức cơ bản cần biết - Ảnh 5.

Quá trình triển khai hoàn tất sau khi người dùng được chuyển sang phiên bản mới đang chạy trên Green

Ưu điểm của triển khai Blue-Green

  • Testing parity: tính năng này có nghĩa là các thử nghiệm phản ánh thực sự thực tế của sản xuất.
  • Triển khai bất kỳ lúc nào: không có downtime có nghĩa là chúng ta có thể phát hành bất kỳ lúc nào. Không cần phải đợi các maintenance windows.
  • Chuyển tiếp tức thì: người dùng được chuyển sang phiên bản mới ngay lập tức, hoặc gần như vậy. Mọi người đều xem bản phát hành mới nhất cùng một lúc.
  • Khôi phục tức thì: phần chuyển tiếp hoạt động theo cả hai cách. Nếu chúng ta quyết định quay lại phiên bản trước, chúng ta có thể chuyển tất cả người dùng trở lại ngay lập tức.
  • Hot standby: Blue-Green có thể cứu chúng ta khỏi các tình huống thảm họa. Giả sử rằng một trung tâm dữ liệu chuyển sang chế độ ngoại tuyến, chúng ta sẽ chuyển sang cái khác cho đến khi sự cố được khắc phục. Điều này sẽ hoạt động miễn là chúng ta đã có biện pháp phòng ngừa là không đặt Blue-Green vào cùng một vùng khả dụng.
  • Postmortem: việc gỡ lỗi các bản phát hành không thành công rất khó khăn với việc triển khai tại chỗ. Khi đối mặt với downtime, ưu tiên luôn là trở lại trạng thái bình thường. Việc thu thập dữ liệu gỡ lỗi chỉ là thứ yếu, vì vậy nhiều thông tin có giá trị có thể bị mất trong quá trình khôi phục. Blue-green không gặp phải vấn đề này — Các lần khôi phục luôn giữ nguyên việc triển khai thất bại để phân tích.

Một công nghệ tạo ra Blue-Green rất đơn giản là Kubernetes. Là một nền tảng mã nguồn mở tự động hóa các hoạt động vùng chứa, Kubernetes không chỉ giúp sắp xếp các vùng chứa đóng gói các microservices của ứng dụng gốc đám mây, mà còn được hỗ trợ bởi một tập hợp các mẫu kiến trúc mà các nhà phát triển có thể sử dụng lại thay vì tạo các kiến trúc ứng dụng từ đầu. Bizfly Kubernetes Engine là giải pháp triển khai, vận hành Kubernetes hoàn toàn tự động, xây dựng hạ tầng container cho ứng dụng chỉ với vài click chuột. Bizfly Kubernetes Engine có nhiều ưu thế giúp hỗ trợ khách hàng trong nước tốt nhất về: hệ ngôn ngữ tiếng Việt, hỗ trợ kỹ thuật 24/7…

Để tìm hiểu thêm về Kubernetes, hãy truy cập: https://bizflycloud.vn/kubernetes-engine để trải nghiệm và tư vấn miễn phí.

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

SHARE