SlideShare a Scribd company logo
1 of 25
Download to read offline
Container Service in Action
Heitor Vital
● Áreas de Atuação
o Cloud Computing
o Segurança Informação
o Jogos
o Dispositivos Móveis
o …
● Acadêmico
o MBA FGV
o Mestrado UFPE
o Graduação UFPE
br.linkedin.com/in/heitorvital
twitter.com/heitorvital
hvital.blogspot.com.br
labs.siteblindado.com
Antes o mundo era simples
1 Server + LAMP, agora ...
Matrix from Hell
Transporte de carga pré-1960
Solução Transportes
Docker is a shipping container system for code
Docker enables any application and its dependencies to be packaged up as a lightweight, portable, self-sufficient container
Vantagens
● Developers
o Inside the box (code)
o Build once...run anywhere
● SysAdmins / DevOps
o Outside the box (infra)
o Configure once...run anything
Virtual Machines X Containers
Segurança
● Ambientes Isolados
o Filesystem: root filesystem separado
o Resource: cpu e memória isolados via cgroups
o Network: namespace próprio, virtual interface e IP próprio
● Isso é suficiente??
o 6 CVEs em 2014
o Relativamente baixo ainda :)
Docker Timeline
● 01/2013 - Projeto interno (dotCloud)
● 03/2013 - PyCon US + Docker 0.1
● 09/2013 - RedHat + Docker 0.6
● 01/2014 - $15M Greylock Partners
● 04/2014 - Suporte Elastic Beanstalk
● 09/2014 - $40M Sequoia Capital
● 11/2014 - Suporte ECS (EC2 Container Service)
Docker on AWS
● Configuration & Deployment
● Microservices
● Batch processing
Facilidades
Cluster management
Scaling
Scheduling
Security
Extensible
Key Components
● Containers Instances
o EC2 Instances
o Docker daemon
o ECS Agent (connect to clusters)
● Clusters
o Grupo de Containers Instances
o Pode ser de tipos diferentes
o Multi-AZ Support
● Tasks [Definition]
o Grupo de containers
relacionados
o Executado nos
Containers Instances
● Containers
o Docker container
o Executor de task
“Hands-On”
Configurar CLI
Toda execução do Amazon ECS é via AWS CLI. Referência
$	
  sudo	
  easy_install	
  pip	
  
$	
  sudo	
  pip	
  install	
  awscli	
  
$	
  aws	
  configure
Create Cluster
$	
  aws	
  ecs	
  create-­‐cluster	
  -­‐-­‐cluster-­‐name	
  iMastersCluster	
  
{	
  
	
  	
  	
  	
  "cluster":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "clusterName":	
  "iMastersCluster",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  "status":	
  "ACTIVE",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  "clusterArn":	
  "arn:aws:ecs:us-­‐east-­‐1:748809930145:cluster/
iMastersCluster"	
  
	
  	
  	
  	
  }	
  
}
Create Container Instances
Usar template do CloudFormation de exemplo
https://s3.amazonaws.com/amazon-ecs-cloudformation/Amazon_ECS_Quickstart.template
List Container Instances
$	
  aws	
  ecs	
  list-­‐container-­‐instances	
  -­‐-­‐cluster	
  iMastersCluster	
  
{	
  
	
  	
  	
  	
  "containerInstanceArns":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  "arn:aws:ecs:us-­‐east-­‐1:748809930145:container-­‐instance/4b89a26c-­‐
a9ea-­‐4149-­‐bb20-­‐ccbb50828860"	
  
	
  	
  	
  	
  ]	
  
}
CUIDADO: Esperar um tempo. Se a lista estiver vazia, esperar mais um pouco!
Register Task Definition
$	
  aws	
  ecs	
  register-­‐task-­‐definition	
  -­‐-­‐cli-­‐input-­‐json	
  file://task.json	
  
{	
  
	
  	
  "containerDefinitions":	
  [	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  "name":	
  “sleep",	
  "image":	
  “busybox”,	
  "cpu":	
  10,	
  
	
  	
  	
  	
  	
  	
  "command":	
  ["sleep","360"],	
  
	
  	
  	
  	
  	
  	
  "memory":	
  10,"essential":	
  true	
  
	
  	
  	
  	
  }	
  
	
  	
  ],	
  
	
  	
  "family":	
  "sleep360"	
  
}
NOTAS: Aqui não é output do comando. É o conteúdo do arquivo | 1.024 cpu units por core | Mínimo de 4MB RAM por container
List Task Definitions
$	
  aws	
  ecs	
  list-­‐task-­‐definitions	
  
