2. Quem somos
Flávio Costa
flcosta@microsoft.com
Carlos Felippe Cardoso
(CFC)
cfc@k21.com.br
3. Mas o que é?
"Nossa maior prioridade é satisfazer o cliente
através da entrega contínua e adiantada de
software com valor agregado."
1º princípio do Manifesto Ágil
4. Mas o que é?
"Continuous Delivery is a software
development discipline where you build
software in such a way that the software can be
released to production at any time."
Martin Fowler
5. Dev + Ops = DevOps!
“DevOps is much of the ‘how’ of achieving
continuous delivery,”
Jez Humble
8. Contexto
Projeto:
Sistema de Gestão Acadêmica
Time:
Mescla de Bolsistas e Funcionários
Multidisciplinar – Dev / DB / Test / Ops
Parte técnica:
Java EE + JBoss , Linux , MS SQL Server
9. Treinamento
"Vamos jogar nosso servidor de produção pela janela?"
"Quanto tempo para colocar o sistema novamente no ar?"
"ContinuousDelivery for DevOps"
Jez Humble / Agosto - 2011
Rio de Janeiro
10. Automação!
Começamos a perceber que podíamos automatizar
muitas coisas!
“Computers are designed to do simple repetitive tasks. The
second you have humans doing repetitive tasks, all the computers
get together late at night and laugh at you”
“… Every time you do something for the third time, automate it.
You’ll be doing it a million times…”
Neal Ford
23. O que fizemos?
Construir o binário somente uma vez!
E utilizá-lo em todos os lugares!
Testes de aceitação automatizados
Testes manuais exploratórios
Homologação
Produção
Jenkins
24. O que fizemos?
Automatizar o provisionamento & configuração!
Servidores
Workstations
25. O que fizemos?
Monitoramento & Dashboards
Reação mais rápida a problemas
Maior visibilidade!
31. Olhando para trás
Um link para um artigo no DZone
8 Principles of Continuous Delivery (2011!!!)
Resolvemos fazer uma rápida retrospectiva
Em qual estágio estávamos?
32. 8 princípios do CD
O processo de liberar/deployar software DEVE ser
reproduzível e confiável
Automatize tudo!
Se alguma coisa for difícil de fazer ou dolorosa,
faça-a com mais frequência
Coloque tudo no controle de versão
33. 8 princípios do CD
Pronto significa “Em produção”
Build quality in!
Todos são responsáveis pelo processo de
release
Melhoria contínua
35. Objetivos alcançados
Entrega de valor cada vez mais rápida e mais simples
Todos da equipe podem fazer deploy
Alta confiança
Tempo livre para fazer coisas mais produtivas :)
36. O que ainda dá para melhorar
Versionamento do Banco de Dados
Visualização do Estágio de Build
(Jenkins pipeline plugin)
Volta de uma versão (rollback) é manual
Monitoramento dos logs
38. O que ainda dá para melhorar
Versionamento do Banco de Dados
Visualização do Estágio de Build
(Jenkins pipeline plugin)
Volta de uma versão (rollback) é manual
Monitoramento dos logs
39. Dia D
Inscrição
Expectativa
3000+ usuários simultâneos
Deploy durante horário pico, 0 downtime, 100% confiança