25
Container Service in Action

Container Service in Action - Imasters Developer Week 2015

Embed Size (px)

Citation preview

Page 1: Container Service in Action - Imasters Developer Week 2015

Container Service in Action

Page 2: Container Service in Action - Imasters Developer Week 2015

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

Page 3: Container Service in Action - Imasters Developer Week 2015

Antes o mundo era simples1 Server + LAMP, agora ...

Page 4: Container Service in Action - Imasters Developer Week 2015

Matrix from Hell

Page 5: Container Service in Action - Imasters Developer Week 2015

Transporte de carga pré-1960

Page 6: Container Service in Action - Imasters Developer Week 2015

Solução Transportes

Page 7: Container Service in Action - Imasters Developer Week 2015

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

Page 8: Container Service in Action - Imasters Developer Week 2015

Vantagens

● Developerso Inside the box (code)o Build once...run anywhere

● SysAdmins / DevOpso Outside the box (infra)o Configure once...run anything

Page 9: Container Service in Action - Imasters Developer Week 2015

Virtual Machines X Containers

Page 10: Container Service in Action - Imasters Developer Week 2015

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 :)

Page 11: Container Service in Action - Imasters Developer Week 2015

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)

Page 12: Container Service in Action - Imasters Developer Week 2015

Docker on AWS

● Configuration & Deployment● Microservices● Batch processing

Page 13: Container Service in Action - Imasters Developer Week 2015

Facilidades

Cluster managementScalingSchedulingSecurityExtensible

Page 14: Container Service in Action - Imasters Developer Week 2015

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

Page 15: Container Service in Action - Imasters Developer Week 2015

“Hands-On”

Page 16: Container Service in Action - Imasters Developer Week 2015

Configurar CLI

Toda execução do Amazon ECS é via AWS CLI. Referência

$ sudo easy_install pip

$ sudo pip install awscli

$ aws configure

Page 17: Container Service in Action - Imasters Developer Week 2015

Create Cluster

$ aws ecs create-cluster --cluster-name iMastersCluster

{ "cluster": { "clusterName": "iMastersCluster", "status": "ACTIVE", "clusterArn": "arn:aws:ecs:us-east-1:748809930145:cluster/iMastersCluster" }}

Page 18: Container Service in Action - Imasters Developer Week 2015

Create Container Instances

Usar template do CloudFormation de exemplohttps://s3.amazonaws.com/amazon-ecs-cloudformation/Amazon_ECS_Quickstart.template

Page 19: Container Service in Action - Imasters Developer Week 2015

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!

Page 20: Container Service in Action - Imasters Developer Week 2015

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

Page 21: Container Service in Action - Imasters Developer Week 2015

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" ]}

Page 22: Container Service in Action - Imasters Developer Week 2015

Run Task

$ aws ecs run-task --cluster iMastersCluster

--task-definition sleep360:1

--count 1

{ // Output grande com detalhes da task}

Page 23: Container Service in Action - Imasters Developer Week 2015

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

Page 24: Container Service in Action - Imasters Developer Week 2015

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

Page 25: Container Service in Action - Imasters Developer Week 2015

OBRIGADO !!br.linkedin.com/in/heitorvital

twitter.com/heitorvital

hvital.blogspot.com.br

labs.siteblindado.com

Heitor Vital

slideshare.net/HeitorVital