SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
1
12 Factor APPS
Docker na Cloud
e outras buzzwords
uma viagem pelo mundo mágico do hipsterismo
OPA!
Sou Waldemar Neto
Development Team Lead - Atlassian
@waldemarnt - http://walde.co
2
3
http://bit.ly/nodejs-testave
l
youtube.com/user/waldemaneto
“ Cloud Computing Market
Projected To Reach $411B
By 2020
Forbes:
https://www.forbes.com/sites/louiscolumbus/2017/10/18/cloud-computing-market-projected-to-r
each-411b-by-2020/#23bf992a78f2
4
Crescimento do mercado de cloud
5
Do old school para a
cloud
6
7
APP
Cria um alerta de preço
Recebe notificação
de alteração de valor
Busca dados das
lojas virtuais
A aplicação old school
Arquitetura da aplicação
8
APLICAÇÃO
PAINEL DE CONFIGURAÇÃO
CRAWLING
ANÁLISE
NOTIFICAÇÃO
BANCO
Ambiente
9
TEST
STAGING
PROD
● Possui tres ambientes
● Possui testes
● Build e deploy é feito
manualmente
● Cada desenvolvedor instala e
configura na sua máquina
Ship com 12 Factor App
10
12 Factor app
11
Codebase Dependencies Config Backing Services
Build, Release,
Run
Processes Port Binding Concurrency
Disposability Dev/Prod Parity Logs
Admin
Processes
1
ambiente
Ambientes facilmente replicáveis são a
primeira coisa para habilitar conteinerização
12
13
APP
Ambiente homogeneos
12 Factor app
14
CODEBASE Dependencies Config Backing Services
Build, Release,
Run
Processes Port Binding Concurrency
Disposability Dev/Prod Parity Logs
Admin
Processes
Codebase Dependencies Config Backing Services
Port Binding
● Codebase
○ Cada aplicação possui seu próprio codebase com controle de versão
(ex git, mercurial)
● Dependencies
○ Dependências explícitas e isoladas (ex: npm, maven, composer)
● Config
○ Guardar a configuração no ambiente (ex: credenciais, urls de serviços)
● Backing Services
○ Tratar serviços como recursos anexados
● Port Binding
○ Expor serviços via porta
15
Docker no desenvolvimento
Sugestão de leitura
16
https://12factor.net/
https://leanpub.com/dockerparadesenvolvedores
2
Teste e Build
Testes e build automatizados
17
18
Continuous Integration
git push
BUILD TEST
Continuous Delivery é a habilidade
de colocar todas as mudanças como
novas funcionalidades,
configurações, bugfixes e
experimentos na mão do usuário
final. Rápido, seguro e de maneira
sustentável.
19
20
Continuous Delivery
git push
BUILD TEST
TEST
STAGI
NG
PROD
DEPLOY
20
manual
21
Continuous Deployment
git push
BUILD TEST
TEST
STAGI
NG
PROD
DEPLOY
21
22
Sugestões de livros
● https://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380
● https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262592
● https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-Organizations/dp/1942788002
3
Disparidade
de ambiente
Ambientes devem ser facilmente criados,
replicados e destruídos.
23
24
Feature x
TEST STAGING PROD
SERVER SERVER
SERVER 1 SERVER 2
SERVER 3 SERVER 4
Feature X - Disparidade entre ambientes/serviores
25
TEST STAGING PROD
SERVER SERVER
SERVER 1 SERVER 2
SERVER 3 SERVER 4
"A ideia em infraestrutura como
código é que os sistemas
utilizados para rodar softwares
sejam eles mesmos, tratados
como software."
Kief Morris, @kief
26
Infraestructura como código
27
TEST STAGING PROD
SERVER SERVER
SERVER 1 SERVER 2
SERVER 3 SERVER 4
Especificação via DSL/Script do que deve
estar
instalado em cada servidor.
Infraestructura como código
28
4
Aumento de
demanda
Escalonamento.
29
30
Aumento de demanda
SERVIDOR
INTERNET
APLICAÇÃO
PAINEL DE CONFIGURAÇÃO
CRAWLING
ANÁLISE
NOTIFICAÇÃO
Aumento de demanda
31
SERVIDOR
INTERNET
APLICAÇÃO
PAINEL DE CONFIGURAÇÃO
CRAWLING
ANÁLISE
NOTIFICAÇÃO
Aumento de demanda
32
SERVIDOR 1
INTERNET
APLICAÇÃO
CRAWLING
ANÁLISE
NOTIFICAÇÃO
SERVIDOR 2
APLICAÇÃO
PAINEL DE CONFIGURAÇÃO
CRAWLING
ANÁLISE
NOTIFICAÇÃO
LOAD
BALANCER
PAINEL DE CONFIGURAÇÃO
CONGESTIONAMENTO
33
FIM DO MUNDO?
34
35
MICROSERVICES!!
36
Aplicação
APLICAÇÃO
PAINEL DE CONFIGURAÇÃO
CRAWLING
ANÁLISE
NOTIFICAÇÃO
BANCO
37
PAINEL DE
CONFIGURAÇÃO
CRAWLING
ANÁLISENOTIFICAÇÃO
Mysql
Mongo
38
PAINEL
Load
Bala
ncer
PAINEL
NOTIFICA
ÇÃO
NOTIFICA
ÇÃO
NOTIFICA
ÇÃO
NOTIFICA
ÇÃO
CRAWLER
CRAWLER CRAWLER
CRAWLER CRAWLER
ANÁLISE
ANÁLISE
ANÁLISE
Disposability
Como fica a arquitetura
Livros
39
● http://shop.oreilly.com/product/0636920032175.do
● https://www.amazon.com/Building-Microservices-Designing-Fine-Grained-Systems/dp/1491
950358
5
Disparidade
dev/prod
Ambientes homogêneos é a primeira coisa
para habilitar a conteinerização.
40
DISPARIDADE
41
42
Dev/Prod
PRODDESENVOLVIMENTO
SERVER 1 SERVER 2
SERVER 3 SERVER 4
DOCKER DOCKER DOCKER
Dev/Prod
43
PRODDESENVOLVIMENTO
SERVER 1 SERVER 2
SERVER 3 SERVER 4
DOCKER DOCKER DOCKER
DOCKER DOCKER
DOCKER DOCKER
Dev/Prod
Parity
44
Containers em prod
45
Infraestrutura containerizada
TRADICIONAL
HOST
APP APP
CONTAINERIZADO
HOST
ORQUESTRADO
HOST
Orquestração com kubernetes
46
NODE 3
HOST
NODE 1
HOST
NODE 2
HOST
6
Monitoramento
Os logs devem ser centralizados e coletados
de todos os serviços de forma simples.
47
48
PAINEL
PAINEL
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
CRAWLER
CRAWLER
CRAWLER
CRAWLER
CRAWLER
ANÁLISE
ANÁLISE
ANÁLISE
Node 1 Node 2
Node 3Node 4
Monitoring
CENTRALIZAÇÃO DE
LOGS
49
Escrevendo logs nos nodes
50
PAINEL
PAINEL
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
CRAWLER
CRAWLER
CRAWLER
CRAWLER
CRAWLER
ANÁLISE
ANÁLISE
ANÁLISE
Node 1
Node 2
Node 3Node 4
51
PAINEL
PAINEL
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
NOTIFICAÇ
ÃO
CRAWLER
CRAWLER
CRAWLER
CRAWLER
CRAWLER
ANÁLISE
ANÁLISE
ANÁLISE
Node 1
Node 2
Node 3Node 4
LOG SERVER
Logs
52
Dica de livro
53
54
“É um fato bem conhecido
que todos os que querem
governar as outras pessoas
são, por isso mesmo, os
menos indicados para
isso.”
Douglas Adams
55
56
Perguntas?
http://walde.co
Me ache nas redes por @waldemarnt

Más contenido relacionado

Similar a 12 Factor App Docker na Cloud e outras buzzwords

12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwordsFernando Ruaro
 
12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwordsWaldemar Neto
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaRodrigo Marques Teixeira
 
Utilização de DevOps
Utilização de DevOpsUtilização de DevOps
Utilização de DevOpsCaio Candido
 
Trabalhando com ALM na nuvem
Trabalhando com ALM na nuvemTrabalhando com ALM na nuvem
Trabalhando com ALM na nuvemAdriano Bertucci
 
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Marcus Garcia
 
WSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerWellington Silva
 
Monitoramento de containers Docker
Monitoramento de containers DockerMonitoramento de containers Docker
Monitoramento de containers DockerJosé Barbosa
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeAndré Paulovich
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasAmazon Web Services LATAM
 
Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoDarlan Segalin
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesEdgar Silva
 
Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Leandro Silva
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?Douglas Aguiar
 
The twelve factor apps and openruko
The twelve factor apps and openrukoThe twelve factor apps and openruko
The twelve factor apps and openrukoÉverton Ribeiro
 

Similar a 12 Factor App Docker na Cloud e outras buzzwords (20)

12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords
 
12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 
Utilização de DevOps
Utilização de DevOpsUtilização de DevOps
Utilização de DevOps
 