{	
  
	
  	
  	
  	
  "taskDefinitionArns":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  "arn:aws:ecs:us-­‐east-­‐1:748809930145:task-­‐definition/sleep360:1",	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  "arn:aws:ecs:us-­‐east-­‐1:748809930145:task-­‐definition/sleep360:2"	
  
	
  	
  	
  	
  ]	
  
}
Run Task
$	
  aws	
  ecs	
  run-­‐task	
  -­‐-­‐cluster	
  iMastersCluster	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  -­‐-­‐task-­‐definition	
  sleep360:1	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  -­‐-­‐count	
  1	
  
{	
  
	
  	
  	
  //	
  Output	
  grande	
  com	
  detalhes	
  da	
  task	
  
}
NOTAS: Aqui não é output do comando. É o conteúdo do arquivo | 1.024 cpu units por core | Mínimo de 4MB RAM por container
Check running Task
$	
  aws	
  ecs	
  list-­‐tasks	
  -­‐-­‐cluster	
  iMastersCluster	
  
{	
  
	
  	
  	
  	
  "taskArns":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  "arn:aws:ecs:us-­‐east-­‐1:748809930145:task/b2fae186-­‐4cdd-­‐4f18-­‐ad1d-­‐
e38d637f9c80"	
  
	
  	
  	
  	
  ]	
  
}	
  
OU	
  SSH	
  na	
  máquina	
  
$	
  docker	
  ps	
  
$	
  docker	
  inspect	
  CONTAINER_ID
Referências
Ainda teremos muitas novidades em breve.
Produto ainda em PREVIEW
1. https://aws.amazon.com/ecs/
2. http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
3. https://aws.amazon.com/blogs/aws/ec2-container-service-in-action/
4. https://www.youtube.com/watch?v=2vJLS8qfhI0
5. https://www.youtube.com/watch?v=JIuyCgNg8io
6. https://www.youtube.com/watch?v=LE5uBqNp2Ds
7. http://docs.aws.amazon.com/cli/latest/reference/ecs/index.html
8. https://github.com/aws/amazon-ecs-agent
9. https://www.docker.com/
10.http://www.dockerbook.com/
11.http://scm.zoomquiet.io/data/20131004215734/index.html
OBRIGADO !!
br.linkedin.com/in/heitorvital
twitter.com/heitorvital
hvital.blogspot.com.br
labs.siteblindado.com
Heitor Vital

More Related Content

What's hot

Webinar: Primeiros Passos na Amazon Web Services
Webinar: Primeiros Passos na Amazon Web ServicesWebinar: Primeiros Passos na Amazon Web Services
Webinar: Primeiros Passos na Amazon Web ServicesAmazon Web Services LATAM
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valorKinn Julião
 
Como construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSComo construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSAmazon Web Services LATAM
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemastdc-globalcode
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...Renato Groff
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...Renato Groff
 
Amazon web services
Amazon web servicesAmazon web services
Amazon web servicesMagno Frey
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiFrancisco Gonçalves
 

What's hot (12)

HOST079 - Docker
HOST079 - DockerHOST079 - Docker
HOST079 - Docker
 
Redis na Prática
Redis na PráticaRedis na Prática
Redis na Prática
 
Webinar: Primeiros Passos na Amazon Web Services
Webinar: Primeiros Passos na Amazon Web ServicesWebinar: Primeiros Passos na Amazon Web Services
Webinar: Primeiros Passos na Amazon Web Services
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valor
 
Como construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSComo construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWS
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
 
Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
 
Amazon web services
Amazon web servicesAmazon web services
Amazon web services
 
O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
 
Node JS - Parte 3
Node JS - Parte 3Node JS - Parte 3
Node JS - Parte 3
 

Viewers also liked

AWS CSA Associate 06-07
AWS CSA Associate 06-07AWS CSA Associate 06-07
AWS CSA Associate 06-07Heitor Vital
 
