
Estou pensando em usar o Puppet Enterprise para implantar conjuntos de servidores/serviços na Amazon Web Services. Pelo que eu sei, a melhor maneira de fazer isso é atravésCloudFormação.
Com base no que li, CloudFormation define como configurar/criar serviços. Considerando que você usa o Puppet para configuraremanter a configuração do servidor/serviço.
Então, duas perguntas:
- Posso usar o Puppet para criar um Elastic Beanstalk?
- É possível manter um Elastic Beanstalk e como isso funcionaria?
Fundo
Minha organização usa o Elastic Beanstalk para publicar seus aplicativos/serviços web existentes e eu gostaria de manter esse fluxo de trabalho ou fazer a transição de um Beanstalk para outro, conforme o tempo permitir.
Responder1
Posso usar o Puppet para criar um Elastic Beanstalk?
A resposta curta é não.
Como uso o Elastic Beanstalk?
Na verdade, você não gerencia sua infraestrutura (ou a tecnologia de aplicativo subjacente) com o Elastic Beanstalk, apenas carrega seu aplicativo (por exemplo, use git para enviar seu código) e o Beanstalk o implanta para você.
https://aws.amazon.com/elasticbeanstalk/details/
O AWS Elastic Beanstalk é um serviço de gerenciamento de aplicativos fácil de usar para criar aplicativos e serviços web com contêineres de aplicativos populares, como Java, PHP, Python, Ruby e .NET.Os clientes fazem upload do código e o Elastic Beanstalk faz o resto automaticamente.
Posso usar o CloudFormation e o Beanstalk juntos?
Sim. CF pode ajudá-lo a gerenciar uma longa lista de recursos da AWSIncluindoPé de feijão.
A documentação do CF é um ótimo lugar para começarhttp://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
Aqui estão os recursos que o CF pode gerenciar:
- AWS::ElasticBeanstalk::Aplicativo
- AWS::ElasticBeanstalk::ApplicationVersion
- AWS::ElasticBeanstalk::ConfigurationTemplate
- AWS::ElasticBeanstalk::Ambiente
Outras opções
Se você deseja mais controle, pode dar uma olhada no OpsWorkshttps://aws.amazon.com/opsworks/que permite controlar a configuração do sistema operacional via Chef (uma ferramenta CM semelhante ao Puppet).
Se você quiser ainda MAIS controle, você pode usar o CloudFormation diretamente, dessa forma você pode gerenciar todos os aspectos da sua infraestrutura (e então terá controle total dos EC2s para gerenciar da maneira que achar melhor, por exemplo, com uma ferramenta CM como Puppet, Chef ou Ansible).
Diferenças
https://aws.amazon.com/opsworks/faqs/
OpsWorks e Beanstalk são serviços de gerenciamento de aplicativos.
AWS OpsWorks e AWS CloudFormation são serviços de gerenciamento de aplicativos que oferecem suporte à modelagem, implantação, configuração, gerenciamento de aplicativos e atividades relacionadas. Ambos suportam uma ampla variedade de padrões de arquitetura, desde aplicações web simples até aplicações altamente complexas. AWS OpsWorks e AWS CloudFormation diferem em nível de abstração e áreas de foco.
CF permite que você gerencie quase todos os recursos da AWS
O AWS CloudFormation é um serviço básico que permite aos clientes provisionar e gerenciar praticamente qualquer recurso da AWS por meio de uma linguagem específica de domínio baseada em JSON.
OpsWorks permite que você faça mais do que Beanstalk
O AWS OpsWorks oferece suporte a uma variedade maior de padrões de arquitetura do que o Elastic Beanstalk. Enquanto o AWS Elastic Beanstalk é otimizado especificamente para os padrões mais comuns de aplicações web, serviços web e middleware de aplicações, o AWS OpsWorks oferece suporte a uma ampla variedade de padrões de arquitetura, desde aplicações web simples até aplicações altamente complexas.
Revisão de opções
Gosto de ver essas opções como uma escala (da esquerda para a direita), sendo a esquerda mais fácil de usar e a direita dando mais controle (mas exigindo mais esforço para manter):
Beanstalk -> OpsWorks -> CloudFormation.