51
Introdução a DevOps e Continuous Delivery Carlos Felippe Cardoso (CFC) [email protected] @carlosfelippe slideshare.net/cfelippe k21.com.br

Introdução a DevOps e Continuous delivery agileday

Embed Size (px)

Citation preview

Page 1: Introdução a DevOps e Continuous delivery   agileday

Introdução a DevOps e Continuous Delivery

Carlos Felippe Cardoso (CFC)

[email protected]@carlosfelippe

slideshare.net/cfelippek21.com.br

Page 2: Introdução a DevOps e Continuous delivery   agileday

Do que vamos falar?

1. Conceito de DevOps2. Disfunções comuns 3. Por que adotarmos?4. Infra as Code5. Continuous Delivery

Page 3: Introdução a DevOps e Continuous delivery   agileday

Pra começar, o que é DevOps?

Page 4: Introdução a DevOps e Continuous delivery   agileday

Como falam por aí:“DevOps é um método para desenvolvimento de Software que enfatiza a comunicação, colaboração, integração, automação e o uso de métricas.”

Patrick Debois

Page 5: Introdução a DevOps e Continuous delivery   agileday
Page 6: Introdução a DevOps e Continuous delivery   agileday

“DevOps é um método para desenvolvimento de Software que enfatiza a comunicação, colaboração, integração, automação e o uso de métricas.”

Patrick Debois

https://blog.newrelic.com/2014/05/16/devops-name/https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Page 7: Introdução a DevOps e Continuous delivery   agileday

Um bom livro pra entender a relação entre DevOps, Agile etc?

Page 8: Introdução a DevOps e Continuous delivery   agileday

Workshop em 2011"E se jogarmos 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

Page 9: Introdução a DevOps e Continuous delivery   agileday

Você já viu isso acontecer?

Page 10: Introdução a DevOps e Continuous delivery   agileday
Page 11: Introdução a DevOps e Continuous delivery   agileday
Page 12: Introdução a DevOps e Continuous delivery   agileday
Page 13: Introdução a DevOps e Continuous delivery   agileday
Page 14: Introdução a DevOps e Continuous delivery   agileday

“O principal objetivo é aumentar a

colaboração entre os envolvidos no

processo de entrega de software,

de um modo que possamos entregar valor

mais rápido e de modo mais confiável”

Patrick Debois

Page 15: Introdução a DevOps e Continuous delivery   agileday
Page 16: Introdução a DevOps e Continuous delivery   agileday

E por que isso faz tanto sentido?

(Lead time = tempo total) > 30 dias!!!!A gente pode esperar?

Page 17: Introdução a DevOps e Continuous delivery   agileday

Enquanto isso...

Page 18: Introdução a DevOps e Continuous delivery   agileday
Page 19: Introdução a DevOps e Continuous delivery   agileday

DevOps não resolve só os problemas técnicos.

Resolve os de negócio!

Page 20: Introdução a DevOps e Continuous delivery   agileday

Pontos-chave para adotarmos

1) Diminuir “Time-to-market”

2) Melhoria na qualidade

3) Aumentar resiliência

Page 21: Introdução a DevOps e Continuous delivery   agileday

“Mas CFC, aqui na empresa é diferente…”

Page 22: Introdução a DevOps e Continuous delivery   agileday
Page 23: Introdução a DevOps e Continuous delivery   agileday

1) Produz vários documentos para mandar para outro setor, afinal tudo deve ser bem documentado para servir de “evidência”?2) Nas “salas de guerra”, é comum haver trocas de acusações constantes?3) Alguém sempre diz que não pode ser feito porque a lei SOX não permite, o ITIL não deixa etc?4) Você convida com constância os membros de outras “especialidades” para ajudar no seu trabalho?5) Somos preocupados com o Kaizen, sempre estamos reunindo os vários times envolvidos no projeto para levantarmos pontos de melhoria?

Vamos ver como estamos no teste do “Wall of Confusion”:

livremente inspirado de http://itrevolution.com/devops-culture-part-2/

Page 24: Introdução a DevOps e Continuous delivery   agileday
Page 25: Introdução a DevOps e Continuous delivery   agileday

Beleza! Só derrubarmos as barreiras então!

“You can’t directly change culture. But you can change behavior, and behavior becomes culture”

Lloyd Taylor

Page 26: Introdução a DevOps e Continuous delivery   agileday
Page 27: Introdução a DevOps e Continuous delivery   agileday

