SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
Integração
Contínua até a
Entrega Contínua
Agradecimento ao Flávio Costa pela ajuda!
Carlos Felippe Cardoso (CFC)
cfc@k21.com.br
@carlosfelippe
slideshare.net/cfelippe
Sócio e Agile Coach - Knowledge 21
Instrutor nos treinamentos:
CSD – Certified Scrum Developer
Testes Automatizados
Continuous Delivery
Técnicas de Facilitação
Prof. Colaborador - UFRJ
“Agilista” desde 2004
Quem sou eu?
Palestra do Scrum
Gathering RJ
http://scrumrio.com
Submissões abrem no fim
do ano!
O que é CD?
Case UFRJ
Principal dificuldade nas
empresas
Mas o que é CD?
"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 é CD?
"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
Contexto
O time, o projeto e o trabalho
Contexto
Projeto:
Sistema de Gestão Acadêmica
ERP - UFRJ
Time:
Mescla de Bolsistas e Funcionários
Multidisciplinar – Dev / DB / Test / Ops
Parte técnica:
Java EE + JBoss , Linux , MS SQL Server
Integração com outros DBs corporativos
Treinamento em 2011 no RJ
"Vamos jogar nosso servidor de produção pela janela?"
"Quanto tempo para colocar o sistema novamente no ar?“
"Continuous Delivery for DevOps"
Jez Humble / Agosto - 2011
Rio de Janeiro
Automação!
“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
Um sentimento reinava...
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
A cultura de testes já estava na veia 
Nossa situação (Retrospectiva)
E o que faltava?
Negócio fatiando bem as entregas
Provisionamento de Servers e Workstations
Deploy confiável e automatizado (!!!)
Monitoramento decente
O gatilho
Ou quando começamos a tentar automatizar tudo!
Servidores de produção ficaram
sem garantia de hardware!
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
A TI cria barreiras para o
Negócio colocar código novo
em 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
Um link para um artigo no Dzone
é enviado (fim de 2013)
8 Principles of Continuous Delivery
De 2011!
http://java.dzone.com/articles/8-principles-continuous
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
4 práticas do CD
Build binaries only once.
Use precisely the same mechanism to deploy to
every environment
Smoke test your deployment.
If anything fails, stop the line
Everybody has responsibility for the release
process
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
(sempre tem muito a fazer...)
Versionamento do Banco de Dados
Visualização do Estágio de Build mais
customizada
(Jenkins pipeline plugin)
Volta de uma versão (rollback) é manual
Monitoramento dos logs
Jenkins Pipeline Plugin
Dia D – Vamos fazer release ?
Inscrição
Expectativa
5000+ usuários simultâneos
Deploy durante horário pico, 0 downtime, 100% confiança
Dia D – Vamos fazer release ?
Inscrição
Expectativa
5000+ usuários simultâneos
Deploy durante horário pico, 0 downtime, 100% confiança
5 RELEASES!!!
O futuro
Aonde queremos chegar?
Aonde queremos chegar?
Sabem qual o principal
problema para adotar
tudo isso que falamos?
Colaboração
Time Multi-disciplinar
Senso de Time
“Indivíduos e interações mais que
processos e ferramentas”
Perguntas?
Obrigado!
Email: cfc@k21.com.br
Twitter: @carlosfelippe
Slides em: slideshare.net/cfelippe

Mais conteúdo relacionado

Mais procurados

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
 
DevOps, por onde começar
DevOps, por onde começarDevOps, por onde começar
DevOps, por onde começarAdriano Tavares
 
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 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
 
