Posso usar o Puppet para criar um Elastic Beanstalk?
A resposta curta é Não.
Como eu uso o Elastic Beanstalk?
Na verdade, você não gerencia sua infraestrutura (ou a tecnologia subjacente do aplicativo) com o Elastic Beanstalk, basta fazer o upload de seu aplicativo (por exemplo, usar o git para enviar seu código) e o Beanstalk implantá-lo para você.
AWS Elastic Beanstalk is an easy-to-use application management service for building web apps and web services with popular application containers such as Java, PHP, Python, Ruby and .NET. Customers upload their code and Elastic Beanstalk automatically does the rest.
Posso usar o CloudFormation e o Beanstalk juntos?
Sim. CF pode ajudá-lo a gerenciar uma longa lista de recursos da AWS, incluindo o Beanstalk.
A documentação do CF é um ótimo lugar para iniciar o link
Aqui estão os recursos que o CF pode gerenciar:
- AWS :: ElasticBeanstalk :: Application
- AWS :: ElasticBeanstalk :: ApplicationVersion
- AWS :: ElasticBeanstalk :: ConfigurationTemplate
- AWS :: ElasticBeanstalk :: Environment
Outras opções
Se você quiser mais controle, consulte o link do OpsWorks, que permite controlar a configuração do sistema operacional Chef (uma ferramenta CM semelhante ao Puppet).
Se você quiser ainda mais controle você poderia usar o CloudFormation diretamente, desta forma você poderia gerenciar todos os aspectos da sua infraestrutura (e então você terá controle total do EC2s para gerenciar como quiser, por exemplo com uma ferramenta CM como Fantoche, Chef ou Ansible).
Diferenças
OpsWorks & O Beanstalk é um serviço de gerenciamento de aplicativos.
AWS OpsWorks and AWS CloudFormation are both application management services that support application modeling, deployment, configuration, management, and related activities. Both support a wide variety of architectural patterns, from simple web applications to highly complex applications. AWS OpsWorks and AWS CloudFormation differ in abstraction level and areas of focus.
O CF permite gerenciar quase todos os recursos da AWS
AWS CloudFormation is a building block service that enables customers to provision and manage almost any AWS resource via a JSON-based domain specific language.
OpsWorks permite que você faça mais do que o Beanstalk
AWS OpsWorks supports a wider variety of architectural patterns than Elastic Beanstalk. Whereas AWS Elastic Beanstalk is specifically optimized for the most common web application and web service patterns and application middleware, AWS OpsWorks supports a wide variety of architectural patterns, from simple web applications to highly complex applications.
Revisão das opções
Eu gosto de ver essas opções como uma escala (da esquerda para a direita), com a esquerda sendo mais fácil de usar, e a direita dando a você mais controle (mas exigindo mais esforço para manter):
Beanstalk - > OpsWorks - > CloudFormation.