1. 程式人生 > >DevOps on AWS之OpsWorks初體驗

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.com

OpsWorks服務的介紹:

 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的雲端計算專家。