SlideShare una empresa de Scribd logo
1 de 62
Descargar para leer sin conexión
México
D.F.
Implementación y gestión de websites/webapps
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 Downtime Deployment
• Auto-Scaling
• Q&A
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 lenguajes disponibles:
• Java
• .NET
• Python
• Ruby
• PHP
• Docker
• node.js
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
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
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)
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
Cómo funciona?
Cómo funciona?
Componentes:
1. Application
2. Application Version
3. Environment
4. Environment Configuration
5. Configuration Template
Cómo funciona?
• Environment Tiers:
• Web Server Tier
• Worker Tier
• Environment Types:
• Single Instance
• Load Balancing, auto scaling
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
>
> echo "<h1>AWS Elastic Beanstalk PHP Sample Application</h1>n";
>
> ?>
> EOF
$ zip ../roadshowdemo_v1.zip -r * .[^.]*
adding: index.php (stored 0%)
Zero Downtime Deployment
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
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%)
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
Integración con RDS
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
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 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
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
AWS Command Line Interface
AWS Command Line Interface
$ aws elasticbeanstalk create-application --application-name RoadShowCLI 
--description "Sample app from AWS CLI”
• Creamos una aplicación
$ aws elasticbeanstalk create-application-version --application-name RoadShowCLI 
--version-label AWSCLIv1 
--source-bundle S3Bucket=elasticbeanstalk-us-east-1-903745515320,S3Key=2014225usa-
roadshowdemo_asg.zip
• Creamos una primera versión de la aplicación. El paquete .zip se encuentra en S3
AWS Command Line Interface
$ aws elasticbeanstalk create-configuration-template --application-name "RoadShowCLI" --template-name
AutoScalingCPUv2 --source-configuration
ApplicationName=RoadShowDemo,TemplateName="AutoScalingCPU v2”
• Guardamos la configuración de un ambiente existente (podemos crear una nueva)
$ aws elasticbeanstalk create-environment --application-name RoadShowCLI 
--version-label AWSCLIv1 --environment-name roadshow-cli --cname-prefix roadshow-cli --template-name
AutoScalingCPUv2
• Finalmente creamos el environment
Q&A
Gracias!!
Damián Traverso – AWS Solutions Architect
traverso@amazon.com

Más contenido relacionado

La actualidad más candente

AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWSAWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWSAmazon Web Services LATAM
 
DevOps en AWS, acelarando el desarrollo de software con Developer Tools
DevOps en AWS, acelarando el desarrollo de software con Developer ToolsDevOps en AWS, acelarando el desarrollo de software con Developer Tools
DevOps en AWS, acelarando el desarrollo de software con Developer ToolsAmazon Web Services LATAM
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidadAmazon Web Services LATAM
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidadAmazon Web Services LATAM
 
Ahorre hasta un 90% en ambientes productivos con instancias Spot
Ahorre hasta un 90% en ambientes productivos con instancias SpotAhorre hasta un 90% en ambientes productivos con instancias Spot
Ahorre hasta un 90% en ambientes productivos con instancias SpotAmazon Web Services LATAM
 
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos AiresAWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos AiresAmazon Web Services LATAM
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSAmazon Web Services LATAM
 
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsDevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsAmazon Web Services LATAM
 
Escalando a sus primeros 10 millones de usuarios
Escalando a sus primeros 10 millones de usuarios Escalando a sus primeros 10 millones de usuarios
Escalando a sus primeros 10 millones de usuarios Amazon Web Services LATAM
 
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSMigración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSAmazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 

La actualidad más candente (20)

AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWSAWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
AWS Webinar Series Latinoamérica: Modernice sus aplicaciones Windows en AWS
 
DevOps en AWS, acelarando el desarrollo de software con Developer Tools
DevOps en AWS, acelarando el desarrollo de software con Developer ToolsDevOps en AWS, acelarando el desarrollo de software con Developer Tools
DevOps en AWS, acelarando el desarrollo de software con Developer Tools
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Servicios de bases de datos en AWS
Servicios de bases de datos en AWSServicios de bases de datos en AWS
Servicios de bases de datos en AWS
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
Ahorre hasta un 90% en ambientes productivos con instancias Spot
Ahorre hasta un 90% en ambientes productivos con instancias SpotAhorre hasta un 90% en ambientes productivos con instancias Spot
Ahorre hasta un 90% en ambientes productivos con instancias Spot
 
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos AiresAWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
AWS IAM: Mejores prácticas - 2016 AWS Summit Buenos Aires
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
Construya APIs seguras y escalables
Construya APIs seguras y escalables Construya APIs seguras y escalables
Construya APIs seguras y escalables
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECS
 
Cómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nubeCómputo y Almacenamiento en la nube
Cómputo y Almacenamiento en la nube
 
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsDevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
 
