關鍵詞:DevOps;安全技術;運維技術;創新信息技術;信創;信息安全
摘要:本次將給大家帶來《安全與運維技術》專題的最后一篇:開發運維一體化DevOps相關技術剖析。
在《安全與運維技術》專題系列中,小編從相關政策《政策匯總|信息化創新——信息安全新曙光》分析入手,分別給大家分享了全信創生態、《微服務助力信息技術應用創新》、《容器技術創新信息技術應用》、《服務資源監控助力安全運維》等相關技術文章,本次將給大家帶來《安全與運維技術》專題的最后一篇:開發運維一體化DevOps相關技術剖析。
一、理解DevOps
首先,什么是DevOps?這一詞語相信大家并不陌生,最早從2008-2009年就已經提出DevOps概念,根據維基百科的定義:DevOps(Development和Operations的組合詞)是一種重視“軟件開發人員(Dev)”和“IT運維技術人員(Ops)”之間溝通合作的文化、運動或慣例。透過自動化“軟件交付”和“架構變更”的流程,來使得構建、測試、發布能夠更加地快捷、頻繁和可靠。
業內各大公司定義焦點也不一,但其本質基本一致,即:開發和運維的一體化,主要包含應用設計、敏捷開發、持續交付和監控運維等一系列流程,涉及到企業文化、團隊協作等多個方面。
圖 各大廠給出的理解(來自網絡)
二、開發模式演進
了解開發、測試與運維之間的協作是如何演進的,將有助于理解和實施DevOps。
在起初業務簡單、技術不復雜的情況下,團隊人員往往較少,甚至出現一人團隊,而且往往是全棧工程師,開發、測試和運維一人或一個團隊獨立完成;但隨著業務復雜度增高、技術架構也逐步向分布式或微服務架構發展,團隊人員也逐步增多,團隊與團隊之間的協作開始變得頻繁,開發協作模式也開始發生改變,由原來的單體架構(有時也稱巨石應用)結合瀑布式推進向分布式應用架構結合敏捷模式推進,再向微服務架構結合DevOps模式推進。單體架構的應用往往比較龐大,隨著開發的推進和應用難以運維時,就需要拆解多個應用,跟隨的團隊也相應拆解,服務器也由原來的一臺逐步增多。當團隊發現每個應用都存在重復開發工作時,那些共用部分就可單獨剝離出公共服務,以供各應用重復使用,部署時也可以單獨部署。其演進過程簡單邏輯示意圖如下所示:
圖 架構技術演進帶來的開發模式演進簡易邏輯圖
三、DevOps相關技術工具
從技術角度,DevOps涉及面非常多,主要有代碼管理、持續構建(CB)、持續集成(CI)、持續部署(CD)、監控與運維、持續測試(CT)、服務治理、代碼安全以及容器編排等相關技術。從下圖中可以看出,每個階段都有相應的工具或平臺支持。據專業研究報告稱,適合DevOps開發運維一體化的工具平臺,正在向集成度更高、生態系統更完整的工具鏈方向發展。目前國外大廠選擇在自家平臺擴展開發,來提供一站式服務能力,例如微軟自己的一體化研發平臺等;國內大廠基本采取開源工具集成或使用開源項目,并結合行業特點定制開發自己的運維一體化平臺。如已實施過DevOps,可根據云計算開源產業聯盟(OSCAR)提出的DevOps能力成熟度模型所需要的能力評估所屬級別。
圖 DevOps相關技術工具(圖片來自網絡)
四、DevOps落地實施
落地實施DevOps的三大支柱:人(People)、流程(Process)和平臺(Platform),其關鍵在于:一是企業文化(人 流程),二是齊全的DevOps工具或完備的平臺(流程 平臺),最終為團隊賦能。在企業文化上,要打破部門墻,不能簡單把Dev和Ops團隊合并,需在組織改變的基礎上,更重要的是從思維轉變,讓流程和平臺發揮更大作用;另外需梳理開發、測試及運維等全過程所需要的規范及工具平臺,在團隊內統一使用,也可以借助第三方工具或平臺來加快落地。
DevOps落地考驗的不僅是一家企業的技術,更是管理水平和企業文化。近期快速發展的微服務技術、虛擬技術和容器技術也是助推了DevOps的快速落地。數慧已在公司一定范圍內使用,并且同步開發了DPaaS容器云平臺加快落地實施DevOps,有興趣讀者也可查閱前期文章《DPaaS平臺助力大型系統快速實現DevOps》。
更多精彩內容,敬請持續關注“DIST上海數慧”。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。