基于任何云托管服務(wù)構(gòu)建的大規(guī)模和高彈性應(yīng)用程序都需要自動(dòng)驗(yàn)證、基礎(chǔ)設(shè)施啟動(dòng)、開發(fā)和部署、質(zhì)量保證和基礎(chǔ)設(shè)施管理。傳統(tǒng)的基礎(chǔ)設(shè)施管理正在被為產(chǎn)品開發(fā)生命周期的所有階段構(gòu)建 CI/CD 管道所取代。
什么是開發(fā)運(yùn)營?
DevOps是軟件開發(fā)和運(yùn)營的結(jié)合。這是公司在敏捷開發(fā)過程中吸收的一種文化。持續(xù)集成、持續(xù)交付和持續(xù)部署的新方法隨著 DevOps 的興起而出現(xiàn),其重點(diǎn)是:
團(tuán)隊(duì)之間的溝通、協(xié)作和凝聚力
應(yīng)用變更、配置和部署自動(dòng)化的最佳實(shí)踐
更快地交付解決方案
監(jiān)控和規(guī)劃高速產(chǎn)品更新
CI/CD 擺脫了手動(dòng)門,實(shí)現(xiàn)了驗(yàn)收環(huán)境的全自動(dòng)驗(yàn)證,以確定管道是否可以繼續(xù)生產(chǎn)。
持續(xù)集成側(cè)重于代碼存儲(chǔ)庫中各個(gè)開發(fā)人員的軟件開發(fā)周期。這可以在一天內(nèi)多次執(zhí)行,主要目的是盡早發(fā)現(xiàn)集成錯(cuò)誤、更緊密的凝聚力和更多的開發(fā)協(xié)作。主要活動(dòng)包括靜態(tài)代碼分析、單元測試和自動(dòng)評審。
持續(xù)交付側(cè)重于在測試、暫存或生產(chǎn)環(huán)境中的自動(dòng)化代碼部署,批準(zhǔn)更新以實(shí)現(xiàn)自動(dòng)化軟件發(fā)布過程,搶先發(fā)現(xiàn)部署問題。
開發(fā)運(yùn)營的優(yōu)勢
改進(jìn)的協(xié)作、運(yùn)營支持和更快的修復(fù)
提高靈活性、敏捷性和可靠性
基礎(chǔ)設(shè)施安全和數(shù)據(jù)保護(hù)
更快的維護(hù)和升級
通過數(shù)字化戰(zhàn)略實(shí)現(xiàn)項(xiàng)目轉(zhuǎn)型
提高業(yè)務(wù)和 IT 團(tuán)隊(duì)的速度和生產(chǎn)力
AWS 提供了一組開發(fā)人員工具,可用于在完全安全、可擴(kuò)展、可維護(hù)且易于與現(xiàn)有 CI/CD 工具(如 Ansible、Chef、puppet、Terraform 等)集成的情況下實(shí)現(xiàn)開發(fā)運(yùn)營 CI/CD。
AWS 為虛擬機(jī)或基于容器的服務(wù)提供 CI/CD,以及用于管理(創(chuàng)建、更新和刪除)所有其他服務(wù)(如數(shù)據(jù)庫、存儲(chǔ)、計(jì)算機(jī)、機(jī)器學(xué)習(xí)等)的選項(xiàng)。
安全支柱的核心是保護(hù)信息、系統(tǒng)和資產(chǎn),同時(shí)滿足業(yè)務(wù)需求。
適用于開發(fā)運(yùn)營集成的 AWS 服務(wù)
AWS CloudFormation:提供為基礎(chǔ)設(shè)施和服務(wù)準(zhǔn)備模板的工具。模板可以用 JSON 和 YAML 編寫,并且可以通過版本控制進(jìn)行管理。這些模板可以在 Jenkins 或任何其他使用 AWSCLI 的 CI 服務(wù)器上執(zhí)行。Terraform 為 AWS 資源管理器提供了具有豐富控件的選項(xiàng),并通過狀態(tài)管理進(jìn)行了擴(kuò)展。
AWS OpsWorks:通過與配置管理軟件 (Chef) 集成和應(yīng)用程序生命周期管理等附加功能,提供更高級別的自動(dòng)化。
AWS CodePipeline: 持續(xù)交付和發(fā)布自動(dòng)化服務(wù),有助于順利部署。設(shè)計(jì)用于簽入代碼、生成代碼、將應(yīng)用程序部署到暫存、測試應(yīng)用程序以及將其發(fā)布到生產(chǎn)環(huán)境的開發(fā)工作流。
AWS CodeCommit: 托管專用 Git 存儲(chǔ)庫的安全、高度可縮放的托管源代碼管理服務(wù)。
AWS CodeDeploy:功能使您能夠在最短的停機(jī)時(shí)間內(nèi)跨 Amazon E2C 隊(duì)列部署應(yīng)用程序,集中控制并與現(xiàn)有軟件版本或持續(xù)交付流程集成。有第三方工具,如Claudia和Serverless,可以部署AWS lambda和elastic beanstalk。
AWS ElasticBeanstalk:支持自動(dòng)化和許多其他 DevOps 最佳實(shí)踐,包括自動(dòng)化應(yīng)用程序部署、監(jiān)控、基礎(chǔ)架構(gòu)配置和版本管理。應(yīng)用程序和基礎(chǔ)架構(gòu)更改可以輕松地后退和后滾。
亞馬遜云服務(wù)器:高度可擴(kuò)展且安全的容器服務(wù),用于存儲(chǔ) docker 映像。
AWS XRay: 記錄和跟蹤所有服務(wù)之間的通信,并檢測性能和應(yīng)用程序權(quán)限中的問題。
亞馬遜云科技配置:審計(jì)工具,用于監(jiān)控現(xiàn)有 AWS 賬戶資源,并在基礎(chǔ)設(shè)施發(fā)生任何更改時(shí)觸發(fā)警報(bào)。
AWS CloudTrail:支持治理、合規(guī)性、運(yùn)營審計(jì)和風(fēng)險(xiǎn)審計(jì)。
AWS CloudWatch:實(shí)時(shí)監(jiān)控所有 AWS 資源和應(yīng)用程序。為托管服務(wù)提供大量指標(biāo),以設(shè)計(jì)儀表板、警報(bào)和觸發(fā)器。
如今,傳統(tǒng)的功能領(lǐng)域正在瓦解,IT和開發(fā)人員角色合并并遵循一系列系統(tǒng)原則。
基礎(chǔ)結(jié)構(gòu)即代碼:以開發(fā)人員處理所有最佳做法和測試的代碼的方式對待基礎(chǔ)結(jié)構(gòu)。AWS 提供以開發(fā)運(yùn)營為中心的創(chuàng)建和維護(hù)基礎(chǔ)設(shè)施的方式。
持續(xù)部署:DevOps 策略的核心概念。其主要目標(biāo)是實(shí)現(xiàn)生產(chǎn)就緒應(yīng)用程序代碼的自動(dòng)部署。
自動(dòng)化:專注于基礎(chǔ)結(jié)構(gòu)和應(yīng)用程序的設(shè)置、配置、部署和支持
監(jiān)控:溝通和協(xié)作是 DevOps 策略的基礎(chǔ)。為了促進(jìn)這一點(diǎn),反饋至關(guān)重要。
安全性:關(guān)注安全性仍然至關(guān)重要。基礎(chǔ)設(shè)施和公司資產(chǎn)需要得到保護(hù),當(dāng)出現(xiàn)問題時(shí),需要迅速有效地解決這些問題。
為了使云軟件解決方案之旅順利、高效和有效,必須遵循 DevOps 原則和實(shí)踐。DevOps 已成為當(dāng)今技術(shù)世界中任何云解決方案不可或缺的一部分。
審核編輯:郭婷
-
代碼
+關(guān)注
關(guān)注
30文章
4788瀏覽量
68625 -
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
917瀏覽量
28209 -
AWS
+關(guān)注
關(guān)注
0文章
432瀏覽量
24370
發(fā)布評論請先 登錄
相關(guān)推薦
評論