DevOps na nuvem com Google Cloud Platform e Docker

Transcrição

DevOps na nuvem com Google Cloud Platform e Docker
Colabore. Inove. Transforme.
DevOps na nuvem com
Google Cloud Platform e
Docker
Daniel Vieira Viveiros
Head of Product Engineering @ CI&T
Google Developer Expert - Cloud Platform
http://plus.google.com/+DanielViveiros
http://twitter.com/dviveiros
DevOps
Comunicação
Colaboração
Integração
Comunicação
Colaboração
Integração
Foco no desenvolvimento: não nos preocupar
com infraestrutura
Agilidade: não estocar software, mover código
para produção o mais rápido possível
Qualidade: ter um produto de alto nível do ponto de
vista de qualidade, performance e escalabilidade
?
?
?
?
?
Plataforma
?
Hosting +
Compute
Storage
Big Data
Mais Abstração /
Produtividade
Mais Flexibilidade
GKE
(Google Container Engine)
Menos
Gerenciamento
Mais
Gerenciamento
Mais Abstração /
Produtividade
Menos
Gerenciamento
Infraestrutura: pronta para uso e
igual em todos os ambientes
Escalabilidade: infinita, pagando
proporcional ao uso
Alta Disponibilidade: garantida
pela Google
Arquitetura e Mecanismos:
fornecidos pela plataforma
Monitoring
Versions
Cost
Monitoring
Multitenancy
Feature
Toggle
Monitoring
Versions
Cost
Monitoring
Multitenancy
Feature
Toggle
Um código, uma mesma infraestrutura, vários clientes
APIs Multi-tenant
Monitoring
Versions
Cost
Monitoring
Multitenancy
Feature
Toggle
Feature Branches
Feature Toggles
Feature Toggles
Sem merges
Habilitação seletiva para tenants
Fácil plano de fallback
Feature Toggles
Sem merges
Habilitação seletiva para tenants
Fácil plano de fallback
Mais esforço de design para os Toggles
Toggles em diversas camadas separados
Toggles "permanentes"
Monitoring
Versions
Cost
Monitoring
Multitenancy
Feature
Toggle
Powered by Stackdriver
Monitoring
Versions
Cost
Monitoring
Multitenancy
Feature
Toggle
Configure um teto de custos por
projeto GAE ou seja Premier e
use a Billing API para
monitoramento em D-1 de custos!
Monitoring
Versions
Cost
Monitoring
Multitenancy
Feature
Toggle
E quando a plataforma te
colocar limites?
?
?
Plataforma
?
?
?
Plataforma
?
Infra
X
[1] Não gerar dependências
on-line para infraestrutura
Requisições
On-line
Touchpoints,
Cards, Person
Processos
Batch
Insights
[2] Criação sob-demanda,
shutdown após o uso
Jenkins:
Scheduling
Parametrização
Histórico dos logs
Subindo o cluster Hadoop… BDUTIL
https://cloud.google.com/hadoop/bdutil
Executando o Mahout… GCUTIL e GSUTIL
Matando o cluster Hadoop e instâncias… BDUTIL de novo!
Nenhum processo crítico dependendo de
infraestrutura
Pagando apenas pelos minutos que as instâncias
ficam ativas
Continuando sem necessidade de capacity
planning, load-balancing etc. A complexidade
ainda continua com a Google.
O que fazer quando a complexidade começa a
tomar conta do seu ambiente?
?
?
Plataforma
?
Infra
?
Containers
?
Plataforma
?
Infra
Escalabilidade dos
batches
Portabilidade
Escalabilidade dos
batches
Portabilidade
?
Containers
?
Plataforma
?
Infra
?
Containers
?
Plataforma
?
Infra
A Google Cloud Platform permite criar aplicações
de alto nível com foco apenas em
desenvolvimento
Comece da plataforma (GAE) e vá incluindo os
outros produtos sob demanda (GCE ou GCS).
Prefira as ofertas gerenciadas pela Google.
Contêineres são promissores, para ambientes de
desenvolvimento, versionamentos, migração de
ambientes e escalabilidade de processos (GKE)
Obrigado!
"Desenvolvemos pessoas
antes de desenvolver software"
César Gon, CEO
Daniel Vieira Viveiros
Head of Product Engineering @ CI&T
Google Developer Expert - Cloud Platform
http://plus.google.com/+DanielViveiros
http://twitter.com/dviveiros