走進雲研發時代 阿里雲釋出雲原生DevOps解決方案

程式碼派就是我發表於2020-10-21

2020年10月21日,阿里云云效DevOps平臺聯合雲原生應用平臺共同舉辦“阿里云云原生DevOps解決方案重磅釋出”雲端釋出會,正式釋出基於阿里巴巴最佳研發實踐的雲原生DevOps解決方案及典型應用場景。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

>>釋出會傳送門

產品詳情

開發者在雲研發時代遇到的挑戰

阿里雲智慧高階解決方案架構師張裕在分享中指出,我們正處在一個雲研發的時代,並總結了雲研發時代的三個“要求”。第一,IT基礎設施需要可靠、低成本、高彈性;第二,向使用者提供的服務需要穩定、安全、高效能;第三,軟體交付要持續、快速、高質量、低風險。

所謂“理想很豐滿,現實很骨感”。與上述“理想狀態”恰恰相反的是,在雲研發時代,軟體開發者遇到了諸多挑戰。

第一個挑戰,IT基礎設施成本越來越高。在企業初創時期,可能只需要幾臺伺服器就可以滿足業務需求,但是隨著業務發展,使用者規模不斷擴大,可能需要幾排機櫃、甚至一個機房才能滿足需求。而且IT基礎設施成本的增長的速率往往是大於業務規模增長的,這就會讓開發者覺得基礎設施的成本越來越高。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

第二個挑戰,“發不了,老出錯,時間長”。在上圖中顯示了A、B兩款應用近半年的釋出情況,其中縱軸代表釋出一次所使用的時長,橫軸代表釋出日期,每一個綠點代表一次成功釋出,紅點代表失敗的釋出。我們可以看到,A應用半年釋出了13次,但是有7次是HotFix的釋出,即帶緊急Bug修復的釋出,而且釋出時長差別特別大,從幾分鐘到幾天都有。B應用的釋出很頻繁,但是釋出成功率不到30%,每次釋出時長都超過24小時,而且有的時候連續多天沒有釋出。

第三個挑戰,用於新功能開發的時間越來越少。在軟體研發初期,我們幾乎所有的人力都可以用於軟體研發,但是隨著應用功能的豐富,越來越多的人力用於已有功能的維護,幾乎沒有時間來進行新功能開發。

雲研發時代需要基於雲原生的持續交付實踐

那麼,如何邁向雲研發時代呢?我們需要基於雲原生的持續交付實踐,包含雲原生基礎設施、端到端的持續交付流水線、高質量守護和低成本、高效率的服務治理體系四個方面。

在上世紀五六十年代,標準化集裝箱的採用,由此建立起一整套標準化的運輸體系,有效降低了貨運成本,並最終促進了經濟全球化。而云原生技術中的“容器”和“集裝箱”有著異曲同工之妙。張裕介紹說,雲原生基礎設施具備“不可變”和“標準化”兩個特點,透過“不可變” 消除不一致帶來的不確定性,減少不一致的風險,從而降低維護成本;透過“標準化” 簡化部署,降低環境維護成本,同時降低工具鏈開發和學習成本。

一條標準的“端到端的持續交付流水線”一般包含需求分析、程式碼提交、構建、整合驗證、預發、上線等環節,並且需要具備可描述、可觀測、自動化三個特性。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

有了“雲原生基礎設施”和“端到端的持續交付流水線”之後,我們還需要“高質量的質量守護”來提升軟體釋出質量。質量守護是開發、測試、運維所有人的事,其實大家都是在“一條船上”,只有所有人同舟共濟,共同努力,才能保障軟體的高質量交付。

最後,我們需要一個低成本、高效率的服務治理體系。當一款微服務釋出後,服務平臺可以提供一系列服務治理體系,包括閘道器、服務監控、自動擴縮容等。這樣開發者就可以只專注於開發程式碼,而不用考慮太多服務治理相關的事情。

阿里云云原生DevOps解決方案重磅釋出

為幫助更多企業和開發者高質量、低成本地享受技術升級帶來的研發福利,雲效聯合雲原生團隊打造了一站式雲原生DevOps解決方案,無論是通用K8s場景、Spring Cloud/Dubbo微服務場景、還是輕量級的函式計算場景,雲效DevOps都能從容應對。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

