1. 程式人生 > >DevOps on AWS之Cloudformation概念介紹篇

DevOps on AWS之Cloudformation概念介紹篇

Cloudformation的相關概念

AWS cloudformation是一項典型的(IAC)基礎架構即程式碼服務。。通過編寫模板對亞馬遜雲服務的資源進行呼叫和編排。藉助cloudformation可以極大幫助DevOps提升工作效率,減少重複勞動,配置和部署相關服務的時間,並把更多的精力花在應用程式領域。

 

引用AWS官網https://docs.aws.amazon.comcloudformation服務的優勢總結:

  1. 簡化基礎設施管理
  2. 快速複製基礎設施
  3. 輕鬆控制和跟蹤基礎設施層的變更

 

部署業務:傳統環境VS AWS雲環境

 

 

上圖:傳統環境以硬體為主,採購部署耗時耗力,資金,場地,裝置等資源開銷和大量浪費情況比比皆是,做不到按需使用按需付費。一個傳統硬體資料中心從部署到正式運營需要數月的時間!後期運維還要面對各類裝置故障和安全問題。

 AWS雲環境中,傳統環境的硬體裝置均虛擬化/邏輯化。部署靈活方便,資金開銷低,無場地需求,按需使用按需付費。點幾下滑鼠就可完成基礎設施構建,分鐘級的雲上資料中心從部署到使用時間。AWS雲的各種特性優勢例如auto-recovery可以讓使用者最大限度無視底層硬體裝置故障等問題。從資金開銷到技術保障的豐富方面秒殺傳統硬體環境資料中心。

 

部署業務:不使用
cloudformation VS 使用cloudformation

 

 上圖:不採用cloudformation的部署方式時,假設某個業務需要EC2+mysql+S3+pipeline的幾個服務組成。使用者需要在Development環境先部署,測試通過後再部署到Staging環境,通過測試後再部署到Production環境。同樣的工作需要重複3遍,這還只是某個單一業務。這種手動部署的速度和靈活程度雖遠遠快於傳統硬體資料中心,但任然達不到高效率DevOps工作的要求。真正的DevOps on AWS往往會採用下一種方式。

 

 

上圖:cloudformation模板部署業務方式,通過事先編寫好的

Yaml或者Json語言的模板進行AWS雲平臺的資源編排。把EC2+mysql+S3+pipeline等資源用模板進行宣告並呼叫。在Development環境執行模板部署只需幾分鐘內即可完成,測試完成後在StagingProduction環境中部署時無需像以前那樣再次搭建各種基礎設施修改配置檔案這類大量而且重複耗時的工作而是隻需再次呼叫事先準備好的cloudformation模板即可。

 

 

 

上圖:在AWS上5分鐘內建好datecenter。絕非吹牛!

 

 

by:白刃霜飛

多年系統,網路,資訊保安從業經驗。參與並主導多個世界500強企業大型IT專案,現任職於Simba Innvation的雲端計算專家。