ya no se encuentra en sus etapas primarias. Ahora está bien establecido yestá sirviendo como una plataforma innovadora, permitiendo a las empresas implementar aplicaciones que serían imposibles de entregar en la infraestructura tradicional.Este éxito ha ido acompañado de un aumento exponencial de , Siendo PaaS uno de ellos. Amazon ha lanzado su propio servicio que sigue el modelo PaaS, que es AWS ¡Elastic Beanstalk!
Echemos un vistazo a los temas cubiertos en este artículo de AWS Beanstalk:
- ¿Qué es Amazon Elastic Beanstalk?
- Beneficios de AWS Elastic Beanstalk
- Componentes de AWS Elastic Beanstalk
- Arquitectura de AWS Elastic Beanstalk
- Demostración: implementar una aplicación en Beanstalk
¿Qué es Amazon Elastic Beanstalk?
Cloud Computing está remodelando todo el proceso de desarrollo de aplicaciones. Varios proveedores de nube, incluidosAmazon Web Services y Microsoft Azure ofrecen herramientas de desarrollo para ayudar a que el proceso sea más simple y seguro. AWS Elastic Beanstalk es una de esas herramientas de desarrollo implementadas en base al modelo PaaS.
AWS Elastic Beanstalk es un servicio fácil de usar para implementar y escalar aplicaciones y servicios web desarrollados con Java, .NET, PHP, Node.js, Python, Ruby, Go y Docker en servidores conocidos como Apache, Nginx, Passenger e IIS.
Con AWS Elastic Beanstalk, un desarrollador puede implementar una aplicación sin aprovisionar la infraestructura subyacente mientras mantiene una alta disponibilidad. Eche un vistazo al siguiente video para saber más sobre Elastic Beanstalk.
Tutorial de AWS Elastic Beanstalk | Edureka
Pero, ¿por qué elegir Elastic Beanstalk cuando ya tenemos muchas otras plataformas? Entonces, analicemos los beneficios de Elastic Beanstalk.
Beneficios de AWS Elastic Beanstalk
A continuación, se muestran algunos beneficios que AWS Elastic Beanstalk ofrece sobre otros servicios PaaS.
Ofrece una implementación más rápida: Elastic Beanstalk ofrece a los desarrolladores la forma más rápida y sencilla de implementar su aplicación. En cuestión de minutos, la aplicación estará lista para usarse sin que los usuarios tengan que lidiar con la infraestructura subyacente o la configuración de recursos.
¿Cuál es la diferencia entre git y github?
Soporta Multi-inquilinoArquitectura: AWS Elastic Beanstalk hace posible que los usuarios compartan sus aplicaciones en diferentes dispositivos con alta escalabilidad y seguridad. Proporciona un informe detallado del uso de la aplicación y los perfiles de usuario.
Simplifica las operaciones: Beanstalk aprovisiona y opera la infraestructura y administra la pila de aplicaciones. Los desarrolladores solo deben concentrarse en desarrollar código para su aplicación en lugar de dedicar tiempo a administrar y configurar servidores, bases de datos, firewalls y redes.
Ofrece control de recursos completo: Beanstalk da develocistasla libertad de seleccionar el AWS recursos, como Instancia EC2 tipo, que sean óptimos para su aplicación. Permite a los desarrolladores mantener el control total sobre los recursos de AWS y acceder a ellos en cualquier momento.
Ahora que tenemos razones sólidas para creer por qué los desarrolladores prefieren AWS Elastic Beanstalk, echemos un vistazo a sus conceptos fundamentales.
¿Quiere ser un arquitecto certificado de AWS?Componentes de AWS Elastic Beanstalk
Hay ciertos conceptos clave con los que se encontrará con frecuencia cuando implemente una aplicación en Beanstalk. Echemos un vistazo a esos conceptos:
Solicitud:
- Una aplicación en Elastic Beanstalk es conceptualmente similar a una carpeta
- Una aplicación es una colección de componentes que incluyen entornos, versiones y configuración del entorno
Versión de la aplicación:
- Una versión de la aplicación se refiere a una iteración etiquetada específica de código implementable para una aplicación web.
- Una versión de la aplicación apunta a un objeto de Amazon S3 que contiene el código implementable, como un archivo WAR de Java
Ambiente:
- Los entornos dentro de la aplicación Elastic Beanstalk es donde estará activa la versión actual de la aplicación.
- Cada entorno ejecuta solo una versión de la aplicación a la vez. Pero es posible ejecutar versiones iguales o diferentes de una aplicación en muchos entornos al mismo tiempo
Nivel ambiental:
Según los requisitos, beanstalk ofrece dos niveles de entorno diferentes: Servidor webAmbiente, Ambiente del trabajador
- Entorno de servidor web: ManejasSolicitudes HTTP de clientes
- TrabajadorMedio Ambiente: Procesostareas en segundo plano que consumen muchos recursos y tiempo
Aquí hay una ilustración para mostrar cómoAplicación, versión de la aplicación y entornosrelacionarse entre sí:
Y así es como se ve Beanstalk Environment usando el tipo de contenedor predeterminado:
Ahora que conoce los diferentes conceptos clave relacionados con Elastic Beanstalk, comprenda la arquitectura de Elastic Beanstalk.
Arquitectura de AWS Elastic Beanstalk
Antes de entrar en la arquitectura de AWS Elastic Beanstalk, respondamos la pregunta más frecuente,
¿Qué es un entorno de Elastic Beanstalk?
Entorno se refiere a la versión actual de la aplicación. Cuando inicia un entorno para su aplicación, Beanstalk le pide que elija entre dos niveles de entorno diferentes, es decir, Web Servidor Ambiente o Entorno del trabajador . Vamos a entenderlos uno por uno.
Entorno de servidor web
La versión de la aplicación que está instalada en el entorno del servidor web maneja las solicitudes HTTP del cliente. El siguiente diagrama ilustra un ejemplo de arquitectura de AWS Elastic Beanstalk para un nivel de entorno de servidor web y muestra cómo los componentes de ese tipo de nivel de entorno funcionan juntos.
Entorno Beanstalk - El medio ambiente es el corazón de la aplicación. Cuando inicia un entorno, Beanstalk asigna varios recursos necesarios para ejecutar la aplicación correctamente.
Balanceador de carga elástico - Cuando la aplicación recibe varias solicitudes de un cliente, Amazon Route53 reenvía estas solicitudes al Elastic Load Balancer. El equilibrador de carga distribuye las solicitudes entre las instancias EC2 de Auto Scaling Group.
programa de ordenación de selección en java
Grupo de Auto Scaling - Auto Scaling Group inicia automáticamente instancias de Amazon EC2 adicionales para adaptarse a la carga creciente en su aplicación. Si la carga en su aplicación disminuye, Amazon EC2 Auto Scaling detiene las instancias, pero siempre deja al menos una instancia en ejecución.
Administrador de host - Es un componente de software que se ejecuta en cada instancia EC2 que se ha asignado a su aplicación. El administrador de host es responsable de varias cosas como
- Generar y monitorear archivos de registro de aplicaciones
- Generando eventos a nivel de instancia
- Supervisión del servidor de aplicaciones
Grupos de seguridad - Security Group es como un firewall para su instancia. Elastic Beanstalk tiene un grupo de seguridad predeterminado, que le permite al cliente acceder a la aplicación usando el puerto HTTP 80. También le brinda una opción donde puede definir grupos de seguridad para el servidor de la base de datos. La siguiente imagen resume lo que hemos aprendido sobre el entorno de servidor web.
Eso es todo sobre el entorno del servidor web. Pero, ¿qué sucede si la versión de la aplicación instalada en el nivel de servidor web sigue negando múltiples solicitudes porque ha encontrado tareas que consumen mucho tiempo y recursos mientras maneja una solicitud? Bueno, aquí es donde Worker Tier entra en escena.
¿Quiere llevar su conocimiento de la 'nube' al siguiente nivel?Entorno del trabajador
Un trabajador es un proceso en segundo plano independiente que ayuda al nivel del servidor web a gestionar operaciones que consumen muchos recursos o tiempo. Además, también envía notificaciones por correo electrónico, genera informes y limpia las bases de datos. Esto hace posible que la aplicación siga respondiendo y maneje múltiples solicitudes.
Eso es genial, pero ¿cómo sabe el proceso Worker qué tareas manejar y cuándo? ¿Cómo se comunican estos dos niveles de entorno? Para eso, utilizamos un servicio de cola de mensajes de AWS llamado Amazon Simple Queue Service (SQS). La siguiente imagen le da una idea aproximada de cómo el proceso de trabajo recibe y maneja las tareas en segundo plano.
El flujo de trabajo del proceso de trabajo es bastante simple. Cuando lanza un nivel de entorno de trabajo, Elastic Beanstalk instala un demonio en cada instancia EC2 del grupo de Auto Scaling. El daemon extrae las solicitudes enviadas desde una cola de Amazon SQS. Según la prioridad de la cola, SQS enviará el mensaje a través de unENVIAR
solicitud a la ruta HTTP del entorno de trabajo. El trabajador al recibir elmessage ejecuta las tareas y envía una respuesta HTTP una vez que se realiza la operación. SQS al recibir el mensaje de respuesta elimina el mensaje de la cola. Si no recibe una respuesta, reintentará continuamente enviar los mensajes.
Ahora que hemos visto Elastic Beanstalk teóricamente, en el resto de este blog veremos cómo implementar una aplicación en Elastic Beanstalk.
Implementar una aplicación en Elastic Beanstalk
La implementación de una aplicación en Elastic Beanstalk es un proceso bastante simple. Veamos cómo implementar una aplicación paso a paso.
Paso 1: En la consola de Elastic Beanstalk, haga clic en Crear nueva aplicación opción. Aparece un cuadro de diálogo donde puede dar un nombre y una descripción adecuada para su aplicación.
Paso 2: Ahora que se ha creado la carpeta de la aplicación, puede hacer clic en el Pestaña Acciones y seleccione Crear entorno opción. Beanstalk le brinda una opción en la que puede crear múltiples entornos para su aplicación.
Paso 3: Elija entre dos opciones de Nivel de entorno diferentes. Elija Entorno de servidor web si desea que su aplicación maneje solicitudes HTTP o elija Entorno de trabajo para manejar tareas en segundo plano.
Etapa 4: Aparece otro cuadro de diálogo, donde debe proporcionar un nombre de dominio y una descripción para su aplicación.
c ++ goto line
Paso 5: Elija una plataforma de su elección para su aplicación. Elastic Beanstalk le proporcionará múltiples opciones. Puede elegir una aplicación de muestra proporcionada por Beanstalk o cargar un archivo que tenga código para su aplicación.
Beanstalk tardará unos minutos en iniciar un entorno. Una vez que se inicia el entorno, en el panel de navegación puede ver múltiples opciones donde puede cambiar la configuración de su aplicación, ver archivos de registro y eventos. Dado que ya se encuentra en la página Entorno, intente explorar las diferentes funciones que ofrece Beanstalk.
Paso 6: En la esquina superior derecha, encontrará la URL de la versión de su aplicación. Haga clic en esa URL. Se le dirigirá a una página que confirmará que ha iniciado correctamente su aplicación en Elastic Beanstalk.
¡Felicidades! Ha implementado con éxito una aplicación en Elastic Beanstalk Platform.
Espero que ahora tenga una idea clara de Elastic Beanstalk y cómo puede usar Beanstalk para implementar sus aplicaciones.
¡Así que esto es todo! Espero que este blog sea informativo y agregue valor a sus conocimientos. Si está interesado en llevar sus conocimientos de Amazon Web Services al siguiente nivel, inscríbase en el curso de Edureka.
Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de 'AWS Elastic Beanstalk' y nos comunicaremos con usted lo antes posible.