如上圖所示,左上方是“雲效看板”,產品經理可以利用“雲效看板”將需求管理起來,當“需求”經過澄清和規劃之後,拆分成“任務”分配到某個團隊或某個開發者進行“任務執行”。開發過程中,開發者藉助雲效程式碼管理平臺,建立特性變更分支。當程式碼被提交後,會觸發特性分支監聽,在這期間,雲效會自動進行程式碼掃描、程式碼評審和安全掃描等。程式碼開發完後,開發者可以透過雲效流水線,進行編譯構建、開發驗證、上線稽核、生產釋出等環節。流水線會依賴多個阿里雲提供的服務,比如在編譯時會依賴“映象服務”,在開發驗證、生產釋出等環節會依賴ACK叢集服務而當應用正式上線之後,又會依賴微服務治理服務,包括配置中心、服務監控、容量調整等等。而所有這些資訊,最後會透過釘釘等方式反饋給開發者。當出現問題時,會以“缺陷”的形式體現在雲效看板中。

總結來說,雲效的雲原生持續交付解決方案包含四個方面:第一,雲原生基礎設施,支援阿里雲容器服務ACK、函式計算(FC)、Serverless引擎(SAE)等;第二,透過雲效看板、程式碼管理平臺、流水線實現了端到端的持續交付流水線;第三,透過雲效程式碼管理的自動化掃描和雲效流水線的檢測和驗證實現高質量的質量守護;第四,阿里雲的微服務治理實現了低成本、高質量的服務治理體系。

雲效雲原生DevOps解決方案典型應用場景

雲效雲原生DevOps解決方案包含三個典型應用場景:函式計算持續交付場景 、微服務持續交付場景、通用雲原生持續交付場景。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

“雲效+函式計算”的持續交付方式比較適合開發者規模較小的初創團隊。因為他們的業務往往處於快速驗證和發展階段,希望業務能快速上線、快速更新、無需關心業務之外的工作。

這樣的“函式計算持續交付場景”具備三方面優勢:第一,開發者可以專注於業務邏輯開發,無需關注底層細節和資源情況,也無需關注服務的運維和治理。第二,能夠按照服務使用量付費,減少資源成本,並且可以實現分鐘級快速上線。第三,整個研發流程基於雲效DevOps平臺,由雲效提供自動安全守護能力;執行環境基於阿里雲提供的經過大規模商業實踐的基礎設施,穩定性好;同時“函式平臺”天然具備高彈性,可以從容應對突然業務流量。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

對於已經採用或準備採用微服務架構的中小規模開發者團隊,推薦使用“雲效+SAE”的持續交付方式。這種“微服務持續交付”具備如下特點:第一,Serverless 應用引擎SAE(Serverless App Engine)與spring cloud、dubbo等微服務框架深度整合,內建微服務治理能力,可有效降低使用微服務的成本。第二,基於秒級彈效能力,服務擴容快、彈性高,能夠應對業務突發流量,可保障服務的穩定性。第三,內建微服務釋出、運維能力,可有效提升微服務測試、釋出、運維效率。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

對於有自己的服務治理體系,希望研發有足夠的靈活性,同時又能享受雲原生和持續交付的技術紅利的中等或大型研發團隊,可以使用“通用雲原生持續交付”解決方案。這種交付方式有哪些優勢呢?首先,雲效提供從需求到線上運維的一站式研發流程支援。其次,雲效提供從基礎設施到DevOps工具鏈的全流程安全防護。第三,與阿里雲基礎設施和雲服務深度整合,具備免託管、高效能的特性;同時由於阿里雲的基礎設施是完全遵循遵循Kubernetes(k8s)開源標準的,所以不存在遷移成本。

截至目前,阿里云云效已經服務十萬家企業、百萬開發者,幫助眾安保險、光大銀行、天弘基金、南方航空、上汽通用、南京銀行、萬科、國泰產險、上海博卡、石家莊掌訊等眾多企業成功完成DevOps轉型。本次雲原生DevOps解決方案的釋出,雲效希望可以助力更多企業邁進雲研發時代,實現DevOps轉型“超車”。

登入“阿里云云原生DevOps解決方案重磅釋出”官方網站,可以檢視釋出會影片回放、體驗雲原生DevOps場景、獲取產品優惠等更多資訊。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31550522/viewspace-2728449/,如需轉載,請註明出處,否則將追究法律責任。

相關文章