SlideShare uma empresa Scribd logo
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Rubens Devito Filho, Arquiteto de Soluções
Iniciando com Docker na AWS
Agenda
Por que containers?
Caso de uso
Amazon ECS
Benefícios
Rodando serviços
Por que containers?
Agilidade
O que são containers?
Virtualização de SO
Isolamento de processos
Imagens
AutomaçãoServidor
Sistema Operacional
Bins/Libs Bins/Libs
App2App1
Vantagens de Utilizar Containers
Portável
Flexível
Rápido
Eficiente
Servidor
Sistema Operacional
Bins/Libs Bins/Libs
App2App1
Monolítico x Microserviços
Servidor Web
.package
UI Ordem
Serviço Ordem
Serviço
Inventório
Serviço de
Despacho
UI Ordem
Serviço
Inventório
Serviço
Ordem
Serviço
Despacho
Containers são naturais para microserviços
Simples para modelar
Qualquer app, qualquer linguagem
Imagem é a versão
Teste e aplique o mesmo artefato
Servidores stateless diminuem o risco da mudança
Servidor
Sistema Operacional
Bins/Libs
Bins/Lib
s
App2App1
Disso…
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
…para isso – é difícil!
Ecossistema de containers na AWS
• Monitoramento
• CI/CD
• Segurança
• PaaS
Clientes da AWS têm várias opções
• Amazon ECS
• CoreOS Tectonic (Kubernetes)
• Mesosphere DC/OS (Mesos)
• Docker Datacenter
Caso de uso
"Kubernetes na AWS permitiu aos times
enviarem funcionalidades para produção
com muito mais velocidade e segurança"
O Magazine Luiza é um dos líderes
no mercado de varejo do Brasil,
com 60 anos de vida, +800 lojas e
milhões de clientes.
Com times de desenvolvimento
espalhados por 5 cidades, nosso
lema é "experimentação em
escala".
“A AWS nos dá uma
margem de manobra e
flexibilidade que permite
ter mais agilidade no
desenvolvimento,
aumentando ainda mais
a confiabilidade de
nossos sistemas.”
- Arnaldo Pereira,
Gerente de Arquitetura
e SRE
O Desafio
Agilidade e facilidade no deploy para diversas linguagens
Baixo custo operacional
Redução de custo
Rolling updates, auto-healing e rollbacks
Solução
Amazon ECS
Amazon EC2 Container Service (ECS) é um
gerenciador de containers altamente escalável e de
alta performance, que suporta containers Docker e te
permite facilmente rodar aplicações em um cluster
gerenciado de instâncias Amazon EC2.
Amazon ECS
INSTÂNCIAS EC2
LOAD
BALANCER
Internet
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container
AGENT DE
COMUNICAÇÃO
Amazon
ECS
API
MOTOR DE GERENCIAMENTO
DE CLUSTER
ARMAZENAMENTO
CHAVE/VALOR
ECS
AGENT
TASK
Container
TASK
Container
LOAD
BALANCER
Amazon ECS - Cluster
INSTÂNCIAS EC2
LOAD
BALANCER
Internet
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container
AGENT DE
COMUNICAÇÃO
Amazon
ECS
API
MOTOR DE GERENCIAMENTO
DE CLUSTER
ARMAZENAMENTO
CHAVE/VALOR
ECS
AGENT
TASK
Container
TASK
Container
LOAD
BALANCER
Amazon ECS - Task
EC2 INSTANCES
LOAD
BALANCER
Internet
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container
AGENT DE
COMUNICAÇÃO
Amazon
ECS
API
MOTOR DE GERENCIAMENTO
DE CLUSTER
ARMAZENAMENTO
CHAVE/VALOR
ECS
AGENT
TASK
Container
TASK
Container
LOAD
BALANCER
Amazon ECS - Service
INSTÂNCIAS EC2
LOAD
BALANCER
Internet
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container
AGENT DE
COMUNICAÇÃO
Amazon
ECS
API
MOTOR DE GERENCIAMENTO
DE CLUDSTER
ARMAZENAMENTO
CHAVE/VALOR
ECS
AGENT
TASK
Container
TASK
Container
LOAD
BALANCER
Amazon ECS - Agendamento
Amazon ECS - Agendamento
Amazon ECS - Agendamento
Amazon ECS - Agendamento
Benefícios
Benefícios do Amazon ECS
• Serviço elástico totalmente gerenciado – Você
não precisa rodar nada, e o serviço escala
acompanhando o crescimento da sua
arquitetura de microserviços
• Shared state optimistic scheduling
• Integração profunda com outros serviços AWS:
• Application Load Balancing
• Amazon Elastic Block Store
• Amazon Virtual Private Cloud
• Amazon CloudWatch
• AWS Identify and Access Management
• AWS CloudTrail
Roteamento via Application Load Balancer
Path-based routing
Te permite definir regras que roteiam o tráfego para diferentes target groups basedo no path da URL.
Exemplo: dominio.com/test , dominio.com/test/test1
Mapeamento Dinâmico de Portas
Provê a funcionalidade de balancear o tráfego entre múltiplas portas na mesma instância Amazon EC2. Essa
funcionalidade especificamente foca no uso de containers e é integrada no Amazon ECS.
HTTP/2
WebSockets
Log Detalhado
Deploy de Containers no ECS – Escolha um
Agendador (Scheduler)
Batch Jobs
ECS task scheduler
Run tasks once
Batch jobs
RunTask (aleatório)
StartTask (placed)
Long-Running Apps
ECS service scheduler
Health management
Scale-up e scale-down
AZ aware
Grouped containers
Rodando serviços
Criar um cluster
$ aws ecs create-cluster --cluster-name "my_cluster"
Registrar a task definition
$ aws ecs register-task-definition --cli-input-json
file://task-defintion.json
Task definition
{
"taskDefinition": {
"status": "INACTIVE",
"family": "curler",
"volumes": [],
"taskDefinitionArn": "arn:aws:ecs:us-west-2:<aws_account_id>:task-definition/curler:1",
"containerDefinitions": [
{
"environment": [],
"name": "curler",
"mountPoints": [],
"image": "curl:latest",
"cpu": 100,
"portMappings": [],
"entryPoint": [],
"memory": 256,
"command": [
"curl -v http://example.com/"
],
"essential": true,
"volumesFrom": []
}
],
"revision": 1
}
}
Criar um serviço
$ aws ecs create-service --service-name ecs-simple-
service --task-definition ecs-demo --desired-count 10
Obrigado!
Ainda não tem o App oficial do
AWS Summit São Paulo?
http://amzn.to/2rOcsVy
Não deixe de avaliar as sessões no app!

