iT邦幫忙

0

BlueGreen deploy

  • 分享至 

  • xImage
  •  

Catalog

  • backend only
  • frontend only
  • fullend (full stack)
  • issue
  • need to improve
  • next

Explain

1. 純後端進行藍綠部署:

  • 方法1:後端可以採用 Blue-Green Deployment,並透過 API Gateway 進行流量路由。
    這樣的做法有以下優點:
    提升 API 安全性:
    不需要額外暴露新的 External URL,所有流量都先進到 API Gateway,再由 Gateway 轉送至集群內的 Service,避免測試版本直接對外開放。
  • 方法2:後端可以採用 Blue-Green Deployment,並透過 VirtualService 控制流量路由。
    利用 VirtualService 中的 header-based match rule,可依照指定的 Header 將流量導向 Blue 或 Green 版本,達到無縫切換與驗證目的。
    image

2. 純前端進行藍綠部署:

前端進行藍綠部署會碰到SSO 轉導問題(轉回stable version’s host)
因此使用EnvoyFilter處理轉導問題。
當瀏覽器網址列包含查詢參數(?version=preview)則在request加上header以讓後續Virtual Service依據header進行路由。
這樣的做法好處有3個:

1.避開sso 轉導問題(使用同一個host)
2.開發者體驗提升,不用動核心程式
3.使用者體驗提升,開關選擇使用哪一版本
image

3. 全端進行藍綠部署:

何謂全端部屬?

  • stable frontend link stable frontend
  • preview frontend link preview frontend

Method
思路:
最直觀進行全端藍綠部署的方式是改前端Code。
如果不改前端Code, 可選EnvoyFilter但是會相較複雜及碰到時間差問題(立即處理會是用重砍Pod的方式。
image

Improve

  1. SOP
    SOP 太簡略 需再完整一點
  2. Template
    Template 讓上手更容易
  3. Workshop
    Workshop 約大家的時間一起做一次
  4. Offload
    Offload 全端藍綠的改動

Next

對Preview version 進行監控,
設定閥值來決定是否自動切換回Stable version。
image

Conclusion

  1. 本次討論聚焦於三種藍綠釋出情境:後端(Backend)、前端(Frontend)、以及全端(Full-stack)。
  2. 對於後端,建議採用藍綠部署搭配流量路由機制(如 API Gateway 或 VirtualService + header match),以在驗證階段掌握安全與可控性。
  3. 對於前端,雖可採藍綠部署,但會碰到 SSO 重導與 Host 切換等問題,建議使用 EnvoyFilter 或查詢參數+Header 的方式來導流。
  4. 優化的項目:SOP 詳化、Template 建置、Workshop 實作、Offload 全端變更等。
  5. 下一步重點:對 Preview 版本設定監控與閥值(metrics/alert),當達到切換條件時再切換至 Stable 版本。

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言