DevOps on AWS之OpsWorks初體驗


AWS OpsWorks 是一款配置管理服務,提供 Chef 和 Puppet 的托管EC2虛擬機實例Chef 和 Puppet 是自動化平台,允許用戶使用代碼來自動配置服務器。用戶借助OpsWorks可以使用 Chef或Puppet 自動完成所有 EC2 實例或本地計算環境中的服務器配置、部署和管理。OpsWorks 提供三種產品:AWS Opsworks for Chef AutomateAWS OpsWorks for Puppet Enterprise 和 AWS OpsWorks Stacks

 

引用AWS官網https://docs.aws.amazon.comOpsWorks服務的介紹:

 AWS OpsWorks for Chef Automate一款完全托管的配置管理服務,可托管 Chef Automate,后者是出自 Chef 的一套用於配置管理、確保合規性與安全性以及持續部署的自動化工具。

AWS OpsWorks for Puppet Enterprise一個完全托管的配置管理服務,它托管 Puppet Enterprise,后者是一套來自 Puppet 的用於基礎設施和應用程序管理的自動化工具。

AWS OpsWorks Stacks:一款應用程序和服務器管理服務。利用 OpsWorks Stacks,客戶可以將自己的應用程序塑造成一個包含不同層級 (例如負載均衡層、數據庫層和應用程序服務器層) 的堆棧。

 

上圖:一個典型的OpsWorks Stack的層級關系架構圖,由負載均衡+應用服務器+數據庫集群組成。

 

傳統環境DevOps VS 基於OpsWorksDevOps

傳統環境中使用DevOps解決方案往往需要手動對相關的工具Server端服務器進行部署並在客戶端上安裝agent。而OpsWorks可以讓客戶免除安裝這些agent的時間和Server端服務器需要付出的資源開銷和維護精力,維護好chef/puppet的狀態文件即可。

 

長話短說,讓我們通過動手實驗來親自體驗一下AWS的自動化批量運維管理產品OpsWorks

 

首先我們來到AWS webconsole界面,打開OpsWorks服務

上圖:點擊Add your first stack開始OpsWorks探索之旅。

上圖:我們選擇一個Node.js appSample stack進行創建。

 

上圖:在創建好后選擇Explore the sample stack

上圖:進入Node.js APP Server界面后可以看到chef recipeURL,我們點擊右上角的Instance按鍵去啟動EC2 Instance

上圖:點擊startEC2啟動后會自動的安裝chefagent並拉取chef的配置狀態文件並且會按照chef recipe定義的文件進行服務器的軟件安裝和配置等工作。

 

上圖:已經啟動並拉取了chef recipeEC2相關信息。可以選擇SSHRun Command等操作。

上圖:點擊EC2URL可以訪問由OpsWorks創建的拉取了Chef recipeNode.JS APP

上圖:通過Add Layer。可以輕松的增加業務服務器,比如此處我們再增加一個PHP服務的Layer。同樣的PHP Layer的服務器會在啟動時自動的安裝chef agent並加載recipe。用戶只需維護好chef recipe即可。

 

總結一下:OpsWorks作為一種典型的AWS公有雲自身的DevOps產品,確實擁有不少優勢例如配置管理簡單,圖形化功能強大邏輯清晰以及與AWS其他雲組件的契合度好的諸多特點。如果客戶公司有擅長使用puppet,chef等工具的DevOps工程師,很推薦使用OpsWorks。如果客戶公司的DevOpspuppet,chef等並不熟悉,可以推薦使用Ansible或者Terraform等第三方產品用於AWS雲平台的運維工作,也是不錯的選擇。

 

 

by:白刃霜飛

 

 多年海內外系統,網絡,信息安全從業經驗。參與並主導多個世界500強企業大型IT項目,現任職於Simba Innvation的雲計算專家。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM