SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Containers and Microservices
Orchestration
Petterson Henrique de Andrade
petterson.andrade@sensedia.com
@pett4j
github.com/pett4j
Listas
Aplicações eram
gigantes e com
dezenas de servers
Segundo é a unidade
de medida de resposta
Antes ...
1
2
Horas de manutenção
e de sistemas fora do
ar
Gigabytes é a unidade
de medida de
armazenamento
3
4
Listas
Aplicações distribuídas
Nuvem rodando
milhares de máquina
multi-core
Depois ...
1
2
Milissegundos é
obrigatoriamente a
unidade de medida de
resposta
100% uptime
3
4
Reactive Manifesto
Benefícios
Responsive
Resilient
Elastic
Message Driven
Benefícios
Sempre dá feedback aos usuários
Responde em tempo hábil
Detecta problemas e trata
Rápido e consistente
Alta confiabilidade
Benefícios
Responde em caso de falha
Replicação
Contenção
Isolamento
Delegação
Benefícios
Continua responsivo mesmo com aumento da
demanda
Aumenta e diminui os recursos conforme a
demanda
Distribui demanda
Benefícios
Usa mensagens assíncronas
Baixo acoplamento
Tratamento de erros por mensagem
Comunicação não blocante
Evita desgaste do sistema
Containers
VMs x Container
Aplicação no host
Monolítico
Não portável
Deploy container
Micro serviço
Portável
Modelo clássico
Aplicações
modernas
Plugado no S.O. Desplugado do S.O.
Por quê containers?
Aplicação no host
Monolítico
Não portável
Deploy container
Micro serviço
Portável
Modelo clássico
Aplicações
modernas
Plugado no S.O. Desplugado do S.O.
VMs x Container
● Redução de infraestrutura
● Redução de gerenciamento
Negócios
Por quê eu deveria utilizar docker?
● Portabilidade - uma imagem
para dev, prod, etc
● Acabe com o funciona na minha
máquina
Operação
● Elimina problemas de ambiente
● Padronização
● Leve (Fazendo do jeito certo)
Desenvolvimento
Cloud não é somente uma opção
Cloud Native Apps
DevOps
Continuous delivery
Containers
Kubernetes
Benefícios
Balancing
Scalability
Log Stream
High
Availability
Reliable
Rollout
with Zero
Downtime
Escalabilidade sem preocupações extras de
infraestrutura e disponibilidade de recursos.
Benefícios
Balancing
Scalability
Log Stream
High
Availability
Reliable
Rollout
with Zero
Downtime
Monitoramento e aplicação do número de instâncias
solicitadas.
Benefícios
Balancing
Scalability
Log Stream
High
Availability
Reliable
Rollout
with Zero
Downtime
Balanceamento nativo entre containers da mesma
aplicação.
Benefícios
Balancing
Scalability
Log Stream
High
Availability
Reliable
Rollout
with Zero
Downtime
Rollout de versão controlado, com possibilidade de
rollbacks, sem indisponibilidade de aplicação
Benefícios
Balancing
Scalability
Log Stream
High
Availability
Reliable
Rollout
with Zero
Downtime
Coleta e logs não intrusiva com possibilidade de
agregação.
Twelve-Factor App
Codebase
Dependencies
Config
12factor
1
2
3
Build, release, run
Processes
Port binding
5
6
7
Disposability
Dev/prod parity
Logs
9
10
11
Backing Services4 Concurrency8 Admin processes12
#2
Images /
Registry
#2
Git
Kubernetes
Pod,
Deployment,
DaemonSet
#1
One codebase
tracked in
revision
control, many
deploys
Codebase
#2
12 factor app
precisa ser
auto contida
Dependencias
dentro do Pod
#1
Explicitly
declare and
isolate
dependencies
Dependencies
#3
Todas as
dependências
dentro do
container
#2
Variável de
ambiente
ConfigMaps e
Secrets
#1
Store config in
the
environment
Config
#2
Cada serviço é
um recurso
externo
#1
Treat backing
services as
attached
resources
Acesso a
banco de
dados e
outros
serviços é
feito por
ConfigMap
Backing services
#3
Nenhum
código deverá
ser alterado
se o recurso
mudar de
endereço
Deployments,
ReplicaSets,
and
DaemonSets#3
A execução
precisa ser
automática
#2
Uma release
precisa ser
imutável
#1
Strictly
separate build
and run
stages
Build, release, run
Pods,
Services,
Persistent
volume e
cache.
#3
Stateless e
share-
Nothing
processes
#2
Stand-alone
(sem
servidores
pesados)
#1
Execute the
app as one or
more
stateless
processes
Processes
Services
#2
HTTP
#1
Export
services via
port binding
Port binding
Pods e
Services
#1
Scale out via
the process
model
Concurrency
#3
Quanto mais
instâncias
maior a
capacidade
#2
Scale-out
Pods e
Services
Disposability
#2
Processos são
descartáveis
#1
Maximize
robustness
with fast
startup and
graceful
shutdown
Pods,
Labels,
Rolling
updates
#1
Keep
development,
staging, and
production as
similar as
possible
Dev/prod parity
#3
CI/CD
e sem
ferramentas
como chef e
puppet
#2
The time gap
The personnel
gap
The tools gap
#1
Treat logs as
event streams
Logs
#2
The time gap
The personnel
gap
The tools gap
Fluentd,
Splunk e
ElasticSearch
#1
Run
admin/manag
ement tasks
as one-off
processes
Admin processes
#2
Migração de
banco pode
ter o mesmo
código, mas
não o mesmo
processo.
kubectl
Petterson Henrique de Andrade
petterson.andrade@sensedia.com
@pett4j
github.com/pett4j
Obrigado!

Weitere ähnliche Inhalte

Was ist angesagt?

Azure Security Center - 120715 - PTBR-Final
Azure Security Center - 120715 - PTBR-FinalAzure Security Center - 120715 - PTBR-Final
Azure Security Center - 120715 - PTBR-Final
Fabio Hara
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
Rodrigo Cândido da Silva
 

Was ist angesagt? (20)

Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem
Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem
Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Evitando Lock-in: Continuous Deployment, Kubernetes e Spinnaker para gerencia...
Evitando Lock-in: Continuous Deployment, Kubernetes e Spinnaker para gerencia...Evitando Lock-in: Continuous Deployment, Kubernetes e Spinnaker para gerencia...
Evitando Lock-in: Continuous Deployment, Kubernetes e Spinnaker para gerencia...
 
Webinar de Final de Ano WSO2: Novidades e Atualizações em nossa plataforma
Webinar de Final de Ano WSO2: Novidades e Atualizações em nossa plataformaWebinar de Final de Ano WSO2: Novidades e Atualizações em nossa plataforma
Webinar de Final de Ano WSO2: Novidades e Atualizações em nossa plataforma
 
Apresentação Comercial Tecla Internet
Apresentação Comercial Tecla InternetApresentação Comercial Tecla Internet
Apresentação Comercial Tecla Internet
 
Iac & DevOps no Azure: Automatizando deployments
Iac & DevOps no Azure: Automatizando deploymentsIac & DevOps no Azure: Automatizando deployments
Iac & DevOps no Azure: Automatizando deployments
 
Microservices
MicroservicesMicroservices
Microservices
 
Azure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoTAzure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoT
 
ArcServe in the AWS Cloud - part II
ArcServe in the AWS Cloud - part IIArcServe in the AWS Cloud - part II
ArcServe in the AWS Cloud - part II
 
Segurança da Nuvem
Segurança da NuvemSegurança da Nuvem
Segurança da Nuvem
 
Azure Security Center - 120715 - PTBR-Final
Azure Security Center - 120715 - PTBR-FinalAzure Security Center - 120715 - PTBR-Final
Azure Security Center - 120715 - PTBR-Final
 
Deep dive com Microserviços e Docker
Deep dive com Microserviços e DockerDeep dive com Microserviços e Docker
Deep dive com Microserviços e Docker
 
Integrando infraestruturas híbridas
Integrando infraestruturas híbridas Integrando infraestruturas híbridas
Integrando infraestruturas híbridas
 
Computacao na Nuvem com Azure
Computacao na Nuvem com AzureComputacao na Nuvem com Azure
Computacao na Nuvem com Azure
 
Containers e DevOps
Containers e DevOps Containers e DevOps
Containers e DevOps
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
 
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
Reduza seu trabalho de gerenciamento do kubernetes   tdc 2018 poaReduza seu trabalho de gerenciamento do kubernetes   tdc 2018 poa
Reduza seu trabalho de gerenciamento do kubernetes tdc 2018 poa
 
Istio service mesh
Istio service meshIstio service mesh
Istio service mesh
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential Computing
 
Falando sobre DevOps no azure
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
 

Ähnlich wie Containers and microservices orchestration

Ähnlich wie Containers and microservices orchestration (20)

[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em Delphi
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em Python
 
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluçõesTDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
TDC2018FLN | Trilha Python - Microservices em Python: desafios e soluções
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no Linux
 
Microservices reativos e a experiência do iFood
Microservices reativos e a experiência do iFoodMicroservices reativos e a experiência do iFood
Microservices reativos e a experiência do iFood
 
Devcamp 2017 Microservices Reativos
Devcamp 2017   Microservices ReativosDevcamp 2017   Microservices Reativos
Devcamp 2017 Microservices Reativos
 
Latinoware 2019 - Kubernetes a plataforma de grandes ideias
Latinoware 2019 - Kubernetes a plataforma de grandes ideiasLatinoware 2019 - Kubernetes a plataforma de grandes ideias
Latinoware 2019 - Kubernetes a plataforma de grandes ideias
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesReact e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer Circles
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Ciclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a pontaCiclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a ponta
 
QCon SP 2017 - Reactive Microservices e a experiência do iFood
QCon SP 2017 - Reactive Microservices e a experiência do iFoodQCon SP 2017 - Reactive Microservices e a experiência do iFood
QCon SP 2017 - Reactive Microservices e a experiência do iFood
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviços
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Microservices
MicroservicesMicroservices
Microservices
 

Containers and microservices orchestration