開發與維運

阿里雲ACK聯合雲效助力「上海博卡 」DevOps轉型

客戶簡介:

博卡軟件於2004年在上海成立,是一家專注於為本地美麗生活相關行業提供軟件服務的_SaaS_軟件提供商,主要產品提供門店運營所需要的管理軟件,智能硬件以及營銷小程序等。

客戶痛點:

痛點一:博卡服務眾多小商戶,客戶需求高併發時必須每天交付數次
傳統的開發部署模式成為瓶頸, 必須打造高效的CI/CD系統
痛點二:沒有專職運維人員,不同開發需要對應流水線操作的權限管理
痛點三:IT架構複雜,數十個微服務和數十個前端應用,需要實現零停機的無縫遷移
痛點四:Kubernetes學習門檻過高,如何通過更簡單的管理成本獲得自動化擴縮容、自動運維
 

解決方案:

SaaS公司要在競爭中拔得頭籌,就需要快速影響客戶需求,同時保持較高的穩定性。同時要快速佔領市場,就需要不斷推出新產品不斷創新,這個時候開發的交付效率以及低成本試錯就尤為重要。

博卡將其SaaS應用完全部署在阿里雲上,最終選用阿里雲容器服務ACK+雲效解決方案,替代了最初ECS+Gitlab+Jenkins,打造其完整高效的CI/CD系統落地DevOps。

捕獲.JPG

 

方案效果:

1 高效落地DevOps

  • 從開發、預發到生產全週期覆蓋。雲效的代碼管理Codeup的內置評審功能,能高效的完成Code Review。內置的代碼檢測開箱即用,促進編碼規範執行。
  • 雲效Flow流水線便捷實現持續交付,內置多種語言的流水線模板,與容器服務ACK聯動,開箱即用。

2 零停機任意回滾

通過雲效的Flow流水線可以回滾基本上所有部署方式,阿里雲ACK+Flow的最佳搭檔,則可以實現快速零停機回滾任意版本(通過健康監測以及重啟策略確保啟動的容器必然是可運行版本,如果出現無法啟動或者啟動異常的版本,則因為就緒監測無法通過是無法接收流量的,所以可以完成零停機或回滾)
同時,因為ACK是基於Docker鏡像的升級,回滾版本不會環境變化等因素導致回滾失敗。

3 降本增效

容器服務ACK根據每個Pod的cpu和內存資源需求自行調度,資源極致利用。
節省了微服務自行部署中的高可用成本, 且節省手動配置等負擔。

4 應用護航,無懼故障與高峰

故障自動重啟:通過Pod健康監測和就緒監測,與應用健康監測接口(比如SpringBoot的Actuator的health)即可簡單實現故障自動重啟,解決了小公司沒有24*7快速響應運維人員的問題,可以做到自動化最高效的緩解問題。
自動擴容:對於某些應用瞬間突發流量、大量計算資源的需求,ACK可以根據此前配置規則自動擴容,確保應用的穩定性。

項目對比

| 對比內容 | 使用雲效前 | 使用雲效後 |
| --- | --- | --- |
| 發佈時長 | 10分鐘 | 3分鐘 |
| 代碼評審 | 很少 | 合併主分支強制要求 |
| 構建通知 | 不通知 | 自動釘釘通知 |
| 版本回滾時長 | 1小時 | 3分鐘 |
| 日常和生產環境區分 | 代碼中配置文件區分,存在開發人員誤修改影響部署環境配置的風險 | 自動注入環境變量來區分,最大程度防止代碼庫的配置文件影響部署環境配置 |
| 代碼掃描 | IDE中插件自己掃描,比較隨意 | 提交後自動掃描,清晰提示掃描結果 |
| 定時部署 | 人工等待到時間進行操作 | 設置定時發佈 |
| 交付質量 | 依靠開發人員個人水平以及隨機檢查保證 | 通過各種檢測插件進行質量檢測,阻止異常構建或者部署 |


|對比內容| 使用ACK前 | 使用ACK後 |
| --- | --- | --- |
| 零停機部署 | 不支持 | 支持 |
| 應用異常自動修復 | 不支持 | 支持 |
| 擴容耗時 | 1小時 | 1分鐘 |
| 擴容方式 | 手動修改nginx配置 | 自動擴容 |
| 敏感信息安全 | 代碼庫保存,存在洩露風險
服務器配置文件,管理成本高以及有丟失風險
不容易複用 | 配置項,以及保密字典存儲,簡單複用以及保密性高,不容易暴露 |
| 新應用部署 | 半天 | 10分鐘 |
| 生產環境穩定性 | 出現問題客戶發現或者監控發現後,手動回滾再修復問題重新發布,影響時間長 | 通過健康監測等手段阻止異常容器接收流量,以保證線上應用的基本質量 |

Leave a Reply

Your email address will not be published. Required fields are marked *