Administrar AWS Beanstalks con Puppet

Administrar AWS Beanstalks con Puppet

Estoy pensando en utilizar Puppet Enterprise para implementar conjuntos de servidores/servicios en Amazon Web Services. Por lo que puedo decir, la mejor manera de hacerlo es a través deFormación en la nube.

Según lo que he leído, CloudFormation define cómo configurar/crear servicios. Mientras que usas Puppet para configurarymantener la configuración del servidor/servicio.

Entonces dos preguntas:

  1. ¿Puedo usar Puppet para crear Elastic Beanstalk?
  2. ¿Es posible mantener un Elastic Beanstalk y cómo funcionaría?

Fondo

Mi organización utiliza Elastic Beanstalk para publicar sus aplicaciones/servicios web existentes y me gustaría conservar este flujo de trabajo o hacer la transición de Beanstalk a otra cosa, según lo permita el tiempo.

Respuesta1

¿Puedo usar Puppet para crear Elastic Beanstalk?

La respuesta corta es no.

¿Cómo uso Elastic Beanstalk?

En realidad, no administra su infraestructura (o la tecnología de la aplicación subyacente) con Elastic Beanstalk, simplemente carga su aplicación (por ejemplo, usa git para enviar su código) y Beanstalk la implementa por usted.

https://aws.amazon.com/elasticbeanstalk/details/

AWS Elastic Beanstalk es un servicio de administración de aplicaciones fácil de usar para crear aplicaciones y servicios web con contenedores de aplicaciones populares como Java, PHP, Python, Ruby y .NET.Los clientes cargan su código y Elastic Beanstalk hace el resto automáticamente.

¿Puedo utilizar CloudFormation y Beanstalk juntos?

Sí. CF puede ayudarle a administrar una larga lista de recursos de AWSincluidoTallo de habichuelas.

La documentación de CF es un excelente lugar para comenzar.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html

Estos son los recursos que la CF puede gestionar:

  • AWS::ElasticBeanstalk::Aplicación
  • AWS::ElasticBeanstalk::Versión de aplicación
  • AWS::ElasticBeanstalk::Plantilla de configuración
  • AWS::ElasticBeanstalk::Medio ambiente

Otras opciones

Si buscas más control, es posible que desees consultar OpsWorks.https://aws.amazon.com/opsworks/que le permite controlar la configuración del sistema operativo a través de Chef (una herramienta CM similar a Puppet).

Si desea aún MÁS control, puede usar CloudFormation directamente, de esta manera podrá administrar todos los aspectos de su infraestructura (y luego tendrá control total de los EC2 para administrarlos como mejor le parezca, por ejemplo, con una herramienta CM como Puppet, Chef). o Ansible).

Diferencias

https://aws.amazon.com/opsworks/faqs/

OpsWorks y Beanstalk son servicios de gestión de aplicaciones.

AWS OpsWorks y AWS CloudFormation son servicios de administración de aplicaciones que admiten el modelado, la implementación, la configuración, la administración y actividades relacionadas de aplicaciones. Ambos admiten una amplia variedad de patrones arquitectónicos, desde aplicaciones web simples hasta aplicaciones altamente complejas. AWS OpsWorks y AWS CloudFormation difieren en el nivel de abstracción y las áreas de enfoque.

CF le permite administrar casi cualquier recurso de AWS

AWS CloudFormation es un servicio básico que permite a los clientes aprovisionar y administrar casi cualquier recurso de AWS a través de un lenguaje específico de dominio basado en JSON.

OpsWorks te permite hacer más que Beanstalk

AWS OpsWorks admite una variedad más amplia de patrones arquitectónicos que Elastic Beanstalk. Mientras que AWS Elastic Beanstalk está optimizado específicamente para los patrones de aplicaciones y servicios web más comunes y el middleware de aplicaciones, AWS OpsWorks admite una amplia variedad de patrones arquitectónicos, desde aplicaciones web simples hasta aplicaciones altamente complejas.

Revisión de opciones

Me gusta ver estas opciones como una escala (de izquierda a derecha), donde la izquierda es más fácil de usar y la derecha le brinda más control (pero requiere más esfuerzo para mantenerla):

Beanstalk -> OpsWorks -> CloudFormation.

información relacionada