SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Marcos Brizeno

Entrega
Contínua
E eu com isso?
Quem
sou eu?
Cientista da
Computação
UECE
about.me/
marcosbrizeno
ThoughtWorks
Recife
@marcosbrizeno
© 2013

2
Entregando
Software
Quem decide quando entregar?
Qual a frequência - se existir?
Qual o tamanho?
Desenvolvimento
vs
Negócio
© 2013

3
#história
Testes
Automatizados
TDD / BDD
Integração
Contínua

✓ explorar


repetição ✓


✓ analisar


rapidez ✓


Encontrar
 Automatizar
© 2013

4
#história
Testes
Automatizados
TDD / BDD
Integração
Contínua

© 2013

5
#história
Testes
Automatizados
TDD / BDD
Integração
Contínua

© 2013

6
Automação
Automatize tudo!
Testes, Implantação,
Configuração, Dependências
Externas, Provisionamento,
Notificações, Performance
© 2013

7
Entrega Contínua
>
Automação
http://bit.ly/1aCnAsW

© 2013

8
De volta para
o futuro

m
to
Au

!
Como continuar
melhorando?

Código/Testes
Servidor de Integração
Implantação homologação

o
ad
iz
at

Testes de Aceitação
Implantação produção

[ ]
Pipeline de
Implementação

© 2013

9
Pipeline

#benefícios
Cada commit
gera uma nova
versão
Sempre existe
uma versão para
ser implantada
Visão
centralizada da
qualidade do
projeto
© 2013

10
Entrega
Contínua 
!
!

?!

Implantação
Contínua