Mais conteúdo relacionado

PPTX
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
PPTX
Construindo APIs com Amazon API Gateway e AWS Lambda
PPTX
Fazendo seu DR na AWS
PPTX
Escalando para os primeiros 10 milhões de usuários
PPTX
Deep dive com Microserviços e Docker
PPTX
Construindo seu Data Lake na AWS
PPTX
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
PPTX
O que uma enterprise deveria fazer nos primeiros 90 dias
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Construindo APIs com Amazon API Gateway e AWS Lambda
Fazendo seu DR na AWS
Escalando para os primeiros 10 milhões de usuários
Deep dive com Microserviços e Docker
Construindo seu Data Lake na AWS
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
O que uma enterprise deveria fazer nos primeiros 90 dias

Mais procurados (20)

PDF
Construindo APIs com Amazon API Gateway e AWS Lambda
PPTX
Iniciando com AWS Lambda e serverless em cloud
PPTX
Mergulhando em desenvolvimento de aplicações serverless
PPTX
Iniciando com serviços de bancos de dados gerenciados na AWS
PPTX
Escalando com segurança na AWS
PPTX
Deep dive com Amazon Aurora
PPTX
Boas práticas de arquitetura e operações
PDF
Segurança de ponta a ponta na AWS
PPTX
Migrando seu workload de Big Data para o Amazon EMR
PPTX
Visualizando dados de Big Data com Amazon QuickSight
PPTX
Webinar: Introdução a Big data
PDF
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
PPTX
Amazon EC2 boas praticas e otimizações de desempenho
PPTX
Tendências de Big Data
PPTX
Introdução ao AWS Database Migration Service
PPTX
Webinar: Apresentando AWS Device Farm
PPTX
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
PPTX
Construindo APIs com Amazon API Gateway e AWS Lambda
PPTX
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
PPTX
Começando com aplicações serverless na AWS
Construindo APIs com Amazon API Gateway e AWS Lambda
Iniciando com AWS Lambda e serverless em cloud
Mergulhando em desenvolvimento de aplicações serverless
Iniciando com serviços de bancos de dados gerenciados na AWS
Escalando com segurança na AWS
Deep dive com Amazon Aurora
Boas práticas de arquitetura e operações
Segurança de ponta a ponta na AWS
Migrando seu workload de Big Data para o Amazon EMR
Visualizando dados de Big Data com Amazon QuickSight
Webinar: Introdução a Big data
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
Amazon EC2 boas praticas e otimizações de desempenho
Tendências de Big Data
Introdução ao AWS Database Migration Service
Webinar: Apresentando AWS Device Farm
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Construindo APIs com Amazon API Gateway e AWS Lambda
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
Começando com aplicações serverless na AWS
Anúncio

