雲原生時代下的機遇與挑戰 DevOps如何破局
在雲原生時代,國內外眾多雲廠商釋放出強大的技術紅利,如何利用穩定、高效且價效比高的雲設施是當下的主要命題。
當下,伴隨容器技術的出現,特別是Docker和Kubernetes出現,讓DevOps概念火了一把,也在實踐中開始快速落地和普及。
眾所周知,容器能夠封裝微服務整個執行時環境的特性,天然就適用於微服務構建、釋出和執行,讓原本緩慢前進的DevOps得到飛速發展,開源社群也湧現了很多優秀的開源產品,大家通過這些開源產品能夠快速搭建自己應用的持續整合環境,因此市場上也如雨後春筍般冒出許多DevOps相關的產品。
現階段的DevOps產品通過Docker和K8s確實幫助使用者解決了資源管理、微服務環境構建和持續整合的複雜、效率低等問題,但是伴隨公有云等Infra基礎設施持續高速發展,人們對於應用研發的效率追求也會有更高的要求,對於DevOps產品也不會滿足停留在當前階段,那麼如何在DevOps現階段的版本基礎上進一步提高研發效率和質量呢?
當下,DevOps面臨的痛點
們首先需要了解,DevOps是依靠雲原生、工作流程、人員組織的整合,以協作、自動化、精益、度量、共享、文化為指引,旨在建立一種可以快速交付價值,並且具有持續改進能力的現代化IT組織。
如今,幾乎每家企業都說自己在做DevOps,但只有少數人獲得了期望中的業務價值。這背後的原因在於,他們清楚地知道要讓DevOps模式在組織中正確推行下去需要重點關注哪些地方,同時他們也知道業務價值是DevOps的終極目標。
但不可否認的是,DevOps現階段還需要面臨很多問題:
1. 多雲資源如何統一管理,解綁雲廠商?
在公有云、私有云等多元化的雲環境下,大家手頭往往都有兩套或者多套雲資源,如何讓這些割裂的雲資源統一進行管理?如何基於一個平臺讓應用快速進行跨雲遷移、釋出?比如:開發在私有云,生產在公有云等這些問題伴隨資源環境多元化問題會越來越突出。
2. 複雜微服務組合如何快速進行環境構建、持續整合?
當前DevOps對於單個微服務的環境構建和持續整合問題已經基本解決。但對於企業級軟體研發交付團隊來說,錯綜複雜的微服務組合而成的專案如何進行統一的環境構建、部署和交付,目前仍解決得不太徹底,只能讓各應用的研發成員都參與到構建、部署的整個階段。以上覆雜的過程容易引起問題不說,效率成本上也是個大問題。
3. 研發效能如何進一步提升?
在當前主流的DevOps產品中,程式碼、構建、部署全流程自動化觸發執行的特性基本都是得到了比較好的解決,但是隨著研發管理的深度、精細度要求越來越高,需要研發維護的資料也隨之不斷增多,管理維護專案資料的專案管理工作量也在不斷增大,效率和成本也產生了矛盾。
雲原生時代下DevOps如何破局
面對上述三大痛點,新一代DevOps也在尋找破局之道。
首先,DevOps針對於多雲管理並不是簡單指通過K8s叢集來實現資源的排程管理,如果僅僅是統一資源排程那本身是K8s叢集的特性。
其次,通過應用部署環境配置去關聯叢集,確實可以實現環境之間的隔離、環境之間快速遷移的能力。開發測試在本地私有云環境,生產者可以通過同一套程式碼能夠快速釋出到公有云;還有就是業務在一個叢集,資料處理可以在另外一個叢集,實現業務和資料分離,兩者互不影響,這些都可以通過叢集管理來實現。
另外,對單應用的持續構建部署,DevOps產品基本都是達成共識的,對於單個微服務應用構建部署的自動化完善程度較好。
但對於企業級專案研發過程,我們看到,單應用內不同任務需要拉多分支來進行開發,受開發環境資源的限制,不同任務開發人員要不斷進行線下溝通合併程式碼釋出開發環境進行測試,過程中可能存在誰的程式碼分支有問題導致整個環境不可用的現象。
專案級的聯調部署就更復雜了,首先需要配置專案環境,其中包含了專案級的引數配置以及大家公用的專案級中介軟體準備部署;其次是複雜的微服務編排資訊維護,這些煩瑣的專案級維護管理動作,往往會導致專案部署過程中出現各種阻塞,比如專案共同的中介軟體準備阻塞,上游服務的部署和健康度也會影響或阻塞下游服務部署和測試等,這些問題會讓專案部署更加困難化。
由此可見,在DevOps實踐中,選擇正確的工具對於測試自動化至關重要。利用共享工具幫助明確和簡化協作流程,以便對整個軟體交付流程有共同的瞭解。因此,它們能夠促進一致性和自動化,幫助DevOps從業者提高交付速度,並避免在部署或生產故障恢復期間為臨時的救急處理花費時間。
寫在最後
DevOps這一概念雖然比容器、微服務出現得早,卻是隨著他們的出現才得以快速地發展。實際上DevOps不單是一個實現自動化的工具鏈,更是通過構建企業文化的方式促進開發與運維之間的協作。
- JuiceFS 在攜程海量冷資料場景下的實踐
- 美國第二大零售商Target公司十年雲端計算之旅的經驗教訓
- 如何逐步執行資料風險評估
- 什麼是雲端計算?現在需要知道的一切
- 從雲到邊緣的遷移決定智慧家居未來
- 亞馬遜雲科技面向Kubernetes的無伺服器服務Amazon Fargate在中國區域正式可用
- 雲端計算服務主要安全風險及應對措施
- Nagarro選擇亞馬遜雲科技為首選雲提供商 高效管理百萬億計數字資產
- 物聯網和雲端計算融合面臨哪些安全挑戰?
- 在混合雲中管理資料庫:八個關鍵注意事項
- 騰訊雲獲國際專業流媒體測評肯定:三大場景下影片編碼效能全部最優
- Docker小白的福音:Docker命令清單,幹就完了
- 雲端計算與數字化轉型的關係,終於有人講明白了
- 邊緣與雲:選擇哪種人工智慧基礎設施?
- 零信任和SASE有什麼不一樣?答案其實並不重要
- 揭開雲原生資料管理的神祕面紗:操作層級
- 多雲已成現實,如何更好地實現多雲管理?
- Spring Cloud 精妙的設計,你還不知道?
- 雲中斷的三個主要原因
- 一文看懂雲平臺儲存相關雲服務(雲硬碟)如何使用?