DevOps最早在2009年被人提出,愿景非常美好,但真正實施起來困難重重。
隨著近幾年微服務、容器等技術的興起,使得企業對DevOps的需求更加迫切,實施變得更加容易,DevOps越來越被接受和重視。
同樣,為了應對業務的敏捷發布,應用平臺的彈性訴求,商業環境的變化,云原生時代已到來,云原生技術已經應用到企業核心業務。
云原生與DevOps是什么關系?其技術優勢如何與DevOps結合,才能更加高效便捷的實施呢?云原生時代下,DevOps的落地會遇到哪些困難?華為云是否有一些實踐方案去應對?
華為云社區邀請到了華為云DevCloud首席技術布道師徐毅,聽他講述云原生技術下的DevOps實踐,深入了解集華為30年研發經驗的華為云DevCloud是如何踐行DevOps理念的。
從需求側、平臺側、商業側等方面來看,云原生產生的業務背景是什么?
眾所周知,很多變革都始于技術。技術經由積累產生勢能,這些新的技術釋放出很強大的生產力并帶來創新,滿足用戶和客戶新需求的爆發,從而需求驅動技術的迅速普及和優化,最終帶來商業的繁榮。
云原生應該是云化的延伸。在云的發展初期,并非所有的產品技術都是云原生的,隨著云計算技術的不斷發展,云原生的應用和系統能夠更好的滿足需求側在功能和非功能各方面的訴求。從云到云原生這個過程來看,在當下創新加速的VUCA時代,也帶來了一系列的變化:
需求變化快,但方向暫不清楚,這就需要IT信息化支撐業務創造的過程更靈活、反應更快速;
在業務板塊創造出來之后,會面臨著業務使用的強度和頻率是不固定的,所以就需要支撐業務供給的靈活性和快速響應的速度;
當下的用戶需求和業務的顆粒度,隨著市場發展越來越小,所以能夠迅速把握市場動態、完成業務創造、提供業務這個全過程周期的速度也變得非常重要,還需要能夠拉通整個組織。但不同職能組織都有自己的不同目標,無法做到說改變就改變。
云原生技術的發展,使得各個職能組織去支持、去改變的難度越來越低、投入越來越小,大家更愿意拉通和協作,從而在商業側能夠給企業帶來更大的競爭優勢。
云原生時代,在享受架構解耦與云端彈性帶來的便利同時,對軟件研發與交付模式提出了更高的要求,如何才能真正做到云原生下價值交付的成功?
首先要掌握架構解耦、云端彈性等相關技術,具備研發能力,這是第一要素。
第二,把技術能力運用起來在平衡中去解決業務問題,不能太過于完美主義。例如面對一個遺留系統,是一步到位解耦完畢還是循序漸進呢?分析業務現狀的問題并針對性地應用云原生技術能力去解決,去創造價值,是第二個關鍵要素。
第三是團隊通力協作的能力。作為團隊的基礎,團隊的每個成員都具備充分的技術能力,這樣團隊的能力可以等同于團隊成員的合力。團隊成員之間通過協作能夠產生的化學效應,不只是1+1=2的效果,它將會帶來乘數甚至指數級的效應。
第四是組織變革能力。新組織可以直接招募具備云原生技術的成員組建團隊,這樣帶來的好處就是大家沒有遺留系統,理解業務即可。如果是一個現成的組織,那么團隊成員既要邊學習和掌握新技能,邊繼續發展業務,就如同“給行駛中的汽車換輪子”。這時就需要一種軟實力來打消大家的顧慮,推動往云原生的交付模式轉變。
云原生與DevOps的關系是什么?普通DevOps與云原生的DevOps有何不同?
按照CNCF的說法,容器、微服務等被認作是云原生技術。DevOps主要是指一種工作方式或模式,它幫助拉通整個價值創造過程中各環節的人和組織,通力協作縮短價值創造的周期時間。在這個過程中,就需要從人、工具和流程方法三個維度去改變。
如何區分普通DevOps和云原生DevOps,主要看一個組織在應用DevOps的過程中,是否使用云原生技術開發應用或者系統。 舉例來講,DevOps開發一個傳統的單機應用,不需要開發人員掌握容器或微服務等技術,對部署和發布的自動化要求也不高,或許也不需要灰度發布、應用監控等功能,往往只需應用幾個DevOps工具就能夠滿足需求。
當然,它是被定義為DevOps,所以代碼提交之后的編譯構建、測試、打包、安裝啟動等,都要能夠以全自動化的方式完成,無需人工干預,那這個應用的研發過程就是一個普通的DevOps。
云原生模式嚴格意義上來說,是整個應用的生產過程都在云上, 需求在云端的系統上管理,代碼存放和評審、測試用例都在云上進行,甚至日常交流、開會等方面也都在云上進行,這就是比較徹底的云原生DevOps。這時就需要一個可以拉通各個環節的云原生DevOps工具的平臺,我們稱之為一站式云原生DevOps平臺。
云原生的DevOps對于開發者來說,意味著什么?如何盡快在實際工作中實踐?
應該說是未來的趨勢。個人開發者可以利用云廠商提供的便利,以極低的成本,去學習和實踐云原生DevOps開發的全過程,掌握運用各種云原生技術,去創造價值。同時,開發者要從自身的長遠發展出發,自己的未來自己做主,不要僅僅依賴于工作中實踐,可以考慮去主動的投資學習。畢竟自身能力的提升是帶來更大回報的最常見手段,其他手段都依賴于能力的提升。
在云原生2.0的趨勢下,越來越成熟的云原生技術化解了開發者的諸多難題,開發者突破個人職業瓶頸的核心關鍵是掌握1+N關鍵能力,就是1個DevOps平臺加上N套技術棧,再配合云原生提供的開發能力,開啟第二曲線。
DevOps新挑戰:如何解決實際開發運維中的問題?
要說DevOps如何解決實際開發運維中遇到的問題,首先我們應該先分析當下開發運維會遇到哪些問題,簡單列舉幾個點:
第一個問題:現在市場需求變化很快,產品要快速響應,頻繁的進行版本更迭。
當下很多項目都在使用微服務框架,其中一個好處是可以減少變更影響的范圍,但微服務其實對運維的要求相對變高了,因為之前你只負責一個單體服務的發布,現在你要負責多個微服務的發布,傳統組織結構以及運維方式很難滿足,這其實也是促使DevOps誕生的一個主要因素。
DevOps是可以通過一系列的自動化工具,將很多以前需要手工操作的流程變成自動化的。比如發布包的構建、部署任務參數配置等等,然后對各個服務按照不同場景,做出不同的發布策略,進行自動化的發布,加速產品新特性的上線。
第二個問題:產品上線后,數據運營和分析。
這點容易被忽略,很多人認為DevOps就是自動化工具鏈,其實數據分析、運營也是DevOps中很重要的一部分。 DevOps文化中,度量是很重要的一環,這個度量不是說向老板匯報用的,而是通過數
據去了解各個服務的運行情況、用戶的使用情況等,然后根據分析結果對產品進行優化改進。傳統的運維模式很難建立這種反饋機制,不搞清楚市場或者用戶群體感受的開發,很容易閉門造車,而DevOps則是提倡在運營環節建立反饋機制來解決這個問題。
其他方面問題:比如基礎設施、網絡、場地等方面的投入,相當于把資源托管,讓開發者更多的聚焦于新特性的交付。以上這些其實都是DevOps解決實際生產中的問題的例子。
有調查顯示開發者在DevOps整個軟件開發生命周期中,測試階段遇到的延遲最多,華為云是否有一些實踐方案去應對?
測試階段遇到延遲的問題是說很多時候安全測試在整個軟件生命周期中做的比較晚,導致很多漏洞之類的沒有測出來。這個問題其實很好解決,首先可以從單元測試入手,在新特性開發之前,根據驗收標準寫好單元測試,等到功能開發完成直接進行單元測試,這樣就會減少測試的延遲。
DevOps也主張將測試環節盡可能地嵌入到流水線中,華為云DevCloud提供了代碼檢查功能,檢查代碼的漏洞。還有就是現在很多項目都在用微服務框架,微服務框架中服務與服務之間是通過API進行交互的,那我們也可以將接口測試作為一個主要安全管控手段,將他納入到持續交付流水線中,每次執行流水線時,自動進行接口測試。
華為云云原生DevOps的升級是否分階段,每個階段的路徑是什么?
華為云積極地參與業界相關標準和能力模型的共建共創,作為重要參考來構建DevOps相關產品。業界主流是根據DevOps的自動化程度將它劃分成三個階段:
保證代碼時刻可以進行構建的持續集成;
將代碼自動化部署到類生產環境進行測試的持續交付;
將最新的代碼直接自動化部署至生產環境的持續部署。
其中,持續集成自動化程度相對會低一些,持續部署自動化程度是最高的。但更多的時候需要結合業務場景去選擇是持續集成、持續交付或是持續部署,并不是所有的場景都必須做到持續部署。如果條件允許的話,一定是自動化程度越高,就意味交付頻率越快。
華為云是否有云原生的DevOps體系框架、落地實踐案例等?
華為云提供的云原生DevOps體系框架叫做HE2E,即華為端到端(End to End)DevOps框架。是結合了華為30年研發經驗并集合了業界先進的實踐所形成的一套可操作可落地的敏捷開發方法論。HE2E圍繞一個名為鳳凰商城的電商平臺項目,按照DevOps方式完成從提交代碼到流水線部署上線的全過程,項目使用了微服務、容器等多種云原生技術,其中DevOps部分依托于華為云DevCloud。
在這個實踐中,開發者可以通過華為云DevCloud的項目管理功能進行敏捷項目管理。項目的示例代碼也是通過華為云DevCloud的代碼倉庫codehub,項目使用微服務架構,前后端分離,并且可以通過華為云DevCloud進行云端構建實現持續集成,將前后端打成Docker鏡像放到云端鏡像倉庫,供部署使用。
從集成到部署,還可以通過DevCloud的流水線功能串聯起來,在流水線中配置構建、部署任務實現云原生的DevOps,這個流程和現在很多企業的實際開發場景也吻合。
最后,對于開發者來說,DevOps是神秘的,自己可能沒有精力或資源搭建DevOps工具鏈,其實這部分可以通過H2E2——相當于是用華為云搭好的一套架子,可直接使用華為云DevCloud體驗云原生的DevOps。
編輯:jq
-
代碼
+關注
關注
30文章
4790瀏覽量
68649 -
華為云
+關注
關注
3文章
2540瀏覽量
17441 -
devops
+關注
關注
0文章
114瀏覽量
12025
原文標題:敏捷開發專家一席談:云原生技術下的華為云DevOps實踐之路
文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論