Semelhante a Iniciando com Docker na AWS (20)

PDF
5. rodando containers docker na aws
PDF
Docker.io:
PPTX
Webinar: Containers
PPTX
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
PDF
Beers & Bytes - O Futuro da virtualização
PDF
Desenvolvimento de Aplicações em Container com AWS Fargate
PPTX
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
PDF
O poder dos microsserviços com Docker e Kubernetes
PDF
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
PPTX
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
PPTX
Containers com docker #CPRecife4
PDF
Rodando Kubernetes com Amazon EKS
PPTX
Melhores práticas de CI/CD na construção de aplicações modernas
PDF
Freedomday2016 - Fique na caixinha, docker
PDF
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
PDF
Serverless Containers - execute instâncias de containers do Azure sob demanda...
PDF
Aplicações poderosas e elegantes aprenda a usar Kubernetes
PDF
Containers em produção!
PDF
PPTX
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
5. rodando containers docker na aws
Docker.io:
Webinar: Containers
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Beers & Bytes - O Futuro da virtualização
Desenvolvimento de Aplicações em Container com AWS Fargate
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
O poder dos microsserviços com Docker e Kubernetes
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Containers com docker #CPRecife4
Rodando Kubernetes com Amazon EKS
Melhores práticas de CI/CD na construção de aplicações modernas
Freedomday2016 - Fique na caixinha, docker
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Serverless Containers - execute instâncias de containers do Azure sob demanda...
Aplicações poderosas e elegantes aprenda a usar Kubernetes
Containers em produção!
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
Anúncio

Mais de Amazon Web Services LATAM (20)

PPTX
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
PPTX
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
PPTX
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
PPTX
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
PPTX
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
PPTX
Automatice el proceso de entrega con CI/CD en AWS
PPTX
Automatize seu processo de entrega de software com CI/CD na AWS
PPTX
Cómo empezar con Amazon EKS
PPTX
Como começar com Amazon EKS
PPTX
Ransomware: como recuperar os seus dados na nuvem AWS
PPTX
Ransomware: cómo recuperar sus datos en la nube de AWS
PPTX
Ransomware: Estratégias de Mitigação
PPTX
Ransomware: Estratégias de Mitigación
PPTX
Aprenda a migrar y transferir datos al usar la nube de AWS
PPTX
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
PPTX
Cómo mover a un almacenamiento de archivos administrados
PPTX
Simplifique su BI con AWS
PPTX
Simplifique o seu BI com a AWS
PPTX
Os benefícios de migrar seus workloads de Big Data para a AWS
PPTX
Los beneficios de migrar sus cargas de trabajo de big data a AWS
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
Automatice el proceso de entrega con CI/CD en AWS
Automatize seu processo de entrega de software com CI/CD na AWS
Cómo empezar con Amazon EKS
Como começar com Amazon EKS
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigación
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Cómo mover a un almacenamiento de archivos administrados
Simplifique su BI con AWS
Simplifique o seu BI com a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS

Último (11)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Utilizando code blockes por andre backes
PPTX
Eng. Software - pontos essenciais para o início
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Design - Introdução a Gestalt e teoria das formas
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Utilizando code blockes por andre backes
Eng. Software - pontos essenciais para o início
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Manejo integrado de pragas na cultura do algodão
Arquitetura de computadores - Memórias Secundárias
Viasol Energia Solar -Soluções para geração e economia de energia
Tipos de servidor em redes de computador.pptx
Design - Introdução a Gestalt e teoria das formas

Iniciando com Docker na AWS

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Rubens Devito Filho, Arquiteto de Soluções Iniciando com Docker na AWS
  • 2. Agenda Por que containers? Caso de uso Amazon ECS Benefícios Rodando serviços
  • 5. O que são containers? Virtualização de SO Isolamento de processos Imagens AutomaçãoServidor Sistema Operacional Bins/Libs Bins/Libs App2App1
  • 6. Vantagens de Utilizar Containers Portável Flexível Rápido Eficiente Servidor Sistema Operacional Bins/Libs Bins/Libs App2App1
  • 7. Monolítico x Microserviços Servidor Web .package UI Ordem Serviço Ordem Serviço Inventório Serviço de Despacho UI Ordem Serviço Inventório Serviço Ordem Serviço Despacho
  • 8. Containers são naturais para microserviços Simples para modelar Qualquer app, qualquer linguagem Imagem é a versão Teste e aplique o mesmo artefato Servidores stateless diminuem o risco da mudança
  • 10. Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS …para isso – é difícil!
  • 11. Ecossistema de containers na AWS • Monitoramento • CI/CD • Segurança • PaaS
  • 12. Clientes da AWS têm várias opções • Amazon ECS • CoreOS Tectonic (Kubernetes) • Mesosphere DC/OS (Mesos) • Docker Datacenter
  • 14. "Kubernetes na AWS permitiu aos times enviarem funcionalidades para produção com muito mais velocidade e segurança" O Magazine Luiza é um dos líderes no mercado de varejo do Brasil, com 60 anos de vida, +800 lojas e milhões de clientes. Com times de desenvolvimento espalhados por 5 cidades, nosso lema é "experimentação em escala". “A AWS nos dá uma margem de manobra e flexibilidade que permite ter mais agilidade no desenvolvimento, aumentando ainda mais a confiabilidade de nossos sistemas.” - Arnaldo Pereira, Gerente de Arquitetura e SRE
  • 15. O Desafio Agilidade e facilidade no deploy para diversas linguagens Baixo custo operacional Redução de custo Rolling updates, auto-healing e rollbacks
  • 18. Amazon EC2 Container Service (ECS) é um gerenciador de containers altamente escalável e de alta performance, que suporta containers Docker e te permite facilmente rodar aplicações em um cluster gerenciado de instâncias Amazon EC2.
  • 19. Amazon ECS INSTÂNCIAS EC2 LOAD BALANCER Internet ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT DE COMUNICAÇÃO Amazon ECS API MOTOR DE GERENCIAMENTO DE CLUSTER ARMAZENAMENTO CHAVE/VALOR ECS AGENT TASK Container TASK Container LOAD BALANCER
  • 20. Amazon ECS - Cluster INSTÂNCIAS EC2 LOAD BALANCER Internet ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT DE COMUNICAÇÃO Amazon ECS API MOTOR DE GERENCIAMENTO DE CLUSTER ARMAZENAMENTO CHAVE/VALOR ECS AGENT TASK Container TASK Container LOAD BALANCER
  • 21. Amazon ECS - Task EC2 INSTANCES LOAD BALANCER Internet ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT DE COMUNICAÇÃO Amazon ECS API MOTOR DE GERENCIAMENTO DE CLUSTER ARMAZENAMENTO CHAVE/VALOR ECS AGENT TASK Container TASK Container LOAD BALANCER
  • 22. Amazon ECS - Service INSTÂNCIAS EC2 LOAD BALANCER Internet ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT DE COMUNICAÇÃO Amazon ECS API MOTOR DE GERENCIAMENTO DE CLUDSTER ARMAZENAMENTO CHAVE/VALOR ECS AGENT TASK Container TASK Container LOAD BALANCER
  • 23. Amazon ECS - Agendamento
  • 24. Amazon ECS - Agendamento
  • 25. Amazon ECS - Agendamento
  • 26. Amazon ECS - Agendamento
  • 28. Benefícios do Amazon ECS • Serviço elástico totalmente gerenciado – Você não precisa rodar nada, e o serviço escala acompanhando o crescimento da sua arquitetura de microserviços • Shared state optimistic scheduling • Integração profunda com outros serviços AWS: • Application Load Balancing • Amazon Elastic Block Store • Amazon Virtual Private Cloud • Amazon CloudWatch • AWS Identify and Access Management • AWS CloudTrail
  • 29. Roteamento via Application Load Balancer Path-based routing Te permite definir regras que roteiam o tráfego para diferentes target groups basedo no path da URL. Exemplo: dominio.com/test , dominio.com/test/test1 Mapeamento Dinâmico de Portas Provê a funcionalidade de balancear o tráfego entre múltiplas portas na mesma instância Amazon EC2. Essa funcionalidade especificamente foca no uso de containers e é integrada no Amazon ECS. HTTP/2 WebSockets Log Detalhado
  • 30. Deploy de Containers no ECS – Escolha um Agendador (Scheduler) Batch Jobs ECS task scheduler Run tasks once Batch jobs RunTask (aleatório) StartTask (placed) Long-Running Apps ECS service scheduler Health management Scale-up e scale-down AZ aware Grouped containers
  • 32. Criar um cluster $ aws ecs create-cluster --cluster-name "my_cluster"
  • 33. Registrar a task definition $ aws ecs register-task-definition --cli-input-json file://task-defintion.json
  • 34. Task definition { "taskDefinition": { "status": "INACTIVE", "family": "curler", "volumes": [], "taskDefinitionArn": "arn:aws:ecs:us-west-2:<aws_account_id>:task-definition/curler:1", "containerDefinitions": [ { "environment": [], "name": "curler", "mountPoints": [], "image": "curl:latest", "cpu": 100, "portMappings": [], "entryPoint": [], "memory": 256, "command": [ "curl -v http://example.com/" ], "essential": true, "volumesFrom": [] } ], "revision": 1 } }
  • 35. Criar um serviço $ aws ecs create-service --service-name ecs-simple- service --task-definition ecs-demo --desired-count 10
  • 37. Ainda não tem o App oficial do AWS Summit São Paulo? http://amzn.to/2rOcsVy Não deixe de avaliar as sessões no app!

Notas do Editor

  • #3: So we are going to briefly recap, why containers and the challenges you may face in production, and some of the use patterns We will then talk about cluster management and how Amazon ECS fits into all of this Then we will close with a demo from my colleague _____
  • #6: Containers se assemelham a virtualização de hardware (como EC2), no entanto, ao invés de particionar a máquina, containers isolam os processos que rodam em um único sistema operacional Ou seja você pode utilizar o kernel do OS para criar múltiplos processos no user space isolados e que podem ter restrições de CPU e memória. The Docker CLI makes using containers easy, with commands like docker run. Imagens Docker facilitam a definição do que roda em um container e as versões do APP Esses conceitos permitem facilmente a doção de automação – você pode definir sua aplicação, fazer o build e compartilahar a imagem, e fazer o deploy desta imagem.
  • #7: Você pode estar pensando– ”isso parece interessante, mas pq eu utilizaria containers? Texistem pelo menos 4 vantagens principais para adoção de containers. 1.) Containers são portáveis. A imagem é consistente e imutável – não importa onde eu a rode ou quando eu a inicialize, será sempre igual. Isso facilitia o ciclo de vida de projetos principalemten para os devs – uma imagem funciona da mesma maneira no computador do dev e em prod, independente da escala da minha aplicação. Toda a aplicação é independente– A imagem é a versão, o que facilita o deploy e a escalabilidade pois as dependências já estão inclusas na imagem. Pequena, geralmente algumas dezenas de MB, facilmente compartilhável 2.) Containers são flexíveis. Você pode criar ambientes reproduzíveis e modulares. Ambientes bem clean. Evita conflitos de bibliotecas. Enquanto no passado, processos múltiplos estariam no mesmo OS (ex: frameword, cache, captura de logs), agora os Containers facilitam a decomposição de um app em pedaços menores, como microserviços, reduzindo a complexidade e deixando os times se moverem mais rapidamente enquanto rodam o processo no mesmo host. Simplidica até o genrenciamento de infra e deploy de código. 3.) Dockers inicializam mais rapidamente Pois o sistema operacional já está rodando, Cada container pode ser um thread único; diminui as interdependencias Also ops benefits - Example: IT updates the base image, I just do a new docker build – I can just focus on my app, meaning it’s faster for me to build & release. 4.) Você pode alocar os recursos exatamente como que quer– CPU, rede, memória específica Já que containers comparilham os mesmo kernel e bibliotecas do SO, eles usam menos recursos que rodar o mesmo processo em diferentes máquinas virutais (jeito difenrente de isolamento)
  • #8: Monolith – Unidade única, extremamente acoplado, difícil de alterar, lento Microservice – unidade atônica, faz uma coisa muito bem. Iteração rápida, fácil de alterar.
  • #9: Facilita a modelagem da aplicação; A aplicação e todas as suas dependências são empacotadas em uma imagem usando o Dockerfile. Suporta basicamente qualquer aplicação e linguagem A imagem nada mais é que uma artefato versionado na sua base de repositório como se fosse um código fonte – facilita o deploy Servidores stateless são naturais com Docker. Cada deploy é um novo set de containers. Rollback é simplicado
  • #10: -Rodar alguns containers pode ser fácil. Mas centenas ou milhares podem ser complicados
  • #11: Você não tem somente vários containers, você tem também várias máquinas Geralmente isso implica em gerenciar clusters, e se tem algo chato de gerenciar é cluster. Yvocê provvelmente não escreveu sua prórpia so;ução de gerenciament de clusgter, não é um problema trivial de resolver e há outras melhores maneiras de gastar seu tempo de eng.. Você precisa de uma maneira inteligente de colocar seus containers em instâncias que possuam recursos suficnentes, isso siginifica que você precisa saber o estado de tudodo seu sistema. Você precisa monitorar e agregar todos os individuais recursos de todas as máquinas do cluster e torna-las aptas a receberem os jobs. Algumas infos que você precisa ter: A máquina X está rodando ou não? A maquina tem recursos suficientes para rodar o job? O job ainda está rodando? Ele falhou? Fica claro que é necessária uma ferramenta especilista nisso.
  • #24: So how it works is that Each scheduler periodically queries the current cluster state to check the resource availability
  • #25: To schedule a task, the scheduler makes a claim for any available resources The scheduler then updates the cluster state with the newly claimed resources in an atomic transaction. 
  • #26: If a resource is already claimed, ECS will reject the transaction because it maintains concurrency control
  • #27: So what ECS enables is called “shared state optimistic scheduling” where all schedulers can see the current state of the cluster at all times.
  • #29: Shared state optimistic scheduling Neste modelo, todos os schedulers podem ver o estado atual do cluster a todo o momento. Cada scheduler periodicamente verifica o estado do cluster, and makes a reividica algum recurso disponível. O scheduler então atualiza o estado do cluster com o novo recurso reividicado através de uma transação atomica. Caso ocorra um evento de conflito (ex dois schedulers reinvidicam o mesmo recurso) somente uma transação terá exito. Porque todos os schedulers veem todos os recursos a todo tempo, este modelo é considerado otimista, pois os recursos nunca são bloqueados enquanto estão sendo oferecidos para o scheduler.
  • #30: The target group typically represents a service in a customer’s architecture.
  • #35: IMPORTANT: Walk through the parts of the TASK Definition