Cavernas (silos) de conhecimento...

Mito do herói!

Na prática, é o famoso funcionário

que perdeu o direito de morrer! :(

Page 28: Introdução a DevOps e Continuous delivery   agileday

A transição entre DevOps como prática / cultura leva tempo...

Page 29: Introdução a DevOps e Continuous delivery   agileday

E por onde começar?

Page 30: Introdução a DevOps e Continuous delivery   agileday

Pilares e práticas para DevOps

May Xu

Page 31: Introdução a DevOps e Continuous delivery   agileday

Infra as Code (Puppet, chef, Docker etc)

Page 32: Introdução a DevOps e Continuous delivery   agileday

Perfil profissional diferente!

Page 33: Introdução a DevOps e Continuous delivery   agileday

Infra as Code (Puppet, chef, Docker etc)

Gerência de configuração “automatizada"

● Infrastructure as Code: Track, Test, Deploy, Reproduce, Scale

● Qualquer alteração de código gera log e histórico de mudança na

infraestrutura

● Setups "repetitíveis": Do once, repeat forever

● Escalabilidade mais rápida: Uma instância configurada é o mesmo custo

que configurar várias

● Coerência e consistência nos setups dos vários servidores

● Ambientes consistentes: Dev, QA, Homolog, ProdAlternativas ao Puppet: Chef, Salt, Ansible

Page 34: Introdução a DevOps e Continuous delivery   agileday
Page 35: Introdução a DevOps e Continuous delivery   agileday

Infra as Code (Puppet, chef, Docker etc)

Inclusive para Windows!

Page 36: Introdução a DevOps e Continuous delivery   agileday

E como é código...

Integração Contínua!

Page 37: Introdução a DevOps e Continuous delivery   agileday

Infra as code

Puppet Script

CloudProvisionaMáquina emStaging

Scripting Tudo OK?(testing)

Page 38: Introdução a DevOps e Continuous delivery   agileday

Dashboards!Nem sempre está verde! =(

Page 39: Introdução a DevOps e Continuous delivery   agileday

Dashboards!

Page 40: Introdução a DevOps e Continuous delivery   agileday

E pode ir até produção!

Page 41: Introdução a DevOps e Continuous delivery   agileday

E o deploy automatizado? Que tal " tão" simples quanto o apertar de um botão?

Fabric

Page 42: Introdução a DevOps e Continuous delivery   agileday

E o deploy automatizado? Que tal " tão" simples quanto o apertar de um botão?

Page 43: Introdução a DevOps e Continuous delivery   agileday

Continuous Integration -> Continuous Delivery

Page 44: Introdução a DevOps e Continuous delivery   agileday

Pipeline de Build

Page 45: Introdução a DevOps e Continuous delivery   agileday

Continuous Delivery

Build -> Fase de Integração contínua

Deploy -> Ferramentas Infra as Code

Test -> Smoke Tests, sondas automatizadas de monitoramento

Release -> Processo automatizado de release para usuários (ler sobre feature flags, canary releasing, blue green deployment)

Page 46: Introdução a DevOps e Continuous delivery   agileday

De onde surgiram as idéias do CD?

● Idéias vindas do artigo

○ The Deployment Production Line

■ Jez Humble, Chris Read, Dan North

■ AGILE '06 proceedings of the conference - IEEE

Computer Society , Pages 113 - 118

Page 47: Introdução a DevOps e Continuous delivery   agileday

"The Problems of delivering Software"

● Deploy manual

● Deploy em homologação

● Configuração manual do ambiente de produção

● Feedback de pequenos grupos de usuários

● "Done Means Released" (Jez Humble)

● Controle de versão● Gerenciamento de dependências

Page 48: Introdução a DevOps e Continuous delivery   agileday

● Gerenciamento de configuração do software● Ferramentas para automatizar e gerenciar qualquer

aspecto relacionado ao software!○ DDL/DML do Banco de dados○ Máquinas virtuais

■ Servidores de aplicação○ Infraestrutura de rede○ Load-Balancing "elástico"

■ Behavior-Driven Monitoring○ Deploy da aplicação

Page 49: Introdução a DevOps e Continuous delivery   agileday

Vamos sonhar alto?

Page 50: Introdução a DevOps e Continuous delivery   agileday

Continuous Delivery & DevOps

Page 51: Introdução a DevOps e Continuous delivery   agileday

[email protected]

@carlosfelippeslideshare.net/cfelippe

k21.com.br/treinamentos/