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