
我正在考慮使用 Puppet Enterprise 將伺服器/服務集部署到 Amazon Web Services。據我所知,最好的方法是透過雲形成。
根據我所讀到的內容,CloudFormation 定義如何設定/建立服務。然而,您使用 Puppet 來設置和維護伺服器/服務配置。
那麼兩個問題:
- 我可以使用 Puppet 建立 Elastic Beanstalk 嗎?
- 是否可以維護 Elastic Beanstalk 它是如何工作的?
背景
我的組織使用 Elastic Beanstalk 發布其現有的 Web 應用程式/服務,我希望保留此工作流程或在時間允許時從 Beanstalk 過渡到其他內容。
答案1
我可以使用 Puppet 建立 Elastic Beanstalk 嗎?
最簡潔的答案是不。
如何使用彈性豆莖?
您實際上並沒有使用 Elastic Beanstalk 管理您的基礎設施(或底層應用程式技術),您只需上傳您的應用程式(例如使用 git 推送您的程式碼)並讓 Beanstalk 為您部署它。
https://aws.amazon.com/elasticbeanstalk/details/
AWS Elastic Beanstalk 是一項易於使用的應用程式管理服務,用於使用流行的應用程式容器(例如 Java、PHP、Python、Ruby 和 .NET)建立 Web 應用程式和 Web 服務。客戶上傳程式碼,Elastic Beanstalk 會自動完成剩下的工作。
我可以同時使用 CloudFormation 和 Beanstalk 嗎?
是的。 CF 可以協助您管理一長串的 AWS 資源包括豆莖。
CF 文件是一個很好的起點http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
以下是 CF 可以管理的資源:
- AWS::ElasticBeanstalk::應用程式
- AWS::ElasticBeanstalk::應用程式版本
- AWS::ElasticBeanstalk::ConfigurationTemplate
- AWS::ElasticBeanstalk::環境
其他選項
如果您需要更多控制,您可能需要看看 OpsWorkshttps://aws.amazon.com/opsworks/它允許您透過 Chef(類似於 Puppet 的 CM 工具)控製作業系統配置。
如果您想要更多控制權,您可以直接使用 CloudFormation,這樣您就可以管理基礎架構的各個方面(然後您將完全控制 EC2,以您認為合適的方式進行管理,例如使用 Puppet、Chef 等 CM 工具或Ansible)。
差異
https://aws.amazon.com/opsworks/faqs/
OpsWorks 和 Beanstalk 是應用程式管理服務。
AWS OpsWorks 和 AWS CloudFormation 都是應用程式管理服務,支援應用程式建模、部署、配置、管理和相關活動。兩者都支援多種架構模式,從簡單的 Web 應用程式到高度複雜的應用程式。 AWS OpsWorks 和 AWS CloudFormation 在抽象層級和關注領域方面有所不同。
CF 可讓您管理幾乎所有 AWS 資源
AWS CloudFormation 是一項建置區塊服務,可讓客戶透過基於 JSON 的網域特定語言預設和管理幾乎所有 AWS 資源。
OpsWorks 能讓您做的不只是 Beanstalk
AWS OpsWorks 支援比 Elastic Beanstalk 更廣泛的架構模式。 AWS Elastic Beanstalk 專門針對最常見的 Web 應用程式和 Web 服務模式以及應用程式中間件進行了最佳化,而 AWS OpsWorks 支援各種架構模式,從簡單的 Web 應用程式到高度複雜的應用程式。
選項審查
我喜歡將這些選項視為一個比例(從左到右),左邊更容易使用,右邊給你更多的控制權(但需要更多的精力來維護):
Beanstalk -> OpsWorks -> CloudFormation。