SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Continuous 
Delivery 
Através dos seus 8 princípios
Quem somos 
Flávio Costa 
flcosta@microsoft.com 
Carlos Felippe Cardoso 
(CFC) 
cfc@k21.com.br
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
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
Dev + Ops = DevOps! 
“DevOps is much of the ‘how’ of achieving 
continuous delivery,” 
Jez Humble
Isso serve para você?
Contexto 
O time, o projeto e o trabalho
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
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
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
Nossa situação
Nossa situação 
O que já tínhamos automatizado? 
Integração Contínua funcionando! 
Parque com milhares de testes automatizados
Um de nossos projetos no Jenkins 
2500+ testes
Nossa situação 
E o que faltava? 
Negócio fatiando bem as entregas 
Provisionamento de Servers e Workstations 
Deploy! 
Monitoramento
O gatilho 
Ou quando começamos a tentar automatizar tudo!
Servidores ficaram sem garantia!
Novos servidores comprados!
Novos servidores comprados! 
E agora? 
Configurar todos servidores na mão?
E agora, o que fazemos?
E agora, o que fazemos? 
“If it hurts, do it more often and bring the pain forward” 
Martin Fowler - Continuous Integration
Nosso quadro Kanban 
Notem a quantidade de Post Its na raias de Ready, 
Testes Exploratórios e Pronto para Produção
Mãos à obra! 
O que fizemos?
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
O que fizemos? 
Automatizar o provisionamento & configuração! 
Servidores 
Workstations
O que fizemos? 
Monitoramento & Dashboards 
Reação mais rápida a problemas 
Maior visibilidade!
Jenkins Dashboard
Jenkins Dashboard 
Nem sempre está verde! =(
O que fizemos? 
Deploy " tão" simples quanto o apertar de um botão 
Recentemente deploy para homologação ficou automático! 
Fabric
O que fizemos? 
Entregar valor com frequência! 
“Feito é melhor que perfeito” 
Sheryl Sandberg, COO @ Facebook
Olhando para trás 
Uma rápida retrospectiva
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?
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
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
Objetivos 
alcançados 
Ou aonde esse trabalho nos levou…
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 :)
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
Jenkins Pipeline Plugin
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
Dia D 
Inscrição 
Expectativa 
3000+ usuários simultâneos 
Deploy durante horário pico, 0 downtime, 100% confiança
O futuro 
Aonde queremos chegar?
Aonde queremos chegar?
Perguntas?
Obrigado!

Mais conteúdo relacionado

Mais procurados

Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develJose Augusto Carvalho
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsLeonardo Comelli
 
Transformação ágil ou transformação digital?
Transformação ágil ou transformação digital?Transformação ágil ou transformação digital?
Transformação ágil ou transformação digital?Carlos Felippe Cardoso
 
DevOps - A Origem
DevOps - A OrigemDevOps - A Origem
DevOps - A OrigemAndré Dias
 
DevOps, por onde começar
DevOps, por onde começarDevOps, por onde começar
DevOps, por onde começarAdriano Tavares
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMFelipe Freire
 
Devops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaDevops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaFernando Celarino
 
Discutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoDiscutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoThoughtworks
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaOtávio Calaça Xavier
 
DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014Rodrigo Campos
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIAlefe Variani
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?Thiago Ganzarolli
 
DevOps - Estado da Arte
DevOps - Estado da ArteDevOps - Estado da Arte
DevOps - Estado da Arteilegra
 
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Trends
 
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaFerramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaCarlos Felippe Cardoso
 
DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013Felipe Freire
 

Mais procurados (20)

Cultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e develCultura DevOps e integração entre infra e devel
Cultura DevOps e integração entre infra e devel
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
Transformação ágil ou transformação digital?
Transformação ágil ou transformação digital?Transformação ágil ou transformação digital?
Transformação ágil ou transformação digital?
 
DevOps - A Origem
DevOps - A OrigemDevOps - A Origem
DevOps - A Origem
 
DevOps, por onde começar
DevOps, por onde começarDevOps, por onde começar
DevOps, por onde começar
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
O que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBMO que é DevOps? Introdução à abordagem pela IBM
O que é DevOps? Introdução à abordagem pela IBM
 
Devops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaDevops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estrutura
 
Discutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo SatoDiscutindo DevOps na pratica, por Danilo Sato
Discutindo DevOps na pratica, por Danilo Sato
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega Contínua
 
DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014DevOps no mundo real - QCON 2014
DevOps no mundo real - QCON 2014
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?
 
DevOps - Estado da Arte
DevOps - Estado da ArteDevOps - Estado da Arte
DevOps - Estado da Arte
 
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
 
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaFerramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
 
O que é DevOps afinal?
O que é DevOps afinal?O que é DevOps afinal?
O que é DevOps afinal?
 
DevOps
DevOpsDevOps
DevOps
 
DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013
 
Webinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros ÁgeisWebinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros Ágeis
 

Semelhante a Continuous Delivery através de 8 princípios

Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwareJúlio de Lima
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
Tdc continuous testing
Tdc   continuous testing Tdc   continuous testing
Tdc continuous testing Walter Farias
 
Memoir de um Dev-Não-Ops
Memoir de um Dev-Não-OpsMemoir de um Dev-Não-Ops
Memoir de um Dev-Não-OpsFernando Junior
 
Entregando inovação de forma contínua com maior agilidade
Entregando inovação de forma contínua com maior agilidadeEntregando inovação de forma contínua com maior agilidade
Entregando inovação de forma contínua com maior agilidadeAllyson Chiarini
 
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceDa Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceRaphael Paiva
 
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsE se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsEdson Celio
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
Do Gitlab ao deploy
Do Gitlab ao deployDo Gitlab ao deploy
Do Gitlab ao deployLeandro Moro
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Scrum X DevOps - A eficácia encontra a eficiência
Scrum X DevOps - A eficácia encontra a eficiênciaScrum X DevOps - A eficácia encontra a eficiência
Scrum X DevOps - A eficácia encontra a eficiênciaAnderson Santos
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilMisael Santos
 
SRE - Esperança não é uma estratégia
SRE - Esperança não é uma estratégiaSRE - Esperança não é uma estratégia
SRE - Esperança não é uma estratégiaLeandro Silva
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...tdc-globalcode
 
Docker, jenkins e gradle para tomar o controle de sua entrega
Docker, jenkins e gradle para tomar o controle de sua entregaDocker, jenkins e gradle para tomar o controle de sua entrega
Docker, jenkins e gradle para tomar o controle de sua entregaHumberto Streb
 
Maio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaMaio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaGrupo de Testes Carioca
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaOtávio Calaça Xavier
 

Semelhante a Continuous Delivery através de 8 princípios (20)

Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de Software
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
Tdc continuous testing
Tdc   continuous testing Tdc   continuous testing
Tdc continuous testing
 
Memoir de um Dev-Não-Ops
Memoir de um Dev-Não-OpsMemoir de um Dev-Não-Ops
Memoir de um Dev-Não-Ops
 
Vamos falar de DevOps?
Vamos falar de DevOps?Vamos falar de DevOps?
Vamos falar de DevOps?
 
Entregando inovação de forma contínua com maior agilidade
Entregando inovação de forma contínua com maior agilidadeEntregando inovação de forma contínua com maior agilidade
Entregando inovação de forma contínua com maior agilidade
 
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceDa Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
 
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOpsE se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
E se ao invés de Dev e Ops for DevOps? Uma introdução a cultura DevOps
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
Do Gitlab ao deploy
Do Gitlab ao deployDo Gitlab ao deploy
Do Gitlab ao deploy
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Scrum X DevOps - A eficácia encontra a eficiência
Scrum X DevOps - A eficácia encontra a eficiênciaScrum X DevOps - A eficácia encontra a eficiência
Scrum X DevOps - A eficácia encontra a eficiência
 
Automatização de Ambientes CI & CD & DevOps
Automatização de Ambientes CI & CD & DevOpsAutomatização de Ambientes CI & CD & DevOps
Automatização de Ambientes CI & CD & DevOps
 
GCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS ÁgilGCS - Aula 09 - GCS Ágil
GCS - Aula 09 - GCS Ágil
 
SRE - Esperança não é uma estratégia
SRE - Esperança não é uma estratégiaSRE - Esperança não é uma estratégia
SRE - Esperança não é uma estratégia
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
 
