SlideShare una empresa de Scribd logo
INTRODUCCIÓN A
AWS ECS
Docker Containers in the cloud
Raul Hugo
Just another cloud guy at Verizon
Que son Containers?
Es un método de
virtualizacion sin hypervisor,
que nos permite generar un
entorno “isolado” en
recursos y dependencias
dentro del host principal.
Ventajas:
1. Permiten deploy quickly,
reliably, and consistently.
Una imagen vale mas que mil palabras…
AWS ECS
https://aws.amazon.com/ecs/details/
ECS elimina la necesidad de
instalar, operar, y escalar tu
propia infraestrcutura de
clusterizacion de containers,
y te permite programar en el
tiempo las Docker-applications
en tu cluster basadose en tu
necesidad de recursos y
requerimientos de
disponibilidad.
Datos importantes.
• Curva de aprendizaje
• Interiorizar que es docker y probar localmente.
• Conocimientos previos de EC2, IAM Policies & Roles y Trust
Relationships, autoescalamiento y Load Balancing, Cloudformation
• 1 dia para ejecutar y correr un ejemplo.
• Costo
• Solo se paga por el espacio de las imagenes en el Docker Registry
de ECS.
• Y por las instancias EC2, Load balancers y traffic. No se paga por
la herramienta en si.
Como comenzar?
• Para comenzar con Docker, y containers necesitas
entender los siguientes conceptos de docker.
• Docker Registry -> Repositorio de Imagenes Base.
• DockerFile -> Archivo para extender las imagenes base con
configuraciones particulares de tu applicacion, aqui es donde
pones todo, podria incluso contener el codigo de tu app si es
pequeña.
• Docker Build - > Crea una nueva imagen basandose en la imagen
Base y en tu DockerFile y la guarda en un repositorio local de
imágenes.
• Mas Conceptos de Docker Mas Adelante.
AWS Elastic Containers Service
• Overview
• En lineas generales se divide en tres grandes funciones.
• Repositories  tu propio docker registry en la nube.
• Task Definitions -> Data necesaria para que Amazon sepa de que va tu
aplicación cuantos contenedores son parte de tu tarea, cuantos
recursos de CPU o RAM va a usar, como van a estar unidos unos con
otros y cuales puertos van a estar expuestos.
• Clusters - > Son las instancias EC2 sobre las que tus containers se
ejecutarán.
• Servicios -> Te permite especificar cuantas copias de un Task Definition
serán ejecutadas y mantenidas al mismo tiempo y también permite
especificar un balanceador de carga para distribuir el trafico entre
contenedores.
Repository
Crear un repositorio es sencillo solo basta especificar un nombre, idealmente
Un repositorio solo sirve para versionar una imagen (app)
Build, tag, and push Docker image
• Primero debemos configurar nuestras credenciales de awscli.
• aws configure
• Luego obtenemos un login temporal para usar contenedores.
• aws ecr get-login --region us-west-2
• Usamos docker login para logearnos en Docker.
• sudo docker login -u AWS -p
AQECAHj6lc4XIJw/7ln0Hc00DMek6GExHCbY4RIpTMCI58InUwAA
Ay0wggMpBgkqh= -e none https://174720772462.dkr.ecr.us-west-
2.amazonaws.com
• Luego tageamos nuestra ultimo build
• sudo docker tag my-web-app:latest 174720772462.dkr.ecr.us-
west-2.amazonaws.com/my-web-app:latest
• Por ultimo lo pusheamos, si como git!
• docker push 174720772462.dkr.ecr.us-west-
2.amazonaws.com/my-web-app:latest
Obtenemos esto!!
What else… Clusters
• Si no levantas un cluster de containers no podras hacer
nada, lastimosamente un cluster no se puede levantar
automaticamente desde el AWSCLI.
• Puedes hacerlo desde la consola web como los
nooo…bles que no desean usar la linea de comandos.
• Pero la mejor manera es usar un tool un poquito mas
avanzado llamado ecs_cli
• sudo curl -o /usr/local/bin/ecs-cli
https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-
amd64-latest
• sudo chmod +x /usr/local/bin/ecs-cli
• ecs-cli up --keypair caleidos-ansible-tower --capability-iam --
size 2 --instance-type t2.micro
Que obtienes?
Then…. Task Definitions
• {
• "family": "my-web-aws-app",
• "volumes": [
• {
• "name": "my-vol",
• "host": {}
• }
• ],
• "containerDefinitions": [
• {
• "environment": [],
• "name": "my-web-app",
• "image": "174720772462.dkr.ecr.us-west-2.amazonaws.com/my-web-app",
• "cpu": 10,
• "memory": 120,
• "portMappings": [
• {
• "containerPort": 80,
• "hostPort": 80
• }
• ],
• "mountPoints": [
• {
• "sourceVolume": "my-vol",
• "containerPath": "/var/www/html/my-vol"
• }
• ],
• "entryPoint": [
• "apachectl",
• "-D",
• "FOREGROUND"
• ],
• "essential": true
• },
• {
• "name": "busybox",
• "image": "busybox",
• "cpu": 10,
• "memory": 120,
• "volumesFrom": [
• {
• "sourceContainer": "my-web-app"
• }
• ],
• "entryPoint": [
• "sh",
• "-c"
• ],
• "command": [
• "/bin/sh -c "while true; do /bin/date > /var/www/html/my-vol/date; sleep 1; done""
• ],
• "essential": false
• }
• ]
• }
Si lo haces con Json.
• Se crea con el awscli asi.
• aws ecs register-task-definition --cli-input-json file://simple-
app-task-def.json
• Si quieres ver cuantas existen.
• aws ecs list-task-definitions
• Si la subes varias veces se versionan.
• Si la quieres ejecutar
• aws ecs run-task --cluster MyDockerCluster --task-definition
my-web-aws-app:3 --count 2
• Luego de esto, si vas a la IP de cualquiera de las
instancias podras ver la app corriendo en el Puerto 80.
Por ultimo … Servicios
• {
• "serviceName": "my-php-app-elb",
• "taskDefinition": "my-web-aws-app:3",
• "loadBalancers": [
• {
• "loadBalancerName":
"mydockerbal",
• "containerName": "my-web-app",
• "containerPort": 80
• }
• ],
• "desiredCount": 2,
• "role": "amazon-ecs-cli-setup-
MyDockerClu-EcsInstancePolicy-
PQTTQQQYJA2Y"
• }
Si lo haces con Json
• Se puede crear con el siguiente comando.
• aws ecs create-service --cluster MyDockerCluster --service-
name web-app-php-service --cli-input-json file://simple-
service-elb.json
• Se puede borrar con
• aws ecs delete-service --cluster MyDockerCluster --service
web-app-php-service
• Se puede listar con:
• aws ecs list-services --cluster MyDockerCluster
• Si va a la URL de tu balanceador de Carga …. Oh WAIT me olvide
del balanceador!
Pero eso ya deben saberlo…
• Estaba en el pre requisito de la curva de aprendizaje!
• Supongamos que ya crearon el balanceador de carga!
Gracias
Preguntas??
Raul Hugo
Cstl-Engineer at Verizon
AWS Community Lider
Just another Cloud Guy
@raulhugo
sherlockhugo@gmail.com

