O que é DevOps? Como a AWS usa DevOps para inovar continuamente? Como a VTEX usa DevOps para ser o maior provedor de eCommerce do Brasil? Estas e outras respostas, nesta apresentação...
2. Integração Contínua e Melhores
Práticas de Deployment
Marcelo Couto, Diretor de Produtos da VTEX
Alex Coqueiro, Arquiteto de Soluções para o Setor Público
3. Agenda
• Como a Amazon faz ?
• Como a VTEX faz ?
• Como eu posso fazer ?
15. Vamos subir mais uma versão!
• Plataforma de comércio eletrônico
SaaS, líder na América Latina
• Atendemos clientes de médio e
grande porte.
• Mais de 700 lojas
• Estamos em 9 países
• Mais de 7 milhões de pedidos em
2014.
“Vamos focar no
objetivo da nossa
empresa, nós
desenvolvemos software.
Infraestrutura não pode
gastar nosso tempo.”
- Marcelo Couto
16. O Desafio
• Ter um sistema com uma infra-
estrutura para atender a todos os
clientes. SaaS.
• Transformar um sistema grande em
microserviços
• Conseguir lançar versões sem
downtime
• Fazer o lançamento de versões ser
frequente.
17. Solução
• Mais de 40 serviços, cada um
com a sua infraestrutura e
repositórios de dados.
• Todos os ambientes
monitorados e com alarmes
criados.
• 8385 versões lançadas em 2014
24. Porque usar um serviço de deployment?
Automatização
de deployments
Gerenciar
Complexidade
Evitar
downtime
25. CodeDeploy
• Escalar de 1 instância para milhares
• Deploy sem downtime
• Controle de deployment centralizado e monitorado
Staging
CodeDeployv1, v2, v3
Production
Dev
Coordenar deployment de forma automatizada, como na Amazon
Application
revisions
Deployment groups
46. O que é requerido em um gerenciador de versão ?
Gerenciamento
Completo
High
availability
Segurança Armazenar
Qualquer
Coisa
47.
48. CodeCommit
• Redundância de dados em AZ’s
• Encriptação dos dados armazenados
• Integrado com AWS Identity and Access Management
• Não há limite para o repo
git push CodeCommit
Objetos Git
no Amazon S3
Index do Git
no Amazon
DynamoDB
Encriptação de
Chaves no
AWS KMS
SSH or HTTPS
Seguro, escalável, e gerenciado como no Git
52. Porque utilizar um serviço para Release?
Workflow
Automatizado
Release
Rápido
Garantir
Qualidade
53.
54. CodePipeline
• Motor de workflow customizável
• Integração com ferramentas de parceiros e/ou customizações
• Editor Visual e status
Continuous delivery e automação do release, como na Amazon
Build
1) Build
2) Unit test
1) Deploy
2) UI test
Source Beta Production
1) Deploy
2) Load test
Gamma
1) Deploy region1
2) Deploy region2
3) Deploy region3