Cloudformation的相關概念
AWS cloudformation是一項典型的(IAC)基礎架構即代碼服務。。通過編寫模板對亞馬遜雲服務的資源進行調用和編排。借助cloudformation可以極大幫助DevOps提升工作效率,減少重復勞動,配置和部署相關服務的時間,並把更多的精力花在應用程序領域。
引用AWS官網https://docs.aws.amazon.com對cloudformation服務的優勢總結:
- 簡化基礎設施管理
- 快速復制基礎設施
- 輕松控制和跟蹤基礎設施層的變更
部署業務:傳統環境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環境執行模板部署只需幾分鍾內即可完成,測試完成后在Staging和Production環境中部署時無需像以前那樣再次搭建各種基礎設施修改配置文件這類大量而且重復耗時的工作而是只需再次調用事先准備好的cloudformation模板即可。
上圖:在AWS上5分鍾內建好datecenter。絕非吹牛!
by:白刃霜飛
多年海內外系統,網絡,信息安全從業經驗。參與並主導多個世界500強企業大型IT項目,現任職於Simba Innvation的雲計算專家。