Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Friday com 100% de uptime

308 views

Published on

Slides da palestra da Rivendel no QCon 2015 sobre como construir uma arquitetura escalável com cultura DevOps e uso das melhores práticas de Cloud para ter sucesso no Black Friday

Published in: Software
  • Be the first to comment

  • Be the first to like this

QCon 2015 - DevOps, Chef, Puppet e Ansible e como vender milhões na Black Friday com 100% de uptime

  1. 1. DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% de uptime
  2. 2. Sobre a Rivendel • Fundada em Maio/2013
 • Especialistas em Cloud/DevOps • Empresa mais qualificada em Amazon Web Services e Microsoft Azure do Brasil • 100+ clientes atendidos em 2 anos e 3 meses
  3. 3. Bruno Pereira • Fundador e CEO da Rivendel Tecnologia • Trabalha com métodos ágeis desde 2007 • Cloud desde 2009 • Lean Startups/Innovation desde 2010: 60+ startups
  4. 4. Bruno Almeida • Fundador e COO da Rivendel Tecnologia • Cloud desde 2010 • Cultura DevOps implantada em 80+ clientes
  5. 5. Vivendo a cultura
  6. 6. SysAdmin Tools 1999 Write-only
  7. 7. DevOps antes de Cloud • Granularidade menor de serviços e aplicações • Menos deployments anuais • Quantidade fixa de servidores
  8. 8. DevOps em Cloud • Muitos serviços e aplicações • Elasticidade • Arquitetura diversificada
  9. 9. DevOps e Agile • DevOps dentro dos times • Todos em contato com a infraestrutura • Deployments semanais ou até diários
  10. 10. Redefinindo SysAdmin • Menos tempo com equipamentos, mais com aplicações • Habilidades de Desenvolvimento • Intenso foco em monitoramento, segurança, tolerância a falhas, tuning.
  11. 11. Integração Contínua
  12. 12. Integração Contínua • Componentes integrados a cada commit • Testes unitários, de integração, regressão • Eliminação de etapas manuais
  13. 13. Continuous Delivery/Deployment
  14. 14. Deployment Pipelines
  15. 15. Propondo um processo e ferramentas
  16. 16. Stack de Continuous Delivery
  17. 17. • IaaS • PaaS • Servidor de containers • Nuvem privada com infra on-premises
  18. 18. • Topologias multi-datacenter • Balanceador suportando elasticidade • Serviços gerenciados de cache, bases relacionais e não- relacionais • CDN e serviço de DNS
  19. 19. • Automação de ambientes locais multi-plataforma • Ambientes locais montados de forma semelhante aos outros ambientes • Configuração versionável
  20. 20. • Implementação dos deployment pipelines • Configuração de chaves de deployment • Deployment pipelines diferentes por ambiente • Processos automaticamente disparados por pushes em diferentes branches
  21. 21. • Principais: Puppet, Chef e Ansible • Gerenciamento fino de componentes, versões, dependências • Provisionamento do ambiente de forma versionada e descritiva, em vez de imperativa. Provisionadores
  22. 22. • Possibilidade de construir stacks inteiras: balanceadores, máquinas virtuais, serviços gerenciados, bases de dados, entre outros. Provisionadores • Configuração legível de segurança, monitoramento, propriedades de cada ambiente.
  23. 23. • Modelo client-server/pull geralmente, com agente embarcado. Client pega atualizações do servidor • DSL própria. Configurações feitas em arquivos MANIFEST • Parâmetros definidos no user-data para que a máquina consiga se provisionar no boot • Comumente usado para provisionar dentro do sistema operacional, mas não provisionando componentes PaaS
  24. 24. • Modelo push com ssh, sem agentes, sem master • Escrito em Python, usa configs YAML: Ansible Playbooks • Sem dependências nos endpoints • Parâmetros definidos para um grupo de hosts • Comumente usado para provisionar dentro do sistema operacional, mas não provisionando componentes PaaS
  25. 25. • Modelo client-server/pull, com agentes nos hosts • Cookbooks em Ruby, versionados em repositórios Git • Parâmetros definidos na receita ou também em user-data • Comumente usado para provisionar dentro do sistema operacional, mas não provisionando componentes PaaS
  26. 26. • Integração automática com componentes AWS • Faz o papel do Chef Server, exigindo apenas a configuração de receitas chef-solo • Configuração automática de Auto-Scaling • Agendamento e controle fino de deployments +
  27. 27. Blue-Green Deployments Stacks inteiras em Produção simultaneamente Chaveamento em poucos segundos
  28. 28. Alguém tem medo da Black Friday??
  29. 29. • Vários níveis de cache, o máximo possível • Arquitetura elástica, permitindo aumento e redução da capacidade de acordo com a demanda. • Uso extensivo de mensageria e processamento assíncrono Receita pra ser feliz na Black Friday • Testes de carga • Refactoring/ajustes • Testes de carga • Refactoring/ajustes Já falei de testes de carga?? • Redundância e tolerância a falhas
  30. 30. • Migração de Datacenter físico para AWS, concluída 5 semanas antes do BF. • Upload + Cache de estáticos com S3 + Cloudfront. • Topologia multi-zona com autoscaling para todas as aplicações • Proxy reverso com Varnish • Ambiente totalmente em Virtual Private Cloud Black Friday 2014
  31. 31. • Bases relacionais com RDS. • Continuous Delivery/Deployment com OpsWorks. Blue/Green em algumas aplicações. Black Friday 2014 • Clusters memcached e Redis com Elasticache • Cluster MongoDB com replica-set • Faturamento 10% acima da meta otimista, 35% acima da meta mínima.
  32. 32. Faturamento 10% acima da meta otimista, 35% acima da meta mínima.
  33. 33. bruno.pereira@rivendel.com.br bruno.almeida@rivendel.com.br Obrigado!

×