亞馬遜AWS與DevOps
2022-04-24閱讀 404

亞馬遜AWS云平臺占全球公有云市場份額的1/3左右,現(xiàn)居云計算服務(wù)的龍頭企業(yè)。其優(yōu)勢主要體現(xiàn)在是世界上第一個投入云服務(wù)領(lǐng)域的提供商,自身有其先發(fā)優(yōu)勢,比如其基于自研芯片(Nitro架構(gòu))率先實現(xiàn)云服務(wù)器與物理設(shè)備的解耦,而不是依靠如Linux操作系統(tǒng)的特定模塊來實現(xiàn)虛擬化。

 

另外AWS的云產(chǎn)品與DevOps有著緊密的關(guān)聯(lián)關(guān)系。對DevOps的概念認(rèn)知,亞馬遜與其他的云廠商是一致的。DevOps被認(rèn)為是文化、工程實踐和支持服務(wù)快速交付模式以及工具的組合,可以提升應(yīng)用DevOps的企業(yè)或組織以更高速率和更高質(zhì)量交付應(yīng)用程序和服務(wù)的能力。

 

通用的DevOps工程實踐包括,持續(xù)集成(Continue Integration)、持續(xù)交付(Continue Delivery)、基礎(chǔ)設(shè)施即代碼(Infrastructure as Code)和監(jiān)控與日志記錄(Monitoring and Logging)。

 

以下是DevOps工程實踐的概略介紹:

 

1、持續(xù)集成:一種軟件開發(fā)實踐,開發(fā)人員定期將代碼的更改或新增代碼合并到中央存儲庫中,然后執(zhí)行代碼的自動編譯和自動化測試;

2、持續(xù)交付:針對有更改代碼的軟件應(yīng)用,以自動化的方式完成新代碼的編譯、測試,并把測試通過的軟件應(yīng)用投入到生產(chǎn)環(huán)境;

3、基礎(chǔ)設(shè)施即代碼:通過腳本或代碼驅(qū)動云平臺資源的動態(tài)部署,尤其是針對云虛擬機、云網(wǎng)絡(luò)和云數(shù)據(jù)庫等云產(chǎn)品的自動化部署能力,即實現(xiàn)在云平臺上DevOps持續(xù)交付能力;

4、監(jiān)控與日志記錄:通過即時監(jiān)控和狀態(tài)日志的形式記錄應(yīng)用程序或云基礎(chǔ)設(shè)施對使用用戶的直接影響和最終的用戶體驗。

 

在持續(xù)集成層面,AWS云平臺可以支持云用戶在其所購買的云服務(wù)器上實現(xiàn)持續(xù)集成的能力,也可以通過AWS的Lamda無服務(wù)器產(chǎn)品服務(wù)以目前比較流行的方式來幫用戶構(gòu)建持續(xù)集成能力。并且,AWS同樣支持與Ansible和Chef這樣的經(jīng)典的DevOps持續(xù)集成工具的整合。

 

在持續(xù)交付方面,AWS云平臺有一種叫CloudFormation的產(chǎn)品工具來實現(xiàn)云資源的配置管理和自動化部署。云用戶可以通過JavaScript Object Notation (JSON)或Yet Another Markup Language (YAML)格式的配置文件來提交各種云資源的組合部署需求,CloudFormation可以通過解析如上配置文件來實現(xiàn)多種云產(chǎn)品的聯(lián)合部署。目前可以支持自動化部署的云計算資源涵蓋多個方面,其中最為典型的是云虛擬機、安全組、彈性伸縮、云網(wǎng)絡(luò)和云數(shù)據(jù)庫等云基礎(chǔ)設(shè)施產(chǎn)品的自動化部署。而云用戶可以通過AWS提供的自動化部署軟件Elastic Beanstalk輕松實現(xiàn)其所屬應(yīng)用的自動化部署。

 

在監(jiān)控與日志記錄方面,AWS云平臺提供DevOps Guru的產(chǎn)品,該產(chǎn)品會持續(xù)分析異構(gòu)數(shù)據(jù)的數(shù)據(jù)流并監(jiān)控在云平臺上的數(shù)千個指標(biāo),以確定應(yīng)用程序行為的正常界限,自動識別偏離正?;顒拥那闆r,并顯示嚴(yán)重程度較高的問題以快速提醒云用戶執(zhí)行必要的操作。DevOps Guru通過利用機器學(xué)習(xí)等技術(shù)手段幫助縮短用戶在使用云產(chǎn)品的問題解決時間,結(jié)合問題上下文信息,協(xié)助識別問題的根本原因并生成解決的見解意見。

 

總之,類似于AWS的云平臺對DevOps提供了很好的技術(shù)支撐,而DevOps也被人們稱為是一種云原生的技術(shù),即DevOps就是一種典型的云產(chǎn)品。