AWS Elastic Beanstalk es una manera sencilla de gestionar e implementar aplicaciones rápidamente en la nube de AWS. Solo tiene que cargar su aplicación y Elastic Beanstalk gestionará de manera automática los detalles de implementación del aprovisionamiento de capacidad, equilibrio de carga, autoescalado y gestión del estado de la aplicación. Al mismo tiempo, con Elastic Beanstalk, tendrá el control absoluto de los recursos de AWS que potencian la aplicación y podrá acceder a los recursos subyacentes cuando quiera. Elastic Beanstalk utiliza los servicios de AWS, como Amazon Elastic Cloud Compute (Amazon EC2), Amazon Simple Storage Service (Amazon S3), Amazon Simple Notification Service (Amazon SNS), Elastic Load Balancing y Auto Scaling para ofrecer la misma infraestructura de alta fiabilidad, escalable y rentable de la que dependen miles de empresas hoy en día. AWS Elastic Beanstalk es fácil de iniciar e imposible de que se desajuste.
Muchos de los contenedores de la aplicación existente o soluciones de plataforma como servicio, aunque reducen la cantidad de programación necesaria, disminuyen significativamente el control y la flexibilidad de los desarrolladores. Los desarrolladores están obligados a vivir con las decisiones predeterminadas por el distribuidor; con pocas o ninguna oportunidad para llevar el control de varias partes de la infraestructura de la aplicación. Sin embargo, con Elastic Beanstalk, usted cuenta con el control absoluto sobre los recursos de AWS que potencian la aplicación. En caso de que quiera hacerse cargo de una parte de (o todos) los elementos de la infraestructura, lo puede hacer de un modo transparente mediante las funciones de gestión de Elastic Beanstalk.
Para garantizar una portabilidad sencilla de la aplicación, Elastic Beanstalk se compila mediante pilas de software conocido, como Apache HTTP Server para PHP y Python, Passenger para Ruby, IIS 7.5 para .NET y Apache Tomcat para Java. No se cargan tarifas adicionales por Elastic Beanstalk; solo paga por los recursos de AWS que necesite para almacenar y ejecutar las aplicaciones.
Para implementar aplicaciones de .NET con AWS Elastic Beanstalk, solo tiene que:
Para implementar aplicaciones de PHP con AWS Elastic Beanstalk, solo tiene que:
http://myapp.elasticbeanstalk.com/). Para implementar aplicaciones de Java con AWS Elastic Beanstalk, solo tiene que:
http://myapp.elasticbeanstalk.com/).
Una vez que se esté ejecutando una aplicación, Elastic Beanstalk proporciona varias características de gestión como:
Con Elastic Beanstalk, los desarrolladores cuentan con el control absoluto sobre los recursos de AWS que potencian la aplicación y, con solo ajustar las opciones de configuración predeterminadas desde la consola de gestión Elastic Beanstalk, pueden realizar una gran variedad de funciones, entre otras:
Es fácil empezar; Elastic Beanstalk es una forma rápida y sencilla de implementar su aplicación en AWS. Solo ha de utilizar AWS Management Console, la implementación de Git o un entorno de desarrollo integrado (IDE), como por ejemplo, Eclipse o Visual Studio para cargar la aplicación, y Elastic Beanstalk gestionará de manera automática los detalles de implementación de aprovisionamiento de capacidad, equilibrio de carga, autoescalado y supervisión del estado de la aplicación. En cuestión de minutos, la aplicación estará lista para utilizar sin tener que realizar ninguna tarea de infraestructura o de configuración de recursos por su parte.
Es imposible que se produzca un desajuste; Elastic Beanstalk aumenta o disminuye automáticamente la aplicación según la configuración predeterminada de Auto Scaling. Puede ajustar de manera fácil la configuración Auto Scaling en función de las necesidades específicas de su aplicación. Por ejemplo, puede utilizar la utilización de CPU para desencadenar acciones de Auto Scaling. Con Elastic Beanstalk, su aplicación puede gestionar picos en la carga de trabajo o tráfico mientras se minimizan los costes.
Control absoluto; Elastic Beanstalk le permite "abrir el capó" y tener el control absoluto sobre los recursos AWS que potencian la aplicación. En caso de que quiera hacerse cargo de parte de (o todos) los elementos de la infraestructura, lo puede hacer de un modo transparente mediante las funciones de gestión de Elastic Beanstalk. Por ejemplo, puede ir a archivos de registro, supervisar el estado de la aplicación, determinar las reglas de autoescalado, configurar las notificaciones de correo electrónico y pasar variables de entorno por la consola de Elastic Beanstalk.
Flexible; tiene la libertad de seleccionar el tipo de instancia de Amazon EC2 óptimo para su aplicación teniendo en cuenta los requisitos de la memoria y la CPU, y puede elegir entre distintas opciones de la base de datos. Por ejemplo, puede especificar una implementación compuesta de instancias con mucha memoria si su aplicación web consume una cantidad elevada.
Fiable; Elastic Beanstalk se ejecuta en la infraestructura de red demostrada y en los centros de datos y ofrece un entorno donde los desarrolladores pueden ejecutar aplicaciones que necesitan una durabilidad y una alta disponibilidad.
No existe un cobro adicional por Elastic Beanstalk; solo se paga por los recursos AWS subyacentes (p. ej. Amazon EC2, Amazon S3) que utiliza su aplicación.
Los nuevos clientes de AWS, que reúnen las condiciones para la capa de uso gratuito de AWS pueden implementar una aplicación en Elastic Beanstalk de manera gratuita, puesto que la configuración predeterminada de Elastic Beanstalk permite que una aplicación de poco tráfico se ejecute dentro de la capa gratuita sin incurrir en gastos. En caso de que estas aplicaciones necesiten más recursos que las que ofrece el entorno predeterminado, se les cobrará a los clientes la tarifa normal de AWS, por los recursos a mayores que consuma la aplicación.
Los costes de la ejecución de un sitio web mediante Elastic Beanstalk pueden variar en función de diversos factores, como el número de instancias de Amazon EC2 necesarias para gestionar el tráfico de su sitio web, el ancho de banda que ha consumido la aplicación y según qué opciones de almacenamiento o base de datos utilice la aplicación. Los costes principales para una aplicación web normalmente se generarán habitualmente por la(s) instancia(s) de Amazon EC2 y Elastic Load Balancing que distribuyen el tráfico entre las instancias en ejecución de su aplicación.
En los ejemplos de las tablas siguientes se indican los costes mensuales de ejecución de un sitio web con poco tráfico que utiliza la configuración predeterminada de Elastic Beanstalk, tanto con o sin la capa gratuita de AWS:
| Servicio y recurso | Unidad | Desglose del coste | Coste |
|---|---|---|---|
| Instancia t1.micro Amazon EC2 Linux | 1 | 0,02 USD/h * 24 horas * 30 días | 14,40 USD |
| Elastic Load Balancer | 1 | 0,025 USD/h * 24 horas * 30 días | 18,00 USD |
| Procesamiento de datos de Elastic Load Balancer | 15 GB | 0,008 USD/GB * 15 GB | 0,12 USD |
| Volumen de Elastic Block Store | 8 GB | 0,10 USD/GB * 8GB | 0,80 USD |
| S3 Storage para archivo WAR y Access | 1 GB | 0,125 USD/1 GB + 0,01 USD por <1k PUT + 0.01 USD por <10k GET | 0,15 USD |
| Banda ancha entrante y saliente | 15 GB | La entrada es gratuita, 15 GB de salida * 0,12 USD | 1,80 USD |
| Coste mensual toral sin la capa gratuita | 35,27 USD | ||
| Coste mensual toral con la capa gratuita | 0 USD |
| Servicio y recurso | Unidad | Desglose del coste | Coste |
|---|---|---|---|
| Instancia t1.micro Amazon EC2 Windows | 1 | 0,03 USD/h * 24 horas * 30 días | 21,60 USD |
| Elastic Load Balancer | 1 | 0,025 USD/h * 24 horas * 30 días | 18,00 USD |
| Procesamiento de datos de Elastic Load Balancer | 15 GB | 0,008 USD/GB * 15 GB | 0,12 USD |
| Volumen de Elastic Block Store | 8 GB | 0,10 USD/GB * 8GB | 0,80 USD |
| S3 Storage para archivo WAR y Access | 1 GB | 0,125 USD/1 GB + 0,01 USD por <1k PUT + 0.01 USD por <10k GET | 0,15 USD |
| Banda ancha entrante y saliente | 15 GB | La entrada es gratuita, 15 GB de salida * 0,12 USD | 1,80 USD |
| Coste mensual toral sin la capa gratuita | 42,47 USD | ||
| Coste mensual toral con la capa gratuita | 0 USD |
Para obtener más detalles sobre los precios del servicio AWS, consulte la sección de tarifas de las páginas de detalle del servicio AWS pertinente:
Tarifas de Amazon EC2 (incluidas las tarifas para instancias, equilibrio de carga, almacenamiento elástico en modo bloc y transferencia de datos)
Tarifas de Amazon S3 (incluidas las tarifas para la transferencia de datos y almacenamiento)
En caso de que desee utilizar el servicio de la base de datos AWS con Elastic Beanstalk, consulte los enlaces siguientes para visualizar las tarifas:
Tarifas de Amazon RDS (incluidas las tarifas para instancias de bases de datos, almacenamiento de la copia de seguridad y transferencia de datos)
Amazon DynamoDB (incluidos los precios para el almacenamiento de datos, la capacidad de rendimiento y la transferencia de datos)
Tarifas de Amazon SimpleDB (incluidas las tarifas para almacenamiento, procesamiento de datos y transferencia de datos)
Cuando se registra en Elastic Beanstalk, para evitar tener que registrarse por separado en todos los servicios de AWS Elastic Beanstalk que pueda utilizar, nosotros lo registramos automáticamente para estos servicios. Disfrutará de todos los servicios AWS y solo pagará por lo que utilice, sin tarifas mínimas ni compromisos iniciales.
Elastic Beanstalk permite implementar una aplicación de manera rápida mientras cuenta con todo el control que desee para tener sobre la infraestructura subyacente. Comienza creando una versión de la aplicación, que solo es una iteración identificada (p. ej. "Versión 1.5") del código desplegable de la aplicación, que se almacena en Amazon S3. Por ejemplo, una versión de aplicación hace referencia a una implementación de Git específico de una aplicación PHP. Elastic Beanstalk ofrece una serie de herramientas para facilitar la creación de versiones de la aplicación, que incluye AWS Management Console, la implementación de Git y la interfaz de línea de comandos, AWS Toolkit for Visual Studio y AWS Toolkit for Eclipse. A continuación, especifique qué versión de la aplicación quiere implementar y ejecútela en un entorno. Un entorno representa los recursos de AWS (por ejemplo, el equilibrador de carga, el grupo Auto Scaling o e instancias EC2) creados específicamente para ejecutar la aplicación. Cuando ejecuta un entorno, Elastic Beanstalk gestiona de manera automática los detalles de implementación de suministro de capacidad, equilibrio de carga, autoescalado y supervisión del estado de la aplicación, sin necesidad de especificar nada que tenga que ver con el tamaño o el tipo de estos recursos y le muestra una notificación una vez que se ha ejecutado el entorno. Asimismo, puede implementar una versión de la aplicación diferente para un entorno en ejecución si, por ejemplo, posee una versión más reciente del código que desea implementar o si desea volver a una versión anterior.
Un entorno que utilice la configuración predeterminada ejecutará una única instancia muy pequeña de Amazon EC2 (servidor de la aplicación) y Elastic Load Balancer. La instancia EC2 se configura para Auto Scaling, por lo que se agregarán instancias adicionales para gestionar los picos de la carga de trabajo o del tráfico (las instancias progresivas se descartarán si el tráfico disminuye). Elastic Beanstalk proporciona a su aplicación un (p. ej. http://myapp.elasticbeanstalk.com/), que se puede escribir en un navegador web para visualizar las aplicaciones en ejecución. Asimismo, el equilibrador de carga distribuye el tráfico entrante por varias instancias de Amazon EC2, a medida que su aplicación se aumenta o se reduce y, automáticamente, envía el tráfico entrante solo a instancias en buen estado para ofrecer un entorno fiable para la aplicación. Cada instancia de Amazon EC2 se crea a partir de imágenes de máquina de Amazon (AMI), que contienen toda la información necesaria para crear una nueva instancia de un servidor. Elastic Beanstalk utiliza la AMI de Amazon Linux o la AMI de Windows Server 2008 R2 de modo predeterminado. Estas AMI contienen todo el software para actuar tanto como un servidor web como un servidor de la aplicación (p. ej., Linux, Apache y PHP). En caso de que quiera ejecutar más de 10 entornos, cargue más de 500 versiones de la aplicación o ejecute más de 20 instancias de Amazon EC2. Complete el formulario de solicitud de límite de AWS Elastic Beanstalk y evaluaremos las solicitudes cuanto antes.
La mejor manera de empezar a utilizar AWS Elastic Beanstalk es con la ayuda de la Guía de primeros pasos, que forma parte de nuestra documentación técnica. En unos minutos, podrá implementar y utilizar una aplicación de muestra o cargar su propia aplicación.
El uso que realice de este servicio está sujeto al Contrato de cliente de Amazon Web Services.