{

“Você pode implantar
continuamente em homologação
- sem problemas. O que torna a
Entrega Contínua tão especial é
implantar toda mudança que
passe os testes automatizados
para produção”

Jez Humble, sobre
Entrega Contínua vs
Implantação Contínua

© 2013

11
Porquê
adotar
Entrega
Contínua?

✓ Todo código pode x Quero ser um
ser implantado

✓ Mudanças de
código são
verificadas com
Dados e
Infraestrutura

“profissional
qualificado”

x GitHub faz 12,602
Implantações por
dia

✓ A equipe de
Desenvolvimento
não é mais uma
dependência

✓ O negócio ganha
© 2013

12
Desafios

© 2013

13
Implantação sem
tempo de baixa

© 2013

14
Separação

Web /
Serviços
Infra	

sw/hw

Dados
Serviços
externos

Separar
mudanças de
código, dados,
infraestrutura e
serviços externos
© 2013

15
Evite Mudanças
Destrutivas

Código

V 101

V 102

V 103

V 101

V 104

V 102

Infra
© 2013

16
pessoa = Pessoa.new params[:pessoa]	
#params[:pessoa][:idade]

Código
V 101

V 102

V 103

V 101

V 104

V 102

Infra
desc pessoa;	
nome varchar	
idade varchar

© 2013

17
params[:pessoa].delete :idade	
pessoa = Pessoa.new params[:pessoa]

Código
V 101

V 102

V 103

V 101

V 104

V 102

Infra
desc pessoa;	
nome varchar	
idade varchar

desc pessoa;	
nome varchar
© 2013

18
pessoa = Pessoa.new params[:pessoa]

Código
V 101

V 102

V 103

V 101

V 104

V 102

Infra
desc pessoa;	
nome varchar
© 2013

19
Trabalho
em Equipe!

© 2013

20
Ténicas

Blue/Green Deploy

© 2013

21
Ténicas

Rolling deploy

© 2013

22
Obrigado

© 2013

23

Mais conteúdo relacionado

Semelhante a Entrega Contínua - E Eu Com Isso?

QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de SoftwareQATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de SoftwareWelington Monteiro
 
Fundamentos da Integraçāo Contínua: Automaçāo na Geraçāo de Binários e Implan...
Fundamentos da Integraçāo Contínua: Automaçāo na Geraçāo de Binários e Implan...Fundamentos da Integraçāo Contínua: Automaçāo na Geraçāo de Binários e Implan...
Fundamentos da Integraçāo Contínua: Automaçāo na Geraçāo de Binários e Implan...Átilla Silva Barros
 
Software as a Service
Software as a ServiceSoftware as a Service
Software as a ServiceDenis Vieira
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Vanilton Pinheiro
 
Artigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveArtigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveJulian Cesar
 
XII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreXII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreCloves da Rocha
 
Protractor tests no processo de integração contínua
Protractor tests no processo de integração contínuaProtractor tests no processo de integração contínua
Protractor tests no processo de integração contínuaWalmyr Lima e Silva Filho
 
DevOps - Novos Desafios para TI
DevOps - Novos Desafios para TIDevOps - Novos Desafios para TI
DevOps - Novos Desafios para TICarlos Buzeto
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlabJackson F. de A. Mafra
 
Apresentacao_insitucional_v12
Apresentacao_insitucional_v12Apresentacao_insitucional_v12
Apresentacao_insitucional_v12Leandro Ginane
 
Agilidade no Governo do Ceará
Agilidade no Governo do CearáAgilidade no Governo do Ceará
Agilidade no Governo do CearáPaulo Furtado
 
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testesBrateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testesananegrello
 
Implementando Entrega Contínua - Marco Valtas
Implementando Entrega Contínua - Marco ValtasImplementando Entrega Contínua - Marco Valtas
Implementando Entrega Contínua - Marco ValtasThoughtworks
 
Contratação de Fábrica de Software com Metodologia Ágil
Contratação de Fábrica de Software com Metodologia ÁgilContratação de Fábrica de Software com Metodologia Ágil
Contratação de Fábrica de Software com Metodologia ÁgilHerbert Parente
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Taller Negócio Digitais
 
Implementando Entrega Contínua
Implementando Entrega ContínuaImplementando Entrega Contínua
Implementando Entrega ContínuaMarco Valtas
 
Boas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalBoas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalRenato Vasconcellos Gomes
 

Semelhante a Entrega Contínua - E Eu Com Isso? (20)

QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de SoftwareQATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
QATEST - Agile Brazil 2014 - O impacto do DEVOPS na Qualidade de Software
 
Fundamentos da Integraçāo Contínua: Automaçāo na Geraçāo de Binários e Implan...
Fundamentos da Integraçāo Contínua: Automaçāo na Geraçāo de Binários e Implan...Fundamentos da Integraçāo Contínua: Automaçāo na Geraçāo de Binários e Implan...
Fundamentos da Integraçāo Contínua: Automaçāo na Geraçāo de Binários e Implan...
 
Software as a Service
Software as a ServiceSoftware as a Service
Software as a Service
 
Brisa - Cases Qualidade Sofware
Brisa -  Cases Qualidade SofwareBrisa -  Cases Qualidade Sofware
Brisa - Cases Qualidade Sofware
 
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
Apresentação Artigo SBQS 2015 - Um Comparativo na Execução de Testes Manuais ...
 
Artigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveArtigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle Behave
 
XII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreXII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do Mestre
 
Protractor tests no processo de integração contínua
Protractor tests no processo de integração contínuaProtractor tests no processo de integração contínua
Protractor tests no processo de integração contínua
 
DevOps - Novos Desafios para TI
DevOps - Novos Desafios para TIDevOps - Novos Desafios para TI
DevOps - Novos Desafios para TI
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlab
 
Apresentacao_insitucional_v12
Apresentacao_insitucional_v12Apresentacao_insitucional_v12
Apresentacao_insitucional_v12
 
felipe_brum-cv
felipe_brum-cvfelipe_brum-cv
felipe_brum-cv
 
Agilidade no Governo do Ceará
Agilidade no Governo do CearáAgilidade no Governo do Ceará
Agilidade no Governo do Ceará
 
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testesBrateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Implementando Entrega Contínua - Marco Valtas
Implementando Entrega Contínua - Marco ValtasImplementando Entrega Contínua - Marco Valtas
Implementando Entrega Contínua - Marco Valtas
 
Contratação de Fábrica de Software com Metodologia Ágil
Contratação de Fábrica de Software com Metodologia ÁgilContratação de Fábrica de Software com Metodologia Ágil
Contratação de Fábrica de Software com Metodologia Ágil
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
 
Implementando Entrega Contínua
Implementando Entrega ContínuaImplementando Entrega Contínua
Implementando Entrega Contínua
 
Boas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalBoas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupal
 

Mais de Marcos Brizeno

Refatorando tudo! [Agile brazil 2017]
Refatorando tudo! [Agile brazil 2017] Refatorando tudo! [Agile brazil 2017]
Refatorando tudo! [Agile brazil 2017] Marcos Brizeno
 
GraphQL ou APIs RESTful - DevDay 2017
GraphQL ou APIs RESTful - DevDay 2017GraphQL ou APIs RESTful - DevDay 2017
GraphQL ou APIs RESTful - DevDay 2017Marcos Brizeno
 
Developer Experience como diferencial na Transformação Digital
Developer Experience como diferencial na Transformação DigitalDeveloper Experience como diferencial na Transformação Digital
Developer Experience como diferencial na Transformação DigitalMarcos Brizeno
 
Desventuras em série adotando microserviços
Desventuras em série adotando microserviçosDesventuras em série adotando microserviços
Desventuras em série adotando microserviçosMarcos Brizeno
 
Aprenda Elixir em um final de semana
Aprenda Elixir em um final de semanaAprenda Elixir em um final de semana
Aprenda Elixir em um final de semanaMarcos Brizeno
 
5 mitos sobre código bom
5 mitos sobre código bom5 mitos sobre código bom
5 mitos sobre código bomMarcos Brizeno
 
Padrões de projeto superestimados
Padrões de projeto superestimadosPadrões de projeto superestimados
Padrões de projeto superestimadosMarcos Brizeno
 
Abraçando a mudança com Código
Abraçando a mudança com CódigoAbraçando a mudança com Código
Abraçando a mudança com CódigoMarcos Brizeno
 
Práticas Ágeis Distribuidas
Práticas Ágeis DistribuidasPráticas Ágeis Distribuidas
Práticas Ágeis DistribuidasMarcos Brizeno
 
The fine art of slacking
The fine art of slackingThe fine art of slacking
The fine art of slackingMarcos Brizeno
 
Aplicando padrões de projeto em Ruby
Aplicando padrões de projeto em RubyAplicando padrões de projeto em Ruby
Aplicando padrões de projeto em RubyMarcos Brizeno
 
Comunidade e Carreira: Você Ganha Todos Ganham
Comunidade e Carreira: Você Ganha Todos GanhamComunidade e Carreira: Você Ganha Todos Ganham
Comunidade e Carreira: Você Ganha Todos GanhamMarcos Brizeno
 
The fine art of slacking
The fine art of slackingThe fine art of slacking
The fine art of slackingMarcos Brizeno
 
Programar #COMOFAS ? - Rails Girls Fortaleza
Programar #COMOFAS ? - Rails Girls FortalezaProgramar #COMOFAS ? - Rails Girls Fortaleza
Programar #COMOFAS ? - Rails Girls FortalezaMarcos Brizeno
 
Metaprogramação Ruby
Metaprogramação RubyMetaprogramação Ruby
Metaprogramação RubyMarcos Brizeno
 

Mais de Marcos Brizeno (18)

Refatorando tudo! [Agile brazil 2017]
Refatorando tudo! [Agile brazil 2017] Refatorando tudo! [Agile brazil 2017]
Refatorando tudo! [Agile brazil 2017]
 
GraphQL ou APIs RESTful - DevDay 2017
GraphQL ou APIs RESTful - DevDay 2017GraphQL ou APIs RESTful - DevDay 2017
GraphQL ou APIs RESTful - DevDay 2017
 
Developer Experience como diferencial na Transformação Digital
Developer Experience como diferencial na Transformação DigitalDeveloper Experience como diferencial na Transformação Digital
Developer Experience como diferencial na Transformação Digital
 
Desventuras em série adotando microserviços
Desventuras em série adotando microserviçosDesventuras em série adotando microserviços
Desventuras em série adotando microserviços
 
Aprenda Elixir em um final de semana
Aprenda Elixir em um final de semanaAprenda Elixir em um final de semana
Aprenda Elixir em um final de semana
 
5 mitos sobre código bom
5 mitos sobre código bom5 mitos sobre código bom
5 mitos sobre código bom
 
Padrões de projeto superestimados
Padrões de projeto superestimadosPadrões de projeto superestimados
Padrões de projeto superestimados
 
Abraçando a mudança com Código
Abraçando a mudança com CódigoAbraçando a mudança com Código
Abraçando a mudança com Código
 
Práticas Ágeis Distribuidas
Práticas Ágeis DistribuidasPráticas Ágeis Distribuidas
Práticas Ágeis Distribuidas
 
The fine art of slacking
The fine art of slackingThe fine art of slacking
The fine art of slacking
 
Aplicando padrões de projeto em Ruby
Aplicando padrões de projeto em RubyAplicando padrões de projeto em Ruby
Aplicando padrões de projeto em Ruby
 
Comunidade e Carreira: Você Ganha Todos Ganham
Comunidade e Carreira: Você Ganha Todos GanhamComunidade e Carreira: Você Ganha Todos Ganham
Comunidade e Carreira: Você Ganha Todos Ganham
 
Dubles de teste
Dubles de testeDubles de teste
Dubles de teste
 
The fine art of slacking
The fine art of slackingThe fine art of slacking
The fine art of slacking
 
Programar #COMOFAS ? - Rails Girls Fortaleza
Programar #COMOFAS ? - Rails Girls FortalezaProgramar #COMOFAS ? - Rails Girls Fortaleza
Programar #COMOFAS ? - Rails Girls Fortaleza
 
Metaprogramação Ruby
Metaprogramação RubyMetaprogramação Ruby
Metaprogramação Ruby
 
Arquitetura Ágil
Arquitetura ÁgilArquitetura Ágil
Arquitetura Ágil
 
Clean code
Clean codeClean code
Clean code
 

Entrega Contínua - E Eu Com Isso?