Upload
site-blindado-labs
View
66
Download
2
Embed Size (px)
Citation preview
Container Service in Action
Heitor Vital
● Áreas de Atuaçãoo Cloud Computingo Segurança Informaçãoo Jogoso Dispositivos Móveiso …
● Acadêmicoo MBA FGVo Mestrado UFPEo Graduação UFPE
br.linkedin.com/in/heitorvital
twitter.com/heitorvital
hvital.blogspot.com.br
labs.siteblindado.com
slideshare.net/HeitorVital
Antes o mundo era simples1 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
● Developerso Inside the box (code)o Build once...run anywhere
● SysAdmins / DevOpso Outside the box (infra)o Configure once...run anything
Virtual Machines X Containers
Segurança
● Ambientes Isoladoso Filesystem: root filesystem separadoo Resource: cpu e memória isolados via cgroupso Network: namespace próprio, virtual interface e IP próprio
● Isso é suficiente??o 6 CVEs em 2014o 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 managementScalingSchedulingSecurityExtensible
Key Components
● Containers Instanceso EC2 Instanceso Docker daemono ECS Agent (connect to clusters)
● Clusterso Grupo de Containers Instanceso Pode ser de tipos diferenteso Multi-AZ Support
● Tasks [Definition]o Grupo de containers
relacionadoso Executado nos
Containers Instances
● Containerso Docker containero 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 exemplohttps://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 | Referência
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}
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.html3. https://aws.amazon.com/blogs/aws/ec2-container-service-in-action/4. https://www.youtube.com/watch?v=2vJLS8qfhI05. https://www.youtube.com/watch?v=JIuyCgNg8io6. https://www.youtube.com/watch?v=LE5uBqNp2Ds7. http://docs.aws.amazon.com/cli/latest/reference/ecs/index.html8. https://github.com/aws/amazon-ecs-agent9. 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
slideshare.net/HeitorVital