3. Nota
Dado que a literatura de referência utilizada não possui tradução oficial para o português,
alguns termos foram mantidos na língua original
4. 6 dias depois de uma
implantação bem sucedida, o
servidor começou a apresentar
alto consumo de processadores
Dev ou Ops?
5. Sábado, 3h da madrugada.
A aplicação foi finalmente
instalada em produção.
Login não funciona
Dev ou Ops?
6. Apenas 8 dias antes do ‘go live’, a
equipe de auditoria decidiu realizar
uma inspeção detalhada.
Descobriram que existe uma maneira
de realizar acessos irregulares
Dev ou Ops?
7. Apenas 8 dias antes do ‘go live’, a
equipe de auditoria decidiu realizar
uma inspeção detalhada.
Descobriram que existe uma maneira
de realizar acessos irregulares
Dev ou Ops?
12. Ops: Você teve 6 meses pra pedir
essa liberação de firewall
Ops: É o seu código!!!
Dev: É o seu servidor!!!
Tester: O bug da semana
passa voltou!!
CIO: As lojas abrem
em 3 horas!!
Dev: É a sua configuraçãor!!!
19. 2009
O’Reilly Velocity
Conference
John Allspaw / Paul Hammond
“10+ Deploys per Day: Dev and
Ops Cooperation at Flickr.”
Devopsdays
(Ghent, Belgium)
Patrick Debois
Termo DevOps
Aparece pela 1ª vez
2010
1º US
Devopsdays
2011
DevOps
no Gartner
2012
Eventos
Devopsdays
se espalham
pelo mundo
2013
Gene Kim
Kevin Behr
George Spafford
2014
Target, Nordstrom
e LEGO adotam
práticas DevOps
“DevOps Enterprise: The
Agile, Continuous Delivery
and DevOps
Transformation Summit”
Primeiro evento corporativo
20. State of DevOps Report 2016
https://puppet.com/resources/whitepaper/2016-state-of-devops-report
21. State of DevOps Report 2016
https://puppet.com/resources/whitepaper/2016-state-of-devops-report
22. The three ways
Os princípios que sustentam DevOps
Fist Way: The principle of flow
Second Way: Amplify Feedback Loop
Third Way: Culture of Continual Experimentation
and Learning
Valores DevOps
CALMS
Culture (people and process)
Automation
Lean
Mesurement
Sharing
23. Princípios
• Torne o trabalho visível
• Limite o trabalho em progresso (WIP)
• Reduza o tamanho dos pacotes de trabalho
• Reduza a quantidade de ‘handoffs’
• Identifique e declare as restrições:
Elimine deserdícios
Trabalho parcialmente pronto
Processos extras
Recursos que trocam de atividades
Defeitos
Atos heircos
etc
Fist Way: The principle of flow
Idéia
Negócio
Cliente
25. Princípios
• Torne o tralho visível
• Limite o trablalho em progresso (WIP)
• Reduza o tamanho dos pacotes de trabalho
• Reduza a quantidade de ‘handoffs’
• Identifique e declare as restrições
• Elimine deserdícios:
Trabalho parcialmente pronto
Processos extras
Recursos que trocam de atividades
Defeitos
Atos heircos
etc
Práticas
• Continuous integration
• Continuous delivery
• Continuous deployment
• Mapa de fluxo de valor (Value stream mapping)
• Kanban
• Teoria das restrições (Theory of constraints)
Fist Way: The principle of flow
Idéia
Negócio
Cliente
26. https://xebia.github.io/cd-with-docker/#/2
Continous
Integration
Continous
Deployment
Continous
Delivery
IaC – Infrastructure as code – Possbilita que todas as estruturas (servidores,
configurações, etc) sejam reconstruídas com nada além de um repositório de
códigos, um backup da aplicação e alguns poucos recursos
Ambientes sob demanda – todos os ambientes, icluindo a produção,
desenvolvimento e testes precisam estar sincronizados
Testes em geral – QA, performance, regressivos, etc
Monitoramento preventivo dos componentes de infraestrutura, ambientes,
sistemas e serviços
Outras oportunidades de automação
27. Princípios
• Torne o tralho visível
• Limite o trablalho em progresso (WIP)
• Reduza o tamanho dos pacotes de trabalho
• Reduza a quantidade de ‘handoffs’
• Identifique e declare as restrições
• Elimine deserdícios:
Trabalho parcialmente pronto
Processos extras
Recursos que trocam de atividades
Defeitos
Atos heircos
etc
Práticas
• Continuous integration
• Continuous delivery
• Continuous deployment
• Mapa de fluxo de valor (Value stream mapping)
• Kanban
• Teoria das restrições (Theory of constraints)
Fist Way: The principle of flow
Idéia
Negócio
Cliente
Courtney Kissler - DevOps Cafe Episode 71
http://devopscafe.org/show/2017/5/25/devops-cafe-episode-71-courtney-kissler.html
00'13'00
document reality
00'14'06
(...) asking my team who all contributes to delivering that functionality into our store and let´s all get together and really document what
it takes, and not what we wanted to be, what the current state of reality is so we can problem solve against it, then you catch the
true baseline
So for me it is literally the steps along the way, the time of those steps, so capturing like the wait time, the process time, and really
coming up with what we consider to be our cycle time, like we know what it is and that enable us to say where are the biggest bottlenecks
in the system in a very fact based way (…)
28. Princípios:
• Considerar o problema quando ele ocorre
• Resolver o problema gerando novos conhecimentos
• Trazer questão de qualidade e segurança o mais
próximo da origem
• Otimizar continuamente os núcleos de trabalho
Benefícios:
• Defeitos e questões de segurança corrigidos mais
rápido do que nunca
• ‘User stories’ originadas na operação e segurança
como parte do backlog
• Comunicação e coordenação dos grupos
aprimorada
Second Way: Amplify Feedback Loop
29. • Altos níveis de confiança e diminuição das fronteiras entre as funções
• Adimitir que falhas irão ocorrer em ambientes complexos
• Tornar natural falar sobre problemas (safe system of work)
• Converter aprendizado local em global
• Institucionalizar o melhoria diária
Third Way: Culture of Continual Experimentation and Learning
33. State of DevOps 2017
https://puppet.com/resources/whitepaper/state-of-devops-report
Tradicionalmente, era esperado que líderes
fossem responsáveis por determinar os objetivos,
or recursos necessários e a combinação correta de
incentivos. Também deveriam determinar a
atmosfera emocinal. Em outras palavras, liderar
era “tomar todas as decisões corretas”
No entanto, evidências mostram que a grandeza
não é obtida desta forma. Na verdade o
papel do líder é criar o ambiente
para que o time descubra a
grandeza no trabalho diário. Em
outras palavras, criar grandeza
requer unicidade entre líderes e
liderados, onde um é mutualmente
dependente do outro.
DevOps Handbook, pag 44
34. State of DevOps 2017
https://puppet.com/resources/whitepaper/state-of-devops-report
Diminuição do gap entre as equipes de
maior e menor performance demonstra
aumento geral da velocidade de deploy.
Porém a qualidade ainda não está
acompanhado essa velocidade.
Quando a pressão aumenta do lado do Dev, mais e mais códigos vão sendo colocados em produção tornando cada vez mais difícil encontrar erros e criando débito técnico
Debito tecnico começa assim
e se torna isso
Deploy começa a ficar cada vez mais complicado
O que demorava uma ou duas horas, começa demorar 5, depois 10, depois todo o sábado
Funcionalidades que estavam funcionando param de funcionar
A distância entre deploys começa a aumentar na tentativa de minimizar o risco.
Porém quanto maior a distancia mais ‘moving parts’
Até que realizar um deploy se torna uma jornada épica
Responsabilidades Dev e Ops
Até que a frustração toma conta e parece que não há mais saída.
E não importa mais se é Dev ou Ops, o negócio passa a sofrer as consequencias