An Engineers Guide to the AWS Ruby SDK
An Engineers Guide to the AWS Ruby SDKAn Engineers Guide to the AWS Ruby SDK
An Engineers Guide to the AWS Ruby SDK😸 Richard Spindler
 
AWS Elastic Beanstalk and Docker
AWS Elastic Beanstalk and DockerAWS Elastic Beanstalk and Docker
AWS Elastic Beanstalk and DockerEvan Brown
 
Scaling Django Apps using AWS Elastic Beanstalk
Scaling Django Apps using AWS Elastic BeanstalkScaling Django Apps using AWS Elastic Beanstalk
Scaling Django Apps using AWS Elastic BeanstalkLushen Wu
 
Docker on AWS - the Right Way
Docker on AWS - the Right WayDocker on AWS - the Right Way
Docker on AWS - the Right WayAllCloud
 
Apache Spark Clusters for Everyone | AWS Public Sector Summit 2016
Apache Spark Clusters for Everyone | AWS Public Sector Summit 2016Apache Spark Clusters for Everyone | AWS Public Sector Summit 2016
Apache Spark Clusters for Everyone | AWS Public Sector Summit 2016Amazon Web Services
 
(APP313) NEW LAUNCH: Amazon EC2 Container Service in Action | AWS re:Invent 2014
(APP313) NEW LAUNCH: Amazon EC2 Container Service in Action | AWS re:Invent 2014(APP313) NEW LAUNCH: Amazon EC2 Container Service in Action | AWS re:Invent 2014
(APP313) NEW LAUNCH: Amazon EC2 Container Service in Action | AWS re:Invent 2014Amazon Web Services
 
Apache Kafka, and the Rise of Stream Processing
Apache Kafka, and the Rise of Stream ProcessingApache Kafka, and the Rise of Stream Processing
Apache Kafka, and the Rise of Stream ProcessingGuozhang Wang
 
TLS303 How to Deploy Python Applications on AWS Elastic Beanstalk - AWS re:In...
TLS303 How to Deploy Python Applications on AWS Elastic Beanstalk - AWS re:In...TLS303 How to Deploy Python Applications on AWS Elastic Beanstalk - AWS re:In...
TLS303 How to Deploy Python Applications on AWS Elastic Beanstalk - AWS re:In...Amazon Web Services
 
Demystifying Stream Processing with Apache Kafka
Demystifying Stream Processing with Apache KafkaDemystifying Stream Processing with Apache Kafka
Demystifying Stream Processing with Apache Kafkaconfluent
 
Data Pipelines with Kafka Connect
Data Pipelines with Kafka ConnectData Pipelines with Kafka Connect
Data Pipelines with Kafka ConnectKaufman Ng
 
AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (C...
AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (C...AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (C...
AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (C...Amazon Web Services
 
Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1Knoldus Inc.
 
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWSrivetlogic
 
Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017
Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017
Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017Michael Noll
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)Amazon Web Services
 
An Introduction to Deep Learning
An Introduction to Deep LearningAn Introduction to Deep Learning
An Introduction to Deep LearningPoo Kuan Hoong
 
Intro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSIntro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSSri Ambati
 
Tensorflow in production with AWS Lambda
Tensorflow in production with AWS LambdaTensorflow in production with AWS Lambda
Tensorflow in production with AWS LambdaFabian Dubois
 

Viewers also liked (20)

AWS CSA Associate 06-07
AWS CSA Associate 06-07AWS CSA Associate 06-07
AWS CSA Associate 06-07
 
An Engineers Guide to the AWS Ruby SDK
An Engineers Guide to the AWS Ruby SDKAn Engineers Guide to the AWS Ruby SDK
An Engineers Guide to the AWS Ruby SDK
 
AWS Elastic Beanstalk and Docker
AWS Elastic Beanstalk and DockerAWS Elastic Beanstalk and Docker
AWS Elastic Beanstalk and Docker
 
Scaling Django Apps using AWS Elastic Beanstalk
Scaling Django Apps using AWS Elastic BeanstalkScaling Django Apps using AWS Elastic Beanstalk
Scaling Django Apps using AWS Elastic Beanstalk
 
Docker on AWS - the Right Way
Docker on AWS - the Right WayDocker on AWS - the Right Way
Docker on AWS - the Right Way
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
 
Apache Spark Clusters for Everyone | AWS Public Sector Summit 2016
Apache Spark Clusters for Everyone | AWS Public Sector Summit 2016Apache Spark Clusters for Everyone | AWS Public Sector Summit 2016
Apache Spark Clusters for Everyone | AWS Public Sector Summit 2016
 
(APP313) NEW LAUNCH: Amazon EC2 Container Service in Action | AWS re:Invent 2014
(APP313) NEW LAUNCH: Amazon EC2 Container Service in Action | AWS re:Invent 2014(APP313) NEW LAUNCH: Amazon EC2 Container Service in Action | AWS re:Invent 2014
(APP313) NEW LAUNCH: Amazon EC2 Container Service in Action | AWS re:Invent 2014
 
Apache Kafka, and the Rise of Stream Processing
Apache Kafka, and the Rise of Stream ProcessingApache Kafka, and the Rise of Stream Processing
Apache Kafka, and the Rise of Stream Processing
 
TLS303 How to Deploy Python Applications on AWS Elastic Beanstalk - AWS re:In...
TLS303 How to Deploy Python Applications on AWS Elastic Beanstalk - AWS re:In...TLS303 How to Deploy Python Applications on AWS Elastic Beanstalk - AWS re:In...
TLS303 How to Deploy Python Applications on AWS Elastic Beanstalk - AWS re:In...
 
Demystifying Stream Processing with Apache Kafka
Demystifying Stream Processing with Apache KafkaDemystifying Stream Processing with Apache Kafka
Demystifying Stream Processing with Apache Kafka
 
Data Pipelines with Kafka Connect
Data Pipelines with Kafka ConnectData Pipelines with Kafka Connect
Data Pipelines with Kafka Connect
 
AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (C...
AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (C...AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (C...
AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (C...
 
Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1
 
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
 
Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017
Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017
Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
 
An Introduction to Deep Learning
An Introduction to Deep LearningAn Introduction to Deep Learning
An Introduction to Deep Learning
 
Intro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWSIntro to Machine Learning with H2O and AWS
Intro to Machine Learning with H2O and AWS
 
Tensorflow in production with AWS Lambda
Tensorflow in production with AWS LambdaTensorflow in production with AWS Lambda
Tensorflow in production with AWS Lambda
 

Similar to Container Service Hands-On

Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Amazon Web Services LATAM
 
Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Wallison Marra
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Eduardo de Lucena Falcão
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon Web Services LATAM
 
Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Marcelo Dieder
 
Arquitetura Web no AWS
Arquitetura Web no AWSArquitetura Web no AWS
Arquitetura Web no AWSRafael Nunes
 
AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1Guilherme Elias
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSLeandro Freitas
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalargustavomtborges
 
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Bruno Castelucci
 
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
[DataFest-2017] Apache Cassandra Para Sistemas de Alto DesempenhoEiti Kimura
 
1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BHWallison Marra
 
Cloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à práticaCloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à práticaRicardo Martins ☁
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosAmazon Web Services LATAM
 
Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produçãothomasdacosta
 

Similar to Container Service Hands-On (20)

Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
 
Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015
 
Django no AWS
Django no AWSDjango no AWS
Django no AWS
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenho
 
Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013Apresentação Openstack - FISL 2013
Apresentação Openstack - FISL 2013
 
Arquitetura Web no AWS
Arquitetura Web no AWSArquitetura Web no AWS
Arquitetura Web no AWS
 
AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
Utilizando Docker para escalonar aplicações Node.Js
Utilizando Docker para escalonar aplicações Node.JsUtilizando Docker para escalonar aplicações Node.Js
Utilizando Docker para escalonar aplicações Node.Js
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWS
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
 
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
 
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
 
1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Amazon EC2 avançado
Amazon EC2 avançadoAmazon EC2 avançado
Amazon EC2 avançado
 
Cloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à práticaCloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à prática
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuários
 
Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produção
 

More from Heitor Vital

QCon SP 2015 - Segurança em APIs REST
QCon SP 2015 - Segurança em APIs RESTQCon SP 2015 - Segurança em APIs REST
QCon SP 2015 - Segurança em APIs RESTHeitor Vital
 
[UniInfo 2014] Cost of cyber crime and how to prevent it
[UniInfo 2014] Cost of cyber crime and how to prevent it[UniInfo 2014] Cost of cyber crime and how to prevent it
[UniInfo 2014] Cost of cyber crime and how to prevent itHeitor Vital
 
AWS CSA Associate 07-07
AWS CSA Associate 07-07AWS CSA Associate 07-07
AWS CSA Associate 07-07Heitor Vital
 
AWS CSA Associate 05-07
AWS CSA Associate 05-07AWS CSA Associate 05-07
AWS CSA Associate 05-07Heitor Vital
 
AWS CSA Associate 04-07
AWS CSA Associate 04-07AWS CSA Associate 04-07
AWS CSA Associate 04-07Heitor Vital
 
AWS CSA Associate 03-07
AWS CSA Associate 03-07AWS CSA Associate 03-07
AWS CSA Associate 03-07Heitor Vital
 
AWS CSA Associate 02-07
AWS CSA Associate 02-07AWS CSA Associate 02-07
AWS CSA Associate 02-07Heitor Vital
 
AWS CSA Associate 01-07
AWS CSA Associate 01-07AWS CSA Associate 01-07
AWS CSA Associate 01-07Heitor Vital
 

More from Heitor Vital (9)

QCon SP 2015 - Segurança em APIs REST
QCon SP 2015 - Segurança em APIs RESTQCon SP 2015 - Segurança em APIs REST
QCon SP 2015 - Segurança em APIs REST
 
AWS Overview
AWS OverviewAWS Overview
AWS Overview
 
[UniInfo 2014] Cost of cyber crime and how to prevent it
[UniInfo 2014] Cost of cyber crime and how to prevent it[UniInfo 2014] Cost of cyber crime and how to prevent it
[UniInfo 2014] Cost of cyber crime and how to prevent it
 
AWS CSA Associate 07-07
AWS CSA Associate 07-07AWS CSA Associate 07-07
AWS CSA Associate 07-07
 
AWS CSA Associate 05-07
AWS CSA Associate 05-07AWS CSA Associate 05-07
AWS CSA Associate 05-07
 
AWS CSA Associate 04-07
AWS CSA Associate 04-07AWS CSA Associate 04-07
AWS CSA Associate 04-07
 
AWS CSA Associate 03-07
AWS CSA Associate 03-07AWS CSA Associate 03-07
AWS CSA Associate 03-07
 
AWS CSA Associate 02-07
AWS CSA Associate 02-07AWS CSA Associate 02-07
AWS CSA Associate 02-07
 
AWS CSA Associate 01-07
AWS CSA Associate 01-07AWS CSA Associate 01-07
AWS CSA Associate 01-07
 

Container Service Hands-On

  • 2. Heitor Vital ● Áreas de Atuação o Cloud Computing o Segurança Informação o Jogos o Dispositivos Móveis o … ● Acadêmico o MBA FGV o Mestrado UFPE o Graduação UFPE br.linkedin.com/in/heitorvital twitter.com/heitorvital hvital.blogspot.com.br labs.siteblindado.com
  • 3. Antes o mundo era simples 1 Server + LAMP, agora ...
  • 7. Docker is a shipping container system for code Docker enables any application and its dependencies to be packaged up as a lightweight, portable, self-sufficient container
  • 8. Vantagens ● Developers o Inside the box (code) o Build once...run anywhere ● SysAdmins / DevOps o Outside the box (infra) o Configure once...run anything
  • 9. Virtual Machines X Containers
  • 10. Segurança ● Ambientes Isolados o Filesystem: root filesystem separado o Resource: cpu e memória isolados via cgroups o Network: namespace próprio, virtual interface e IP próprio ● Isso é suficiente?? o 6 CVEs em 2014 o Relativamente baixo ainda :)
  • 11. Docker Timeline ● 01/2013 - Projeto interno (dotCloud) ● 03/2013 - PyCon US + Docker 0.1 ● 09/2013 - RedHat + Docker 0.6 ● 01/2014 - $15M Greylock Partners ● 04/2014 - Suporte Elastic Beanstalk ● 09/2014 - $40M Sequoia Capital ● 11/2014 - Suporte ECS (EC2 Container Service)
  • 12. Docker on AWS ● Configuration & Deployment ● Microservices ● Batch processing
  • 14. Key Components ● Containers Instances o EC2 Instances o Docker daemon o ECS Agent (connect to clusters) ● Clusters o Grupo de Containers Instances o Pode ser de tipos diferentes o Multi-AZ Support ● Tasks [Definition] o Grupo de containers relacionados o Executado nos Containers Instances ● Containers o Docker container o Executor de task
  • 16. Configurar CLI Toda execução do Amazon ECS é via AWS CLI. Referência $  sudo  easy_install  pip   $  sudo  pip  install  awscli   $  aws  configure
  • 17. Create Cluster $  aws  ecs  create-­‐cluster  -­‐-­‐cluster-­‐name  iMastersCluster   {          "cluster":  {                  "clusterName":  "iMastersCluster",                    "status":  "ACTIVE",                    "clusterArn":  "arn:aws:ecs:us-­‐east-­‐1:748809930145:cluster/ iMastersCluster"          }   }
  • 18. Create Container Instances Usar template do CloudFormation de exemplo https://s3.amazonaws.com/amazon-ecs-cloudformation/Amazon_ECS_Quickstart.template
  • 19. List Container Instances $  aws  ecs  list-­‐container-­‐instances  -­‐-­‐cluster  iMastersCluster   {          "containerInstanceArns":  [                  "arn:aws:ecs:us-­‐east-­‐1:748809930145:container-­‐instance/4b89a26c-­‐ a9ea-­‐4149-­‐bb20-­‐ccbb50828860"          ]   } CUIDADO: Esperar um tempo. Se a lista estiver vazia, esperar mais um pouco!
  • 20. Register Task Definition $  aws  ecs  register-­‐task-­‐definition  -­‐-­‐cli-­‐input-­‐json  file://task.json   {      "containerDefinitions":  [          {              "name":  “sleep",  "image":  “busybox”,  "cpu":  10,              "command":  ["sleep","360"],              "memory":  10,"essential":  true          }      ],      "family":  "sleep360"   } NOTAS: Aqui não é output do comando. É o conteúdo do arquivo | 1.024 cpu units por core | Mínimo de 4MB RAM por container
  • 21. List Task Definitions $  aws  ecs  list-­‐task-­‐definitions   {          "taskDefinitionArns":  [                  "arn:aws:ecs:us-­‐east-­‐1:748809930145:task-­‐definition/sleep360:1",                    "arn:aws:ecs:us-­‐east-­‐1:748809930145:task-­‐definition/sleep360:2"          ]   }
  • 22. Run Task $  aws  ecs  run-­‐task  -­‐-­‐cluster  iMastersCluster                                          -­‐-­‐task-­‐definition  sleep360:1                                          -­‐-­‐count  1   {        //  Output  grande  com  detalhes  da  task   } NOTAS: Aqui não é output do comando. É o conteúdo do arquivo | 1.024 cpu units por core | Mínimo de 4MB RAM por container
  • 23. Check running Task $  aws  ecs  list-­‐tasks  -­‐-­‐cluster  iMastersCluster   {          "taskArns":  [                  "arn:aws:ecs:us-­‐east-­‐1:748809930145:task/b2fae186-­‐4cdd-­‐4f18-­‐ad1d-­‐ e38d637f9c80"          ]   }   OU  SSH  na  máquina   $  docker  ps   $  docker  inspect  CONTAINER_ID
  • 24. Referências Ainda teremos muitas novidades em breve. Produto ainda em PREVIEW 1. https://aws.amazon.com/ecs/ 2. http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html 3. https://aws.amazon.com/blogs/aws/ec2-container-service-in-action/ 4. https://www.youtube.com/watch?v=2vJLS8qfhI0 5. https://www.youtube.com/watch?v=JIuyCgNg8io 6. https://www.youtube.com/watch?v=LE5uBqNp2Ds 7. http://docs.aws.amazon.com/cli/latest/reference/ecs/index.html 8. https://github.com/aws/amazon-ecs-agent 9. https://www.docker.com/ 10.http://www.dockerbook.com/ 11.http://scm.zoomquiet.io/data/20131004215734/index.html