Más contenido relacionado

La actualidad más candente

Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup Mayo
Mario IC
 
AWS Summit Bogotá Track Básico: Bases de datos en AWS
AWS Summit Bogotá Track Básico: Bases de datos en AWSAWS Summit Bogotá Track Básico: Bases de datos en AWS
AWS Summit Bogotá Track Básico: Bases de datos en AWS
Amazon Web Services
 
Manteniendo sus costos de infraestructura bajos
Manteniendo sus costos de infraestructura bajosManteniendo sus costos de infraestructura bajos
Manteniendo sus costos de infraestructura bajos
Amazon Web Services LATAM
 
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
Amazon Web Services
 
Introduccion a Docker
Introduccion a DockerIntroduccion a Docker
Introduccion a Docker
Amazon Web Services LATAM
 
Introducción a Ansible
Introducción a AnsibleIntroducción a Ansible
Introducción a Ansible
Dani Rodríguez
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Mario IC
 
Cloud computing
Cloud computingCloud computing
Cloud computing
davebalogh
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
Mario IC
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
Mario IC
 
Webinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSWebinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWS
Amazon Web Services LATAM
 
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingKubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and Scaling
Angel Nuñez
 
Nis Vs Ldap
Nis Vs LdapNis Vs Ldap
Nis Vs Ldap
Juan Bau
 
EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidadEC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad
Amazon Web Services LATAM
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Adrián Lois
 
Creando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWSCreando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWS
Amazon Web Services LATAM
 
Creando su datacenter virtual
Creando su datacenter virtualCreando su datacenter virtual
Creando su datacenter virtual
Amazon Web Services LATAM
 

La actualidad más candente (17)

Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup Mayo
 
AWS Summit Bogotá Track Básico: Bases de datos en AWS
AWS Summit Bogotá Track Básico: Bases de datos en AWSAWS Summit Bogotá Track Básico: Bases de datos en AWS
AWS Summit Bogotá Track Básico: Bases de datos en AWS
 
Manteniendo sus costos de infraestructura bajos
Manteniendo sus costos de infraestructura bajosManteniendo sus costos de infraestructura bajos
Manteniendo sus costos de infraestructura bajos
 
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
 
Introduccion a Docker
Introduccion a DockerIntroduccion a Docker
Introduccion a Docker
 
Introducción a Ansible
Introducción a AnsibleIntroducción a Ansible
Introducción a Ansible
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
 
Webinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSWebinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWS
 
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingKubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and Scaling
 
Nis Vs Ldap
Nis Vs LdapNis Vs Ldap
Nis Vs Ldap
 
EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidadEC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
 
Creando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWSCreando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWS
 
Creando su datacenter virtual
Creando su datacenter virtualCreando su datacenter virtual
Creando su datacenter virtual
 

Similar a AWSPeru Meetup marzo - introduccion a elastic containers seervice

Docker 10 02_18
Docker 10 02_18Docker 10 02_18
Docker 10 02_18
enyert
 
Docker ECS en AWS
Docker ECS en AWS Docker ECS en AWS
Docker ECS en AWS
Amazon Web Services LATAM
 
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxAzure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Luis Beltran
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
Julio Palma Vázquez
 
Amazon EC2 Container Service a Profundidad
Amazon EC2 Container Service a ProfundidadAmazon EC2 Container Service a Profundidad
Amazon EC2 Container Service a Profundidad
Amazon Web Services LATAM
 
Dynamics saturday madrid 2018 bc-on-docker - jakub
Dynamics saturday madrid 2018   bc-on-docker - jakubDynamics saturday madrid 2018   bc-on-docker - jakub
Dynamics saturday madrid 2018 bc-on-docker - jakub
Demian Raschkovan
 
Web App Container
Web App ContainerWeb App Container
Web App Container
CDS
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
Rafael Hernamperez Martin
 
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
Hermann Pais
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
Eduardo Castro
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
jdezine
 
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
Luis Beltran
 
WSO2 DSS - JENKINS
WSO2 DSS - JENKINSWSO2 DSS - JENKINS
WSO2 DSS - JENKINS
Emmerson Miranda
 
Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.
Moisés Elías Araya
 
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
Amazon Web Services LATAM
 
Deploy de una app symfony en aws
Deploy de una app symfony en awsDeploy de una app symfony en aws
Deploy de una app symfony en aws
Don Wladi Avila H
 
Iniciando con containers en azure
Iniciando con containers en azureIniciando con containers en azure
Iniciando con containers en azure
Oscar Gensollen
 
An evening with... Docker
An evening with... DockerAn evening with... Docker
An evening with... Docker
Arkhotech
 
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
Amazon Web Services LATAM
 
From on premise to full architectures on Openstack
From on premise to full architectures on OpenstackFrom on premise to full architectures on Openstack
From on premise to full architectures on Openstack
Guillermo Alvarado Mejía
 

Similar a AWSPeru Meetup marzo - introduccion a elastic containers seervice (20)

Docker 10 02_18
Docker 10 02_18Docker 10 02_18
Docker 10 02_18
 
