一個都不能少:DevOps的三大核心基礎架構

一個都不能少:DevOps的三大核心基礎架構

目前,DevOps概念火熱,其涵蓋面也非常廣泛。其實,DevOps的知識體系從頂層上來分解,只有2塊:方法論和工具鏈。我們所能瞭解到的敏捷理念、實踐等都屬於方法論的範疇。

今天我們來聊聊實現DevOps工具鏈的三大基礎架構。

一個都不能少:DevOps的三大核心基礎架構

▲ DevOps工具鏈週期表

驚鴻一瞥中,是不是回憶起匆匆那年?化學老師敲黑板:元素週期表背了嗎?

簡而化之,實現DevOps工具鏈只需要3個核心基礎架構:

  • SCM配置管理系統
  • Automation自動化系統
  • Cloud雲/可伸縮的、自服務的、虛擬化系統
一個都不能少:DevOps的三大核心基礎架構

▲ DevOps3大核心基礎架構

01

SCM配置管理系統

軟件配置管理(Software Configuration Management,SCM)是指通過執行版本控制、變更控制的規程,以及使用合適的配置管理軟件,來保證所有配置項的完整性和可跟蹤性。配置管理是對工作成果的一種有效保護。

軟件配置管理是DevOps最底層的基礎設施,無論是Configuration As Code 還是 Infrastructure As Code 都強調,通過代碼管理的方式來管理環境,環境版本化是DevOps中快速創建和重複創建最重要的基礎。

週期表左側第二列就是各種可供選擇的軟件配置管理系統,如:GIT,SVN,Mercurial,GitHub,Bitbucket等。

對於實施DevOps來說,選擇哪種SCM的一個重要考慮點就是後續Automation和Cloud兩個環節中其它工具的集成情況如何。

SCM中所放置的內容又可細分為:

一個都不能少:DevOps的三大核心基礎架構

▲ SCM內容

環境配置:針對當前應用的固定環境配置;

環境數據:部署時根據情況調整的數據,如:配置文件,開發/測試/生產環境的地址等。

02

Automation自動化系統

自動化(Automation)是指所有的操作都不需要人工參與,全部依賴系統自動完成,比如上述的持續交付過程必須自動化才有可能完成快速迭代。DevOps需要構建相應的工具鏈,將工作任務自動化,才能實現自動化的持續交付流水線。

自動化在DevOps中一般由各種類型的Build系統來實現,如:Jekins,Team City,Travis CI,CC等。為了完成應用從開發環境到生產環境的遷移,開發者必須處理編譯、自動化測試、依賴恢復、容器構建、打包、編排等眾多操作。

這一過程就需要Junit,Xunit,FitNesse,Selenium,NuGet,NPM等額外配置工具協助實現。但這些工具只是在Automation中實現某一部分的功能,歸根結底,仍然是由Build系統驅動,並依賴於SCM中所提供的各種代碼來實現。

03

Cloud雲

雲(Cloud)是指一個獨特的IT環境,用於遠程提供可擴展和可測量的IT資源。在用戶看來,雲上的資源是可以無限擴展的,並且可以隨時獲取,按需使用。這種服務可以是與軟件、互聯網相關的,也可以是任意其他的服務。

雲計算是DevOps誕生的重要基礎。沒有云提供的可伸縮的、自服務的、虛擬化系統,DevOps理念只能是紙上談兵。

一個都不能少:DevOps的三大核心基礎架構

▲ 雲基本概念與模型

雲所提供的API對DevOps理念的落地非常重要,SCM的產出與Automation都需要調用雲API來完成應用部署。

通過雲API,只需少量的代碼即可快速操作雲產品;

在熟練的情況下,使用雲API 完成一些頻繁調用的功能可以極大提高效率;

通過API可以組合功能,實現更高級的功能,易於自動化,易於遠程調用,兼容性強,對系統要求低。

一個都不能少:DevOps的三大核心基礎架構

▲ 用戶調用雲API

雲是目前IT領域的熱點,企業的IT系統架構實施雲化的主要目標是提升IT資源的利用率、降低IT成本,促進企業IT建設從粗曠型方式到集約型方式的轉變。

通福雲分佈式研發雲平臺(CCS DevCloud),集雲端研發運營一體化的研發雲平臺,由中國通服集團集二十多年研發與實踐傾力打造。為客戶提供代碼託管、編譯構建、部署發佈、運維監控、項目管理等覆蓋軟件研發全生命週期服務,讓軟件構建、測試和發佈變得更快捷、可靠,全面助力企業快速提升研發效率和產品交付能力。


分享到:


相關文章: