andré carvalho @andresantostc - 14 a 16 de dezembro · e para onde queremos ir 7. início 2012 8....
TRANSCRIPT
![Page 1: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/1.jpg)
Containers na Passado, Presente e Futuro
1
André Carvalho@andresantostc
![Page 3: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/3.jpg)
+ de 500 desenvolvedores fazendo centenas de
deploys por dia
3
![Page 4: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/4.jpg)
4
![Page 5: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/5.jpg)
1300 aplicações3300 containers450 máquinas virtuais
5
![Page 6: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/6.jpg)
time < 10 pessoas
6
![Page 7: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/7.jpg)
Como chegamos aquiOnde estamosE para onde queremos ir
7
![Page 8: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/8.jpg)
Início2012
8
![Page 9: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/9.jpg)
Cada equipeFazia 1 deploy a cada 2 semanasMantinha scripts de deploy e provisionamento de infra
9
![Page 10: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/10.jpg)
Cada aplicação
Maquinas físicas em 4 ambientesSetup inicial demorava 1 mês
10
![Page 11: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/11.jpg)
Pouca inovação Aplicações monolíticasAlto custo
11
![Page 12: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/12.jpg)
Como melhorar?
12
![Page 13: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/13.jpg)
Abstrair a infraestruturaDar poder ao
desenvolvedor
13
![Page 14: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/14.jpg)
Premissas
14
Open Source Extensível
Escalável Simples
Multi Linguagem
Alta Disponibilidade
![Page 15: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/15.jpg)
“I’m convinced the majority of people managing infrastructure
just want a PaaS. The only requirement: it has to be built by
them.”
15
![Page 16: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/16.jpg)
100% Open SourcePremissasInspirado no Heroku
16
![Page 17: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/17.jpg)
app create <name> <platform>
17
static go php…
![Page 18: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/18.jpg)
app create <name> <platform>
18
app deploy <files>
requirements.txttsuru.yamlapp.py…
![Page 19: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/19.jpg)
app create <name> <platform>
19
app deploy <files>unit add/remove <# units>
![Page 20: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/20.jpg)
Não tem Dockerfileapenas código e suas
dependencias
20
![Page 21: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/21.jpg)
O conceito de containers não é exposto
21
![Page 22: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/22.jpg)
22
https://www.infoq.com/news/2013/03/Docker
Na verdade…ainda não existem docker
containers
![Page 23: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/23.jpg)
Cada unit era uma VM provisionada com Juju
23
![Page 24: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/24.jpg)
Primeiro deploy: 40 minutosDeploys seguintes: 5
minutos
24
![Page 25: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/25.jpg)
Primeira aplicação em produçãoAWS e Juju
25
2012
![Page 26: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/26.jpg)
Docker2013
26
![Page 27: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/27.jpg)
Queríamos fazer melhor
Deploys ainda mais rápidosDeploys reproduzíveis
27
![Page 28: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/28.jpg)
28
![Page 29: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/29.jpg)
Imagens e Plataformas
29
Deploy gera uma nova layer
![Page 30: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/30.jpg)
Imagens e PlataformasBaseadas no ubuntuTrade-off entre simplicidade e tamanhoArmazenadas em um Registry
30
![Page 31: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/31.jpg)
Registry
31
docker/distribution
Open Source
Diversos backends
Sem autenticação
S3SwiftDisco{
![Page 32: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/32.jpg)
Registry
32
Time dedicado
Autenticação (LDAP)
Garbage collection
![Page 33: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/33.jpg)
Ainda existe um problema:Como escolher onde rodar o
container?
33
![Page 34: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/34.jpg)
Docker-clusterScheduler de containers extensível
Utilizado como biblioteca
github.com/tsuru/docker-cluster
34
![Page 35: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/35.jpg)
Heurística de Scheduling
Segregamos os nós em pools
Cada aplicação está associada a um pool
35
![Page 36: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/36.jpg)
Heurística de SchedulingEspalhar as units de uma mesma aplicaçãoLevamos em consideração
memória requisitada
quantidade de containers
metadados36
![Page 37: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/37.jpg)
ExemploAdicionando 3 units do
Cartola
37
![Page 38: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/38.jpg)
38
Docker-
cluster
pool=g1
pool=esporte
pool=esporte
zone=us-east-1
zone=us-east-2
zone=us-east-1
N1
N2
N3pool=esporte
zone=us-east-2N4
![Page 39: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/39.jpg)
39
zone=us-east-2
zone=us-east-1
N2
N3
zone=us-east-2
N4
Docker-
cluster
![Page 40: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/40.jpg)
40
zone=us-east-2
zone=us-east-1
N2
N3
zone=us-east-2
N4
Docker-
cluster
![Page 41: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/41.jpg)
41
zone=us-east-2
zone=us-east-1
N2
N3
zone=us-east-2
N4
Docker-
cluster
![Page 42: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/42.jpg)
42
zone=us-east-2
zone=us-east-1
N2
N3
zone=us-east-2
N4
Docker-
cluster
![Page 43: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/43.jpg)
Como acessar os containers?
43
![Page 46: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/46.jpg)
Aplicação em produção com Docker
VMs pré-provisionadas
46
2013
![Page 47: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/47.jpg)
Serviços2014
47
![Page 48: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/48.jpg)
Poucas aplicações são completamente stateless
48
![Page 49: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/49.jpg)
“Kelsey’s guide to running traditional databases on
Kubernetes. Strongly consider using a managed service.”
49
![Page 50: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/50.jpg)
Outros times começaram a ofertar serviços
50
![Page 51: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/51.jpg)
ServiçosUsuário cria uma instância do serviço
Usuário faz bind da instância com a app
Serviço injeta variáveis de ambiente
Serviço é informado sobre containers
51
![Page 52: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/52.jpg)
ServiçosSwift (https://github.com/openstack/swift)
DBaaS (https://github.com/globocom/database-as-a-service)
RPaaS (https://github.com/tsuru/rpaas)
52
![Page 53: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/53.jpg)
Fórum Techtudo+ de 4 milhões de usuáriosIntegração com Cloudstack
53
2014
![Page 54: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/54.jpg)
Resiliência2015-2016
54
![Page 55: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/55.jpg)
Investimentos em resiliência
Troubleshooting
55
![Page 56: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/56.jpg)
ProblemasAplicações mal comportadas
VMs com filesystem read-only
Containers e VMs zumbis
Bugs do docker56
![Page 57: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/57.jpg)
“Do yourself a favor and walk away from docker 1.13.0 and 1.13.1. Containerd randomly
panics and never recovers and it will give you serious agony.”
57
![Page 59: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/59.jpg)
Troubleshootingdocker events
59
![Page 60: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/60.jpg)
Troubleshootingdmesg
60
![Page 61: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/61.jpg)
Não é o bastantePrecisamos automatizar e
agregar
61
![Page 62: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/62.jpg)
Big-SiblingContainer que roda em todos os nós
• https://github.com/tsuru/bs
Realiza checks de sanidade
Processa e redireciona logs
Envia métricas (dashboard e autoscale)
62
![Page 63: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/63.jpg)
HealingNunca atualizar/reiniciar o Docker em uma instância em uso
Big-sibling identifica VMs problemáticas
Tsuru cria nova VM e move containers
63
![Page 64: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/64.jpg)
VMs
Ubuntu LTS (Kernel 4)
4 vCPU, 8gb mem
Docker 12.x~13.x
64
![Page 65: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/65.jpg)
VMsLog driver
Syslog (big-sibling)
65
Storage driver
AUFS
Overlay/Overlay2 (!POSIX)
Devicemapper
![Page 66: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/66.jpg)
Globoplay e CartolaMigração de Datacenter
66
2015-2016
![Page 67: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/67.jpg)
Kubernetes2017-2018
67
![Page 68: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/68.jpg)
Porque?
68
![Page 69: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/69.jpg)
KubernetesDeploy de componentes da Plataforma
69
![Page 70: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/70.jpg)
Kubernetes
70
![Page 71: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/71.jpg)
Kubernetes
71
![Page 72: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/72.jpg)
KubernetesDestruímos e criamos clusters todos os dias
AWS, GCE e Cloudstack
Validações do tsuru, scripts e puppet
github.com/tsuru/integration_{gce,ec2}
72
![Page 73: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/73.jpg)
A plataforma continua sendo o tsuru
73
![Page 74: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/74.jpg)
“Limit the scope of access to a Kubernetes cluster to
automation tools and cluster administrators who may have to debug it or keep it running.”
74
![Page 75: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/75.jpg)
Tsuru + Kubernetes
Provisioners
Configurado por pool
75
![Page 76: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/76.jpg)
Leva em consideração os recursos
Espalha pods de um mesmo deployment
Nodes com labels
Pods com nodeAffinity e podAntiAffinity
76
Tsuru + Kubernetes
![Page 77: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/77.jpg)
Tsuru + KubernetesKubernetes-router
Cria serviços de LoadBalancer e Ingresses
77
curl app.cloud.tsuru.com
![Page 78: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/78.jpg)
Tsuru + KubernetesVolumes
NFS
volume create <name>
volume bind <volume> <app>
78
![Page 79: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/79.jpg)
Crescimento do CartolaVotação do BBB
Componentes e aplicações no Kubernetes
79
2017-Hoje
![Page 80: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/80.jpg)
80
![Page 81: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/81.jpg)
Futuro2018+
81
![Page 82: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/82.jpg)
Kubernetes++
82
![Page 83: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/83.jpg)
Multi-Cloud
83
![Page 84: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/84.jpg)
Service Mesh
84
![Page 85: André Carvalho @andresantostc - 14 a 16 de dezembro · E para onde queremos ir 7. Início 2012 8. Cada equipe Fazia 1 deploy a cada 2 semanas Mantinha scripts de deploy e provisionamento](https://reader035.vdocuments.site/reader035/viewer/2022063001/5f15e339e6d83f207f1729ff/html5/thumbnails/85.jpg)
Obrigado!andrestc.com
85
@andresantostc