Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Implementación y gestión de websites/webapps 
México 
D.F.
Introducción a 
AWS Elastic Beansltak 
Damián Traverso – AWS Solutions Architect 
traverso@amazon.com
Agenda 
• Qué es Elastic Beanstalk? 
• Cómo funciona Elastic Beanstalk? 
• Deployment de una aplicación PHP 
• Zero Downti...
Qué es AWS Elastic Beanstalk?
Qué es AWS Elastic Beanstalk? 
• Es un servicio utilizado para la implementación y gestión de aplicaciones 
• Variedad de ...
Qué es AWS Elastic Beanstalk? 
• Con sólo subir el código, Elastic Beansltak se encarga de las siguientes tareas: 
• Provi...
Qué es AWS Elastic Beanstalk? 
• Con Elastic Beanstalk, los desarrolladores cuentan con el control absoluto sobre 
los rec...
Qué es AWS Elastic Beanstalk? 
• Algunos de los recursos AWS que pueden ser provisionados e integrados: 
• Elastic Load Ba...
Qué es AWS Elastic Beanstalk? 
• Puede ser utilizado desde: 
1. AWS Management Console 
2. EB Command Line Interface (inte...
Cómo funciona?
Cómo funciona? 
Componentes: 
1. Application 
2. Application Version 
3. Environment 
4. Environment Configuration 
5. Con...
Cómo funciona? 
• Environment Tiers: 
• Web Server Tier 
• Worker Tier 
• Environment Types: 
• Single Instance 
• Load Ba...
Web Server Environment Tier
Deployment de una 
aplicación PHP
Creación del paquete con el código fuente 
$ mkdir roadshowdemo 
$ cd roadshowdemo/ 
$ cat << EOF >> index.php 
> <?php 
>...
Zero Downtime Deployment
Zero Downtime Deployment 
• Actualización del código de la aplicación, sin interrumpir ni afectar el tráfico actual 
• Con...
Zero Downtime Deployment 
$ cat << EOF >> index.php 
> <?php 
> 
> echo "<h1>AWS Elastic Beanstalk PHP Sample Application<...
Zero Downtime Deployment 
• El swap de URLs también puede ser hecho con un registro de DNS propio del 
usuario 
• Por ejem...
Integración con RDS
Integración con RDS 
• Distintos escenarios posibles: 
1. Crear una instancia RDS para cada environment 
2. Usar instancia...
Accediendo a los parámetros del environment
Auto-Scaling
Auto-Scaling 
• Elastic Beanstalk escala automáticamente las aplicaciones 
• Es posible escoger las condiciones en las cua...
Auto-Scaling 
• Usando la herramienta Apache Benchmark, vamos a demostrar como funciona Auto- 
Scaling 
• El siguiente com...
AWS Command Line Interface
AWS Command Line Interface 
• Creamos una aplicación 
$ aws elasticbeanstalk create-application --application-name RoadSho...
AWS Command Line Interface 
• Guardamos la configuración de un ambiente existente (podemos crear una nueva) 
$ aws elastic...
Q&A
Gracias!! 
Damián Traverso – AWS Solutions Architect 
traverso@amazon.com
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexico
Nächste SlideShare
Wird geladen in …5
×

Introduccion a elastic beanstalk aws roadshow bogota mexico

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

  • Gehören Sie zu den Ersten, denen das gefällt!

Introduccion a elastic beanstalk aws roadshow bogota mexico

  1. 1. Implementación y gestión de websites/webapps México D.F.
  2. 2. Introducción a AWS Elastic Beansltak Damián Traverso – AWS Solutions Architect traverso@amazon.com
  3. 3. Agenda • Qué es Elastic Beanstalk? • Cómo funciona Elastic Beanstalk? • Deployment de una aplicación PHP • Zero Downtime Deployment • Auto-Scaling • Q&A
  4. 4. Qué es AWS Elastic Beanstalk?
  5. 5. Qué es AWS Elastic Beanstalk? • Es un servicio utilizado para la implementación y gestión de aplicaciones • Variedad de lenguajes disponibles: • Java • .NET • Python • Ruby • PHP • Docker • node.js
  6. 6. Qué es AWS Elastic Beanstalk? • Con sólo subir el código, Elastic Beansltak se encarga de las siguientes tareas: • Provisionamiento de recursos • Instalación de paquetes necesarios del Sistema Operativo • Deployment del código fuente • Escalamiento automático (adicionar o remover recursos) • Monitoreo • Permite centralizar archivos de log en S3 y monitorear los mismos • No se cargan tarifas adicionales, sólo se paga por los recursos de AWS que sean necesarios para ejecutar sus aplicaciones
  7. 7. Qué es AWS Elastic Beanstalk? • Con Elastic Beanstalk, los desarrolladores cuentan con el control absoluto sobre los recursos de AWS que potencian la aplicación • Se pueden realizar una gran variedad de funciones, entre otras: • Seleccionar el tipo de instancia Amazon EC2 más apropiado que coincida conlos requisitos de memoria de la aplicación y la CPU. • Habilitar a instancias de Amazon EC2 para la resolución inmediata y directa de problemas • Mejorar de manera rápida la disponibildiad de la aplicación ejecutándola en más de una zona de disponibilidad • Ajustar la configuración del servidor de la aplicación (por ejemplo, la configuración de JVM) y pasar las variables de entorno
  8. 8. Qué es AWS Elastic Beanstalk? • Algunos de los recursos AWS que pueden ser provisionados e integrados: • Elastic Load Balancers • Auto-Scaling Groups • Instancias RDS • Tablas de DynamoDB • Nodos de ElastiCache • SQS (Simple Queue Service)
  9. 9. Qué es AWS Elastic Beanstalk? • Puede ser utilizado desde: 1. AWS Management Console 2. EB Command Line Interface (integración con Git) 3. AWS Command Line Interface 4. API usando las AWS SDKs • Posiblidad de automatizar todo el ciclo de desarrollo
  10. 10. Cómo funciona?
  11. 11. Cómo funciona? Componentes: 1. Application 2. Application Version 3. Environment 4. Environment Configuration 5. Configuration Template
  12. 12. Cómo funciona? • Environment Tiers: • Web Server Tier • Worker Tier • Environment Types: • Single Instance • Load Balancing, auto scaling
  13. 13. Web Server Environment Tier
  14. 14. Deployment de una aplicación PHP
  15. 15. Creación del paquete con el código fuente $ mkdir roadshowdemo $ cd roadshowdemo/ $ cat << EOF >> index.php > <?php > > echo "<h1>AWS Elastic Beanstalk PHP Sample Application</h1>n"; > > ?> > EOF $ zip ../roadshowdemo_v1.zip -r * .[^.]* adding: index.php (stored 0%)
  16. 16. Zero Downtime Deployment
  17. 17. Zero Downtime Deployment • Actualización del código de la aplicación, sin interrumpir ni afectar el tráfico actual • Consiste en crear un nuevo environment con la nueva versión, para luego realizar un “swap” de URLs • También conocido como “Blue/Green Deployment” • Muy útil para automatizar nuevos releases con herramientas de CI • Facilita rollbacks en caso de encontrar errores en la nueva versión, ya que la versión anterior todavía se encuentra disponible
  18. 18. Zero Downtime Deployment $ cat << EOF >> index.php > <?php > > echo "<h1>AWS Elastic Beanstalk PHP Sample Application</h1>n"; > > echo “<h2>This is Version 2</h2>n”; > ?> > EOF $ zip ../roadshowdemo_v2.zip -r * .[^.]* adding: index.php (stored 0%)
  19. 19. Zero Downtime Deployment • El swap de URLs también puede ser hecho con un registro de DNS propio del usuario • Por ejemplo: v1: roadshow.awsdemos.info CNAME roadshowdemo-env.elasticbeanstalk.com v2: roadshow.awsdemos.info CNAME roadshowdemo-new-env.elasticbeanstalk.com
  20. 20. Integración con RDS
  21. 21. Integración con RDS • Distintos escenarios posibles: 1. Crear una instancia RDS para cada environment 2. Usar instancias existentes de RDS 3. Usar otras bases de datos hosteadas en EC2 • Para evitar guardar las credenciales en el código, podemos pasar las mismas como paramétros a los environments • A continuación, mostraremos como usar una instancia RDS existente
  22. 22. Accediendo a los parámetros del environment
  23. 23. Auto-Scaling
  24. 24. Auto-Scaling • Elastic Beanstalk escala automáticamente las aplicaciones • Es posible escoger las condiciones en las cuales los eventos de escalado serán ejecutados. Algunos ejemplos: • Utilización de CPU • Network Out / Network In • Latencia • Métricas propias generadas por la aplicación • Control total sobre: cantidad de instancias a adicionar o remover, tiempo de espera entre eventos, umbrales, etc
  25. 25. Auto-Scaling • Usando la herramienta Apache Benchmark, vamos a demostrar como funciona Auto- Scaling • El siguiente comando generará 50.000 requests HTTP a nuestra aplicación • La aplicación tiene reglas de Auto-Scaling configuradas para: • Adicionar instancias cuando el uso de CPU sea mayor a 50% durante 1 minuto • Remover instancias cuando el uso de CPU sea menor a 20% durante 1 minuto $ ab -n 50000 -c 2 http://roadshowdemo-autoscale.elasticbeanstalk.com/index.php
  26. 26. AWS Command Line Interface
  27. 27. AWS Command Line Interface • Creamos una aplicación $ aws elasticbeanstalk create-application --application-name RoadShowCLI --description "Sample app from AWS CLI” • Creamos una primera versión de la aplicación. El paquete .zip se encuentra en S3 $ aws elasticbeanstalk create-application-version --application-name RoadShowCLI --version-label AWSCLIv1 --source-bundle S3Bucket=elasticbeanstalk-us-east-1-903745515320,S3Key=2014225usa-roadshowdemo_ asg.zip
  28. 28. AWS Command Line Interface • Guardamos la configuración de un ambiente existente (podemos crear una nueva) $ aws elasticbeanstalk create-configuration-template --application-name "RoadShowCLI" --template-name AutoScalingCPUv2 --source-configuration ApplicationName=RoadShowDemo,TemplateName="AutoScalingCPU v2” • Finalmente creamos el environment $ aws elasticbeanstalk create-environment --application-name RoadShowCLI --version-label AWSCLIv1 --environment-name roadshow-cli --cname-prefix roadshow-cli --template-name AutoScalingCPUv2
  29. 29. Q&A
  30. 30. Gracias!! Damián Traverso – AWS Solutions Architect traverso@amazon.com

×