Docker ECS en AWS
Docker ECS en AWS Docker ECS en AWS
Docker ECS en AWS
 
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptxAzure AI South Azure Cognitive Services en contenedores Docker.pptx
Azure AI South Azure Cognitive Services en contenedores Docker.pptx
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
Amazon EC2 Container Service a Profundidad
Amazon EC2 Container Service a ProfundidadAmazon EC2 Container Service a Profundidad
Amazon EC2 Container Service a Profundidad
 
Dynamics saturday madrid 2018 bc-on-docker - jakub
Dynamics saturday madrid 2018   bc-on-docker - jakubDynamics saturday madrid 2018   bc-on-docker - jakub
Dynamics saturday madrid 2018 bc-on-docker - jakub
 
Web App Container
Web App ContainerWeb App Container
Web App Container
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
 
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
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
 
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
Bringing AI to the Edge: On-premises Azure Cognitive Services with Docker con...
 
WSO2 DSS - JENKINS
WSO2 DSS - JENKINSWSO2 DSS - JENKINS
WSO2 DSS - JENKINS
 
Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.Instalacion y uso basico de Docker.
Instalacion y uso basico de Docker.
 
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
 
Deploy de una app symfony en aws
Deploy de una app symfony en awsDeploy de una app symfony en aws
Deploy de una app symfony en aws
 
Iniciando con containers en azure
Iniciando con containers en azureIniciando con containers en azure
Iniciando con containers en azure
 
An evening with... Docker
An evening with... DockerAn evening with... Docker
An evening with... Docker
 
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
 
From on premise to full architectures on Openstack
From on premise to full architectures on OpenstackFrom on premise to full architectures on Openstack
From on premise to full architectures on Openstack
 

Más de Raul Hugo

Beginning to live in dev ops raul hugo - agile day
Beginning to live in dev ops    raul hugo - agile day Beginning to live in dev ops    raul hugo - agile day
Beginning to live in dev ops raul hugo - agile day
Raul Hugo
 
Ansible ssh y comandos ad-hoc
Ansible ssh y comandos ad-hocAnsible ssh y comandos ad-hoc
Ansible ssh y comandos ad-hoc
Raul Hugo
 
Yo tampoco quise estudiar telecomunicaciones en la UNE
Yo tampoco quise estudiar telecomunicaciones en la UNEYo tampoco quise estudiar telecomunicaciones en la UNE
Yo tampoco quise estudiar telecomunicaciones en la UNE
Raul Hugo
 
AWS para desarrolladores
AWS para desarrolladoresAWS para desarrolladores
AWS para desarrolladores
Raul Hugo
 
Introducción al proyecto olpc, sugar y xo
Introducción al proyecto olpc, sugar y xoIntroducción al proyecto olpc, sugar y xo
Introducción al proyecto olpc, sugar y xo
Raul Hugo
 
Innovacion usando software libre y open source
Innovacion usando software libre y open sourceInnovacion usando software libre y open source
Innovacion usando software libre y open source
Raul Hugo
 
Presentacion Computacion Social
Presentacion Computacion SocialPresentacion Computacion Social
Presentacion Computacion Social
Raul Hugo
 
Web 2.0 & Gestión Del conocimiento
Web 2.0 & Gestión Del conocimientoWeb 2.0 & Gestión Del conocimiento
Web 2.0 & Gestión Del conocimiento
Raul Hugo
 
Gesti N Del Conocimiento
Gesti N Del ConocimientoGesti N Del Conocimiento
Gesti N Del Conocimiento
Raul Hugo
 

Más de Raul Hugo (9)

Beginning to live in dev ops raul hugo - agile day
Beginning to live in dev ops    raul hugo - agile day Beginning to live in dev ops    raul hugo - agile day
Beginning to live in dev ops raul hugo - agile day
 
Ansible ssh y comandos ad-hoc
Ansible ssh y comandos ad-hocAnsible ssh y comandos ad-hoc
Ansible ssh y comandos ad-hoc
 