Trabalhando com ALM na nuvem
Trabalhando com ALM na nuvemTrabalhando com ALM na nuvem
Trabalhando com ALM na nuvem
 
Ufs na nuvem gp 2017-2
Ufs na nuvem   gp 2017-2 Ufs na nuvem   gp 2017-2
Ufs na nuvem gp 2017-2
 
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
Trabalhando com TFS na nuvem (Microsoft Azure). Quais vantagens de migrar o A...
 
WSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoas
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
Monitoramento de containers Docker
Monitoramento de containers DockerMonitoramento de containers Docker
Monitoramento de containers Docker
 
Microserviços
MicroserviçosMicroserviços
Microserviços
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
 
Ufs na nuvem gp 2017-2
Ufs na nuvem   gp 2017-2 Ufs na nuvem   gp 2017-2
Ufs na nuvem gp 2017-2
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualização
 
WSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e SuportesWSO2 - Portfólio de Produtos, Soluções e Suportes
WSO2 - Portfólio de Produtos, Soluções e Suportes
 
Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?
 
The twelve factor apps and openruko
The twelve factor apps and openrukoThe twelve factor apps and openruko
The twelve factor apps and openruko
 

Más de Waldemar Neto

Construindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSConstruindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSWaldemar Neto
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 
Elasticsearch Aggregations
Elasticsearch AggregationsElasticsearch Aggregations
Elasticsearch AggregationsWaldemar Neto
 
Symfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleSymfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleWaldemar Neto
 
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaMonitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaWaldemar Neto
 
Elasticsearch de dentro para fora
Elasticsearch de dentro para foraElasticsearch de dentro para fora
Elasticsearch de dentro para foraWaldemar Neto
 
Elasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesElasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesWaldemar Neto
 
No mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesNo mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesWaldemar Neto
 
Cakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteCakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteWaldemar Neto
 
No sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaNo sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaWaldemar Neto
 
Android para padawns
Android para padawnsAndroid para padawns
Android para padawnsWaldemar Neto
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasWaldemar Neto
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsulWaldemar Neto
 
O que é esteganografia
O que é esteganografiaO que é esteganografia
O que é esteganografiaWaldemar Neto
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open sourceWaldemar Neto
 

Más de Waldemar Neto (17)

Construindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJSConstruindo APIs testáveis com Node.js - RSJS
Construindo APIs testáveis com Node.js - RSJS
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
 
Elasticsearch Aggregations
Elasticsearch AggregationsElasticsearch Aggregations
Elasticsearch Aggregations
 
Symfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundleSymfony2 e Elasticsearch com FosElasticaBundle
Symfony2 e Elasticsearch com FosElasticaBundle
 
ELK introduction
ELK introductionELK introduction
ELK introduction
 
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - KibanaMonitoramento com ELK - Elasticsearch - Logstash - Kibana
Monitoramento com ELK - Elasticsearch - Logstash - Kibana
 
Elasticsearch de dentro para fora
Elasticsearch de dentro para foraElasticsearch de dentro para fora
Elasticsearch de dentro para fora
 
Elasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queriesElasticsearch shards, index, filters and queries
Elasticsearch shards, index, filters and queries
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
No mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesNo mundo das ap is com Restful webservices
No mundo das ap is com Restful webservices
 
Cakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita genteCakephp 3.0 o bolo ainda serve muita gente
Cakephp 3.0 o bolo ainda serve muita gente
 
No sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaNo sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglota
 
Android para padawns
Android para padawnsAndroid para padawns
Android para padawns
 
Como o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscasComo o elasticsearch salvou minhas buscas
Como o elasticsearch salvou minhas buscas
 
CakePHP workshop ifsul
CakePHP workshop ifsulCakePHP workshop ifsul
CakePHP workshop ifsul
 
O que é esteganografia
O que é esteganografiaO que é esteganografia
O que é esteganografia
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open source
 

12 Factor App Docker na Cloud e outras buzzwords