Docker, jenkins e gradle para tomar o controle de sua entrega
Docker, jenkins e gradle para tomar o controle de sua entregaDocker, jenkins e gradle para tomar o controle de sua entrega
Docker, jenkins e gradle para tomar o controle de sua entrega
 
O que é devops?
O que é devops?O que é devops?
O que é devops?
 
Maio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaMaio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação Contínua
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega Continua
 

Mais de Carlos Felippe Cardoso

Você precisa de um scrum master, um agile coach ou nenhum dos dois
Você precisa de um scrum master, um agile coach ou nenhum dos dois Você precisa de um scrum master, um agile coach ou nenhum dos dois
Você precisa de um scrum master, um agile coach ou nenhum dos dois Carlos Felippe Cardoso
 
Agile portfolio management - Tools that help to reduce demand
Agile portfolio management - Tools that help to reduce demandAgile portfolio management - Tools that help to reduce demand
Agile portfolio management - Tools that help to reduce demandCarlos Felippe Cardoso
 
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaFerramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaCarlos Felippe Cardoso
 
ScrumMaster 3.0 - Apresentação no Agile Trends
ScrumMaster 3.0 - Apresentação no Agile TrendsScrumMaster 3.0 - Apresentação no Agile Trends
ScrumMaster 3.0 - Apresentação no Agile TrendsCarlos Felippe Cardoso
 

Mais de Carlos Felippe Cardoso (8)

LKNA18 - Legally Kanban
LKNA18 - Legally KanbanLKNA18 - Legally Kanban
LKNA18 - Legally Kanban
 
Você precisa de um scrum master, um agile coach ou nenhum dos dois
Você precisa de um scrum master, um agile coach ou nenhum dos dois Você precisa de um scrum master, um agile coach ou nenhum dos dois
Você precisa de um scrum master, um agile coach ou nenhum dos dois
 
Agile portfolio management - Tools that help to reduce demand
Agile portfolio management - Tools that help to reduce demandAgile portfolio management - Tools that help to reduce demand
Agile portfolio management - Tools that help to reduce demand
 
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redondaFerramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
Ferramentas para auxiliar na gestão de portfolio e fazer a bola chegar redonda
 
ScrumMaster 3.0 - Apresentação no Agile Trends
ScrumMaster 3.0 - Apresentação no Agile TrendsScrumMaster 3.0 - Apresentação no Agile Trends
ScrumMaster 3.0 - Apresentação no Agile Trends
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Intro a Testes Automatizados
Intro a Testes AutomatizadosIntro a Testes Automatizados
Intro a Testes Automatizados
 
Intro a Continuous Delivery
Intro a Continuous DeliveryIntro a Continuous Delivery
Intro a Continuous Delivery
 

Continuous Delivery através de 8 princípios

  • 1. Continuous Delivery Através dos seus 8 princípios
  • 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
  • 7. Contexto O time, o projeto e o trabalho
  • 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
  • 12. Nossa situação O que já tínhamos automatizado? Integração Contínua funcionando! Parque com milhares de testes automatizados
  • 13. Um de nossos projetos no Jenkins 2500+ testes
  • 14. Nossa situação E o que faltava? Negócio fatiando bem as entregas Provisionamento de Servers e Workstations Deploy! Monitoramento
  • 15. O gatilho Ou quando começamos a tentar automatizar tudo!
  • 18. Novos servidores comprados! E agora? Configurar todos servidores na mão?
  • 19. E agora, o que fazemos?
  • 20. E agora, o que fazemos? “If it hurts, do it more often and bring the pain forward” Martin Fowler - Continuous Integration
  • 21. Nosso quadro Kanban Notem a quantidade de Post Its na raias de Ready, Testes Exploratórios e Pronto para Produção
  • 22. Mãos à obra! O que fizemos?
  • 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!
  • 27. Jenkins Dashboard Nem sempre está verde! =(
  • 28. O que fizemos? Deploy " tão" simples quanto o apertar de um botão Recentemente deploy para homologação ficou automático! Fabric
  • 29. O que fizemos? Entregar valor com frequência! “Feito é melhor que perfeito” Sheryl Sandberg, COO @ Facebook
  • 30. Olhando para trás Uma rápida retrospectiva
  • 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
  • 34. Objetivos alcançados Ou aonde esse trabalho nos levou…
  • 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
  • 40. O futuro Aonde queremos chegar?