Dívida técnica pagando parcelado ou no final do projeto - Thiago Luiz (Th...
Dívida técnica   pagando parcelado ou no final do projeto - Thiago Luiz (Th...Dívida técnica   pagando parcelado ou no final do projeto - Thiago Luiz (Th...
Dívida técnica pagando parcelado ou no final do projeto - Thiago Luiz (Th...Agile Trends
 
A responsabilidade do “Done”: a colaboração como condição de uma entrega ágil...
A responsabilidade do “Done”: a colaboração como condição de uma entrega ágil...A responsabilidade do “Done”: a colaboração como condição de uma entrega ágil...
A responsabilidade do “Done”: a colaboração como condição de uma entrega ágil...Agile Trends
 
ConnectionDay 2019 - Divinópolis - Transformação digital turbinada
ConnectionDay 2019 - Divinópolis - Transformação digital turbinadaConnectionDay 2019 - Divinópolis - Transformação digital turbinada
ConnectionDay 2019 - Divinópolis - Transformação digital turbinadaAndré Paulovich
 
Quando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesQuando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesJuliano Ribeiro
 
DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013Felipe Freire
 
Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez! Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez! Adriano Tavares
 
Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMarcelo Murad
 
Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis   Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis Agile Trends
 
Show Me Your Board (#SuperTrends2016)
Show Me Your Board (#SuperTrends2016)Show Me Your Board (#SuperTrends2016)
Show Me Your Board (#SuperTrends2016)Rodrigo Yoshima
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosGiovani Elísio Silva
 
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?tdc-globalcode
 
Mauricio Onoda - Processamento de imagens com Deep Learning
Mauricio Onoda - Processamento de imagens com Deep LearningMauricio Onoda - Processamento de imagens com Deep Learning
Mauricio Onoda - Processamento de imagens com Deep LearningAgile Trends
 
Implantando Scrum, experiências de um Agile Coach
Implantando Scrum, experiências de um Agile CoachImplantando Scrum, experiências de um Agile Coach
Implantando Scrum, experiências de um Agile CoachRodrigo Yoshima
 

Mais procurados (20)

Testes automatizados - Agile Day
Testes automatizados -  Agile DayTestes automatizados -  Agile Day
Testes automatizados - Agile Day
 
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
 
DevOps, por onde começar
DevOps, por onde começarDevOps, por onde começar
DevOps, por onde começar
 
Cultura DevOps
Cultura DevOpsCultura DevOps
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 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
 
Dívida técnica pagando parcelado ou no final do projeto - Thiago Luiz (Th...
Dívida técnica   pagando parcelado ou no final do projeto - Thiago Luiz (Th...Dívida técnica   pagando parcelado ou no final do projeto - Thiago Luiz (Th...
Dívida técnica pagando parcelado ou no final do projeto - Thiago Luiz (Th...
 
A responsabilidade do “Done”: a colaboração como condição de uma entrega ágil...
A responsabilidade do “Done”: a colaboração como condição de uma entrega ágil...A responsabilidade do “Done”: a colaboração como condição de uma entrega ágil...
A responsabilidade do “Done”: a colaboração como condição de uma entrega ágil...
 
ConnectionDay 2019 - Divinópolis - Transformação digital turbinada
ConnectionDay 2019 - Divinópolis - Transformação digital turbinadaConnectionDay 2019 - Divinópolis - Transformação digital turbinada
ConnectionDay 2019 - Divinópolis - Transformação digital turbinada
 
Quando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesQuando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidades
 
DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013DevOps Apresentação Encontro Rational 2013
DevOps Apresentação Encontro Rational 2013
 
Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez! Transformação ágil em uma grande empresa, um post-it por vez!
Transformação ágil em uma grande empresa, um post-it por vez!
 
Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs Agile
 
Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis   Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis
 
Show Me Your Board (#SuperTrends2016)
Show Me Your Board (#SuperTrends2016)Show Me Your Board (#SuperTrends2016)
Show Me Your Board (#SuperTrends2016)
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
 
ScrumOps
ScrumOpsScrumOps
ScrumOps
 
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
TDC2018FLN | Trilha Agile - Agilidade e para desenvolvedores?
 
Mauricio Onoda - Processamento de imagens com Deep Learning
Mauricio Onoda - Processamento de imagens com Deep LearningMauricio Onoda - Processamento de imagens com Deep Learning
Mauricio Onoda - Processamento de imagens com Deep Learning
 
Implantando Scrum, experiências de um Agile Coach
Implantando Scrum, experiências de um Agile CoachImplantando Scrum, experiências de um Agile Coach
Implantando Scrum, experiências de um Agile Coach
 

Destaque

Os desafios da entrega contínua
Os desafios da entrega contínuaOs desafios da entrega contínua
Os desafios da entrega contínuaJuliano Ribeiro
 
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
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..siticfje
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega ContínuaMarlon Bernardes
 
Kanban - Migrando do Scrum para o Kanban
Kanban - Migrando do Scrum para o KanbanKanban - Migrando do Scrum para o Kanban
Kanban - Migrando do Scrum para o KanbanVictor Hugo Bilouro
 
Kanban - desenvolvimento ágil e lean
Kanban - desenvolvimento ágil e leanKanban - desenvolvimento ágil e lean
Kanban - desenvolvimento ágil e leanMarcel Nicolay
 
SCRUM RIO 2014 - Resolvendo os problemas certos com Kanban, Métricas e Visual...
SCRUM RIO 2014 - Resolvendo os problemas certos com Kanban, Métricas e Visual...SCRUM RIO 2014 - Resolvendo os problemas certos com Kanban, Métricas e Visual...
SCRUM RIO 2014 - Resolvendo os problemas certos com Kanban, Métricas e Visual...Amanda Varella
 
Entrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaEntrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaLeonardo Kobus
 
Desenvolva pessoas, elas desenvolverão soluções
Desenvolva pessoas, elas desenvolverão soluçõesDesenvolva pessoas, elas desenvolverão soluções
Desenvolva pessoas, elas desenvolverão soluçõesMarcio Sete
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupPamela Canchanya
 
Continuous Delivery - ALM Summit Brasil 2013
Continuous Delivery - ALM Summit Brasil 2013Continuous Delivery - ALM Summit Brasil 2013
Continuous Delivery - ALM Summit Brasil 2013Marcio Sete
 
Os desafios da entrega contínua - Está preparado?
Os desafios da entrega contínua - Está preparado?Os desafios da entrega contínua - Está preparado?
Os desafios da entrega contínua - Está preparado?Juliano Ribeiro
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMarcio Sete
 
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteiraTDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteiraDiego Gabriel Cardoso
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous deliveryMarco Valtas
 
Os desafios na gestão de roadmap de produto em equipes ágeis
Os desafios na gestão de roadmap de produto em equipes ágeisOs desafios na gestão de roadmap de produto em equipes ágeis
Os desafios na gestão de roadmap de produto em equipes ágeisRafael Helm
 
Implementando Entrega Contínua
Implementando Entrega ContínuaImplementando Entrega Contínua
Implementando Entrega ContínuaMarco Valtas
 
Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!Eduardo Bohrer
 
Plataformas de Alta Disponibilidade
Plataformas de Alta DisponibilidadePlataformas de Alta Disponibilidade
Plataformas de Alta DisponibilidadeClaudio Meinberg
 

Destaque (20)

Os desafios da entrega contínua
Os desafios da entrega contínuaOs desafios da entrega contínua
Os desafios da entrega 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
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega Contínua
 
Kanban - Migrando do Scrum para o Kanban
Kanban - Migrando do Scrum para o KanbanKanban - Migrando do Scrum para o Kanban
Kanban - Migrando do Scrum para o Kanban
 
Kanban - desenvolvimento ágil e lean
Kanban - desenvolvimento ágil e leanKanban - desenvolvimento ágil e lean
Kanban - desenvolvimento ágil e lean
 
SCRUM RIO 2014 - Resolvendo os problemas certos com Kanban, Métricas e Visual...
SCRUM RIO 2014 - Resolvendo os problemas certos com Kanban, Métricas e Visual...SCRUM RIO 2014 - Resolvendo os problemas certos com Kanban, Métricas e Visual...
SCRUM RIO 2014 - Resolvendo os problemas certos com Kanban, Métricas e Visual...
 
Entrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaEntrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuida
 
Mini-curso Scrum e Kanban WES 2015
Mini-curso Scrum e Kanban WES 2015Mini-curso Scrum e Kanban WES 2015
Mini-curso Scrum e Kanban WES 2015
 
Desenvolva pessoas, elas desenvolverão soluções
Desenvolva pessoas, elas desenvolverão soluçõesDesenvolva pessoas, elas desenvolverão soluções
Desenvolva pessoas, elas desenvolverão soluções
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA Meetup
 
Continuous Delivery - ALM Summit Brasil 2013
Continuous Delivery - ALM Summit Brasil 2013Continuous Delivery - ALM Summit Brasil 2013
Continuous Delivery - ALM Summit Brasil 2013
 
Os desafios da entrega contínua - Está preparado?
Os desafios da entrega contínua - Está preparado?Os desafios da entrega contínua - Está preparado?
Os desafios da entrega contínua - Está preparado?
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteiraTDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Os desafios na gestão de roadmap de produto em equipes ágeis
Os desafios na gestão de roadmap de produto em equipes ágeisOs desafios na gestão de roadmap de produto em equipes ágeis
Os desafios na gestão de roadmap de produto em equipes ágeis
 
Implementando Entrega Contínua
Implementando Entrega ContínuaImplementando Entrega Contínua
Implementando Entrega Contínua
 
Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!Builds e Pipelines - A arte de automatizar a entrega de software!
Builds e Pipelines - A arte de automatizar a entrega de software!
 
Plataformas de Alta Disponibilidade
Plataformas de Alta DisponibilidadePlataformas de Alta Disponibilidade
Plataformas de Alta Disponibilidade
 

Semelhante a Continuous delivery principios e praticas - Knowledge21

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
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
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
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
 
Tdc continuous testing
Tdc   continuous testing Tdc   continuous testing
Tdc continuous testing Walter Farias
 
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
 
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
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
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
 
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
 
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
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous DeliverySamanta Cicilia
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaGabriela Patuci
 
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
 
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
 
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryQConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryRodrigo Russo
 

Semelhante a Continuous delivery principios e praticas - Knowledge21 (20)

Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
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
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Webinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros ÁgeisWebinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros Ágeis
 
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
 
Vamos falar de DevOps?
Vamos falar de DevOps?Vamos falar de DevOps?
Vamos falar de DevOps?
 
Tdc continuous testing
Tdc   continuous testing Tdc   continuous testing
Tdc continuous testing
 
Palestra DevOps para Teste de Software
Palestra DevOps para Teste de SoftwarePalestra DevOps para Teste de Software
Palestra DevOps para Teste de Software
 
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 ...
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
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
 
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
 
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
 
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
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
DevOps - Operação contínua
DevOps - Operação contínuaDevOps - Operação contínua
DevOps - Operação contínua
 
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
 
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
 
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryQConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
 

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
 
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 (7)

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
 
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 principios e praticas - Knowledge21

  • 1. Integração Contínua até a Entrega Contínua Agradecimento ao Flávio Costa pela ajuda! Carlos Felippe Cardoso (CFC) cfc@k21.com.br @carlosfelippe slideshare.net/cfelippe
  • 2. Sócio e Agile Coach - Knowledge 21 Instrutor nos treinamentos: CSD – Certified Scrum Developer Testes Automatizados Continuous Delivery Técnicas de Facilitação Prof. Colaborador - UFRJ “Agilista” desde 2004 Quem sou eu?
  • 3. Palestra do Scrum Gathering RJ http://scrumrio.com Submissões abrem no fim do ano!
  • 4. O que é CD? Case UFRJ Principal dificuldade nas empresas
  • 5. Mas o que é CD? "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
  • 6. Mas o que é CD? "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
  • 7. Dev + Ops = DevOps! “DevOps is much of the ‘how’ of achieving continuous delivery,” Jez Humble
  • 8. Contexto O time, o projeto e o trabalho
  • 9. Contexto Projeto: Sistema de Gestão Acadêmica ERP - UFRJ Time: Mescla de Bolsistas e Funcionários Multidisciplinar – Dev / DB / Test / Ops Parte técnica: Java EE + JBoss , Linux , MS SQL Server Integração com outros DBs corporativos
  • 10. Treinamento em 2011 no RJ "Vamos jogar nosso servidor de produção pela janela?" "Quanto tempo para colocar o sistema novamente no ar?“ "Continuous Delivery for DevOps" Jez Humble / Agosto - 2011 Rio de Janeiro
  • 11. Automação! “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
  • 13. Nossa situação O que já tínhamos automatizado? Integração Contínua funcionando! Parque com milhares de testes automatizados
  • 14. Um de nossos projetos no Jenkins 2500+ testes
  • 15. A cultura de testes já estava na veia 
  • 16. Nossa situação (Retrospectiva) E o que faltava? Negócio fatiando bem as entregas Provisionamento de Servers e Workstations Deploy confiável e automatizado (!!!) Monitoramento decente
  • 17. O gatilho Ou quando começamos a tentar automatizar tudo!
  • 18. Servidores de produção ficaram sem garantia de hardware!
  • 20.
  • 21. Novos servidores comprados! E agora? Configurar todos servidores na mão?
  • 22. E agora, o que fazemos?
  • 23. E agora, o que fazemos? “If it hurts, do it more often and bring the pain forward” Martin Fowler - Continuous Integration
  • 24. Nosso quadro Kanban Notem a quantidade de Post Its na raias de Ready, Testes Exploratórios e Pronto para Produção
  • 25.
  • 26. A TI cria barreiras para o Negócio colocar código novo em produção!
  • 27.
  • 28. Mãos à obra! O que fizemos?
  • 29. 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
  • 30. O que fizemos? Automatizar o provisionamento & configuração! Servidores Workstations
  • 31. O que fizemos? Monitoramento & Dashboards Reação mais rápida a problemas Maior visibilidade!
  • 33. Jenkins Dashboard Nem sempre está verde! =(
  • 34. O que fizemos? Deploy " tão" simples quanto o apertar de um botão Recentemente deploy para homologação ficou automático! Fabric
  • 35. O que fizemos? Entregar valor com frequência! “Feito é melhor que perfeito” Sheryl Sandberg, COO @ Facebook
  • 36. Olhando para trás Uma rápida retrospectiva
  • 37. Um link para um artigo no Dzone é enviado (fim de 2013) 8 Principles of Continuous Delivery De 2011! http://java.dzone.com/articles/8-principles-continuous Resolvemos fazer uma rápida retrospectiva Em qual estágio estávamos?
  • 38. 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
  • 39. 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
  • 40. 4 práticas do CD Build binaries only once. Use precisely the same mechanism to deploy to every environment Smoke test your deployment. If anything fails, stop the line Everybody has responsibility for the release process
  • 41. Objetivos alcançados Ou aonde esse trabalho nos levou…
  • 42. 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 :)
  • 43. O que ainda dá para melhorar (sempre tem muito a fazer...) Versionamento do Banco de Dados Visualização do Estágio de Build mais customizada (Jenkins pipeline plugin) Volta de uma versão (rollback) é manual Monitoramento dos logs
  • 45. Dia D – Vamos fazer release ? Inscrição Expectativa 5000+ usuários simultâneos Deploy durante horário pico, 0 downtime, 100% confiança
  • 46. Dia D – Vamos fazer release ? Inscrição Expectativa 5000+ usuários simultâneos Deploy durante horário pico, 0 downtime, 100% confiança 5 RELEASES!!!
  • 49. Sabem qual o principal problema para adotar tudo isso que falamos?
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. Colaboração Time Multi-disciplinar Senso de Time “Indivíduos e interações mais que processos e ferramentas”