Yo tampoco quise estudiar telecomunicaciones en la UNE
Yo tampoco quise estudiar telecomunicaciones en la UNEYo tampoco quise estudiar telecomunicaciones en la UNE
Yo tampoco quise estudiar telecomunicaciones en la UNE
 
AWS para desarrolladores
AWS para desarrolladoresAWS para desarrolladores
AWS para desarrolladores
 
Introducción al proyecto olpc, sugar y xo
Introducción al proyecto olpc, sugar y xoIntroducción al proyecto olpc, sugar y xo
Introducción al proyecto olpc, sugar y xo
 
Innovacion usando software libre y open source
Innovacion usando software libre y open sourceInnovacion usando software libre y open source
Innovacion usando software libre y open source
 
Presentacion Computacion Social
Presentacion Computacion SocialPresentacion Computacion Social
Presentacion Computacion Social
 
Web 2.0 & Gestión Del conocimiento
Web 2.0 & Gestión Del conocimientoWeb 2.0 & Gestión Del conocimiento
Web 2.0 & Gestión Del conocimiento
 
Gesti N Del Conocimiento
Gesti N Del ConocimientoGesti N Del Conocimiento
Gesti N Del Conocimiento
 

Último

Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 

Último (20)

Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 

AWSPeru Meetup marzo - introduccion a elastic containers seervice

  • 1. INTRODUCCIÓN A AWS ECS Docker Containers in the cloud Raul Hugo Just another cloud guy at Verizon
  • 2. Que son Containers? Es un método de virtualizacion sin hypervisor, que nos permite generar un entorno “isolado” en recursos y dependencias dentro del host principal. Ventajas: 1. Permiten deploy quickly, reliably, and consistently.
  • 3. Una imagen vale mas que mil palabras…
  • 4. AWS ECS https://aws.amazon.com/ecs/details/ ECS elimina la necesidad de instalar, operar, y escalar tu propia infraestrcutura de clusterizacion de containers, y te permite programar en el tiempo las Docker-applications en tu cluster basadose en tu necesidad de recursos y requerimientos de disponibilidad.
  • 5. Datos importantes. • Curva de aprendizaje • Interiorizar que es docker y probar localmente. • Conocimientos previos de EC2, IAM Policies & Roles y Trust Relationships, autoescalamiento y Load Balancing, Cloudformation • 1 dia para ejecutar y correr un ejemplo. • Costo • Solo se paga por el espacio de las imagenes en el Docker Registry de ECS. • Y por las instancias EC2, Load balancers y traffic. No se paga por la herramienta en si.
  • 6. Como comenzar? • Para comenzar con Docker, y containers necesitas entender los siguientes conceptos de docker. • Docker Registry -> Repositorio de Imagenes Base. • DockerFile -> Archivo para extender las imagenes base con configuraciones particulares de tu applicacion, aqui es donde pones todo, podria incluso contener el codigo de tu app si es pequeña. • Docker Build - > Crea una nueva imagen basandose en la imagen Base y en tu DockerFile y la guarda en un repositorio local de imágenes. • Mas Conceptos de Docker Mas Adelante.
  • 7. AWS Elastic Containers Service • Overview • En lineas generales se divide en tres grandes funciones. • Repositories  tu propio docker registry en la nube. • Task Definitions -> Data necesaria para que Amazon sepa de que va tu aplicación cuantos contenedores son parte de tu tarea, cuantos recursos de CPU o RAM va a usar, como van a estar unidos unos con otros y cuales puertos van a estar expuestos. • Clusters - > Son las instancias EC2 sobre las que tus containers se ejecutarán. • Servicios -> Te permite especificar cuantas copias de un Task Definition serán ejecutadas y mantenidas al mismo tiempo y también permite especificar un balanceador de carga para distribuir el trafico entre contenedores.
  • 8. Repository Crear un repositorio es sencillo solo basta especificar un nombre, idealmente Un repositorio solo sirve para versionar una imagen (app)
  • 9. Build, tag, and push Docker image • Primero debemos configurar nuestras credenciales de awscli. • aws configure • Luego obtenemos un login temporal para usar contenedores. • aws ecr get-login --region us-west-2 • Usamos docker login para logearnos en Docker. • sudo docker login -u AWS -p AQECAHj6lc4XIJw/7ln0Hc00DMek6GExHCbY4RIpTMCI58InUwAA Ay0wggMpBgkqh= -e none https://174720772462.dkr.ecr.us-west- 2.amazonaws.com • Luego tageamos nuestra ultimo build • sudo docker tag my-web-app:latest 174720772462.dkr.ecr.us- west-2.amazonaws.com/my-web-app:latest • Por ultimo lo pusheamos, si como git! • docker push 174720772462.dkr.ecr.us-west- 2.amazonaws.com/my-web-app:latest
  • 11. What else… Clusters • Si no levantas un cluster de containers no podras hacer nada, lastimosamente un cluster no se puede levantar automaticamente desde el AWSCLI. • Puedes hacerlo desde la consola web como los nooo…bles que no desean usar la linea de comandos. • Pero la mejor manera es usar un tool un poquito mas avanzado llamado ecs_cli • sudo curl -o /usr/local/bin/ecs-cli https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux- amd64-latest • sudo chmod +x /usr/local/bin/ecs-cli • ecs-cli up --keypair caleidos-ansible-tower --capability-iam -- size 2 --instance-type t2.micro
  • 13. Then…. Task Definitions • { • "family": "my-web-aws-app", • "volumes": [ • { • "name": "my-vol", • "host": {} • } • ], • "containerDefinitions": [ • { • "environment": [], • "name": "my-web-app", • "image": "174720772462.dkr.ecr.us-west-2.amazonaws.com/my-web-app", • "cpu": 10, • "memory": 120, • "portMappings": [ • { • "containerPort": 80, • "hostPort": 80 • } • ], • "mountPoints": [ • { • "sourceVolume": "my-vol", • "containerPath": "/var/www/html/my-vol" • } • ], • "entryPoint": [ • "apachectl", • "-D", • "FOREGROUND" • ], • "essential": true • }, • { • "name": "busybox", • "image": "busybox", • "cpu": 10, • "memory": 120, • "volumesFrom": [ • { • "sourceContainer": "my-web-app" • } • ], • "entryPoint": [ • "sh", • "-c" • ], • "command": [ • "/bin/sh -c "while true; do /bin/date > /var/www/html/my-vol/date; sleep 1; done"" • ], • "essential": false • } • ] • }
  • 14. Si lo haces con Json. • Se crea con el awscli asi. • aws ecs register-task-definition --cli-input-json file://simple- app-task-def.json • Si quieres ver cuantas existen. • aws ecs list-task-definitions • Si la subes varias veces se versionan. • Si la quieres ejecutar • aws ecs run-task --cluster MyDockerCluster --task-definition my-web-aws-app:3 --count 2 • Luego de esto, si vas a la IP de cualquiera de las instancias podras ver la app corriendo en el Puerto 80.
  • 15. Por ultimo … Servicios • { • "serviceName": "my-php-app-elb", • "taskDefinition": "my-web-aws-app:3", • "loadBalancers": [ • { • "loadBalancerName": "mydockerbal", • "containerName": "my-web-app", • "containerPort": 80 • } • ], • "desiredCount": 2, • "role": "amazon-ecs-cli-setup- MyDockerClu-EcsInstancePolicy- PQTTQQQYJA2Y" • }
  • 16. Si lo haces con Json • Se puede crear con el siguiente comando. • aws ecs create-service --cluster MyDockerCluster --service- name web-app-php-service --cli-input-json file://simple- service-elb.json • Se puede borrar con • aws ecs delete-service --cluster MyDockerCluster --service web-app-php-service • Se puede listar con: • aws ecs list-services --cluster MyDockerCluster • Si va a la URL de tu balanceador de Carga …. Oh WAIT me olvide del balanceador!
  • 17. Pero eso ya deben saberlo… • Estaba en el pre requisito de la curva de aprendizaje! • Supongamos que ya crearon el balanceador de carga!
  • 18. Gracias Preguntas?? Raul Hugo Cstl-Engineer at Verizon AWS Community Lider Just another Cloud Guy @raulhugo sherlockhugo@gmail.com