【DevOps入門篇】DevOps的3大核心基礎架構
由于近年DevOps概念的火熱,加之DevOps的涵蓋面非常廣,因此有很多文章和技術都在和DevOps強行關聯,使很多想要了解學習DevOps的開發者迷惑不解。
其實,DevOps的知識體系如果從頂層上來分解,可大分為2部分:方法論和工具鏈。
方法論這部分,因為DevOps的很多理念脫胎于敏捷,所以你所能了解到的各種敏捷理念,實踐和方法都可以作為DevOps知識體系的一部分,這部分在本文中不做贅述。
本文主要說說關于DevOps工具鏈這部分內容。
下圖是一個DevOps工具鏈的元素周期表,提供給您作為參考。
雖然表中內容十分全面,但并不易于理解與記憶,因此我們在這里DevOps的工具進行一個總結與歸納。
簡而言之,實現DevOps工具鏈,基本需要3個核心基礎架構:
SCM配置管理系統
Automation自動化系統
Cloud云(或者說可伸縮的、自服務的、虛擬化系統)
配置管理是DevOps最底層的基礎設施。無論是Configuration As Code,還是Infrastructure As Code,強調的都是用管理代碼的方式來管理環境。將環境版本化,無論對于快速創建,還是可穩定的重復創建這些DevOps的基本要求來說,都是最重要的基礎。
在周期表的左側第二列所列出的就是各種可供選擇的配置管理系統,如:GIT、SVN、Mercurial、GitHub、Bitbucket 等。對于DevOps實施來說,選擇哪種SCM的一個重要考慮點,就是后續的Automation和Cloud這兩個環節中的其它工具對這些工具的集成情況如何。作為近年來比較受歡迎的Git來說,這一切都不是問題,當然是最好的選擇。
SCM中所放置的內容又可以再分成2個層次,分別為:
1)AppCode:即應用代碼。
2)EnvCode:即環境相關的代碼,這部分內容又可以進一步細化成環境配置(Config)和配置數據(ConfigData)。
環境配置:指那些針對當前應用基本上固定的環境配置。
環境數據:值那些需要在部署的同時根據情況調整的數據,如:配置文件,開發、測試、生產環境的地址等等。
自動化在DevOps中的作用不言而喻,這部分的主線一般由各種類型的Build系統來實現,如:Jekins、Team City、Travis CI、CC等等。僅僅有這些還不夠,為了能夠完成應用從開發環境到生產環境的遷移,我們還必須處理如編譯、自動化測試、依賴恢復、容器構建、打包、編排等很多操作,因此還需要配置如Junit、Xunit、FitNesse、Selenium、NuGet、NPM、JMeter等許多其它的工具來實現。但這些工具只是在自動化系統中實現某一部分的功能,一般都需要由Build系統來驅動,并依賴于SCM中所提供的各種代碼來實現的。
因此我們現在通常選擇華為云DevCloud這樣能幫助團隊完成DevOps端到端打通全流程的工具。在華為云DevCloud中提供了敏捷項目管理、配置管理、云測、部署、以及自動化流水線的DevOps端到端服務。通過DevCloud,用戶可以一站式完成所有開發工作。
云服務的出現應該是催生DevOps的重要因素,沒有云服務所提供的彈性、自服務等特性,很多DevOps的理念只能停留在紙面上。
對于DevOps實施來說,我們需要了解的就是各種云所提供的API,因為無論是自動化系統還是前面的SCM的產出,最終都需要調用這些API來完成最終應用部署。
在華為云DevCloud中,我們可以通過DevCloud直接調用華為云的其他公有云服務,例如ECS、CCE、SWR等,并可通過這些云服務幫助用戶完成豐富多樣的產品需求。
1)通過編譯構建任務的配置,將Docker鏡像直接上傳至SWR鏡像倉庫。
2)通過調用ECS服務,直接將構建好的軟件包部署到云主機中。
華為云應用平臺部首席技術布道師,資深云計算、DevOps與精益敏捷專家。中國DevOps社區核心組織者,IDCF社區聯合發起人,《敏捷無敵之DevOps時代》,《DevOps業務視角》,《敏捷開發知識體系》《DevOps最佳實踐》等書作(譯)者。華為云HCIP DevOps Engineer構建者, SAFe SPC規模化敏捷咨詢師, CSM, Management 3.0,Facilitation for Agilists,DevOps沙盤官方授權教練,埃里克森認證教練。
DevOps 容器
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。