Escalando a sus primeros 10 millones de usuarios
Escalando a sus primeros 10 millones de usuarios Escalando a sus primeros 10 millones de usuarios
Escalando a sus primeros 10 millones de usuarios
 
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWSMigración de datos a la nube: 6 estrategias para llevar datos a AWS
Migración de datos a la nube: 6 estrategias para llevar datos a AWS
 
Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
AWS Services Overview
AWS Services OverviewAWS Services Overview
AWS Services Overview
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Servicios de storage de AWS
Servicios de storage de AWSServicios de storage de AWS
Servicios de storage de AWS
 
Sistema de Bases de Datos AWS
Sistema de Bases de Datos AWSSistema de Bases de Datos AWS
Sistema de Bases de Datos AWS
 

Similar a Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico

Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexicoAmazon Web Services LATAM
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSAmazon Web Services LATAM
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresGuillermo Javier Bellmann
 
dockerize.it
dockerize.itdockerize.it
dockerize.itbetabeers
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStackLibreCon
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service FabricGuillermo Javier Bellmann
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesBitnami
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Francisco Javier Toscano Lopez
 
Migration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSMigration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSAmazon Web Services LATAM
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudSoftware Guru
 
Azure | Azure 360: Compute with Virtual Machines - 24/05/2017
Azure | Azure 360: Compute with Virtual Machines - 24/05/2017Azure | Azure 360: Compute with Virtual Machines - 24/05/2017
Azure | Azure 360: Compute with Virtual Machines - 24/05/2017Pablo Ariel Di Loreto
 
Despliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon
Despliegue aplicaciones #SpringCloud en Cluster #Mesos MarathonDespliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon
Despliegue aplicaciones #SpringCloud en Cluster #Mesos MarathonJuan Vergara
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxEduardo Castro
 

Similar a Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico (20)

Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos Aires
 
dockerize.it
dockerize.itdockerize.it
dockerize.it
 
JIRA data center (AWS)
JIRA data center (AWS)JIRA data center (AWS)
JIRA data center (AWS)
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStack
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de Aplicaciones
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
Clase Maestra EC2
Clase Maestra EC2Clase Maestra EC2
Clase Maestra EC2
 
Migration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWSMigration Day - Migración de Microsoft a AWS
Migration Day - Migración de Microsoft a AWS
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloud
 
Azure | Azure 360: Compute with Virtual Machines - 24/05/2017
Azure | Azure 360: Compute with Virtual Machines - 24/05/2017Azure | Azure 360: Compute with Virtual Machines - 24/05/2017
Azure | Azure 360: Compute with Virtual Machines - 24/05/2017
 
EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad
 
Despliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon
Despliegue aplicaciones #SpringCloud en Cluster #Mesos MarathonDespliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon
Despliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en Linux
 

Último

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (11)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico

  • 2. Introducción a AWS Elastic Beansltak Damián Traverso – AWS Solutions Architect traverso@amazon.com
  • 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. Qué es AWS Elastic Beanstalk?
  • 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. 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. 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. 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. 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
  • 11. Cómo funciona? Componentes: 1. Application 2. Application Version 3. Environment 4. Environment Configuration 5. Configuration Template
  • 12. Cómo funciona? • Environment Tiers: • Web Server Tier • Worker Tier • Environment Types: • Single Instance • Load Balancing, auto scaling
  • 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.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 27. 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
  • 28.
  • 29. 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%)
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. 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
  • 49. 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
  • 50.
  • 51.
  • 52. Accediendo a los parámetros del environment
  • 54. 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
  • 55. 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
  • 56.
  • 57.
  • 58. AWS Command Line Interface
  • 59. AWS Command Line Interface $ aws elasticbeanstalk create-application --application-name RoadShowCLI --description "Sample app from AWS CLI” • Creamos una aplicación $ aws elasticbeanstalk create-application-version --application-name RoadShowCLI --version-label AWSCLIv1 --source-bundle S3Bucket=elasticbeanstalk-us-east-1-903745515320,S3Key=2014225usa- roadshowdemo_asg.zip • Creamos una primera versión de la aplicación. El paquete .zip se encuentra en S3
  • 60. AWS Command Line Interface $ aws elasticbeanstalk create-configuration-template --application-name "RoadShowCLI" --template-name AutoScalingCPUv2 --source-configuration ApplicationName=RoadShowDemo,TemplateName="AutoScalingCPU v2” • Guardamos la configuración de un ambiente existente (podemos crear una nueva) $ aws elasticbeanstalk create-environment --application-name RoadShowCLI --version-label AWSCLIv1 --environment-name roadshow-cli --cname-prefix roadshow-cli --template-name AutoScalingCPUv2 • Finalmente creamos el environment
  • 61. Q&A
  • 62. Gracias!! Damián Traverso – AWS Solutions Architect traverso@amazon.com