O documento discute o conceito de DevOps, começando por descrever sua origem em uma conferência em 2009 sobre a cooperação entre desenvolvedores e operações na Flickr. Apresenta os principais problemas quando essas equipes trabalham separadas e os pilares técnicos e culturais de DevOps, como infraestrutura automatizada, integração contínua e mentalidade de respeito mútuo e compartilhamento de responsabilidades.
2. Sobre o palestrante
● Experiência
○ 15 anos na área de computação
○ 10 anos Instituto Eldorado
● Atuação
○ Análise tendências tecnológicas do mercado
○ Arquitetura em projetos estratégicos
○ Liderança técnica
○ Team Building
4. Origem Discussão sobre DevOps
● Conferência Velocity da O’Reilly 2009
● 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
John Allspaw e Paul Hammond
5. Cenário
● Flickr - 2009:
○ 3 bilhões de fotos
○ 40.000 fotos por segundo
● Cenário cultural:
○ O trabalho do desenvolvedor é adicionar novas features
○ O trabalho de operações é manter o “site” estável e rápido
● Vários problemas no “relacionamento” dev & ops
9. Problema n
● Alto custo para criação infra-
estrutura
● Deploy custoso, perigoso e de
baixa frequência
● Alto custo replicação ambientes
● Não existe monitoração pós-
deploy
● Horas gastas em tarefas
repetitivas, onde o erro humano
tende a crescer
exponencialmente pelo débito
técnico ...
10. Mas isso não acontece mais certo? Afinal, estamos em 2016...
12. “DevOps é uma ideologia ou uma cultura
de colaboração e compartilhamento com
um objetivo claro de colocar os times de
operação e desenvolvimento de software
juntos de forma a atuar na eliminação de
problemas e na diminuição do time-to-
market”
13. OK, mas o que é DevOps?
● Não existe um manifesto DevOps
● Não existe receita rápida
● Não existe entidade certificadora
● Não é um termo de fácil definição
● Conferência chamada DevOpsDay
14.
15. TÉCNICO
● Infra-estrutura automatizada
● Política adequada de versionamento
● Integração e Deploy Contínuo
● Métricas
Pilares
CULTURAL
● Respeito
● Confiança
● Atitude positiva perante a falha
● Evitar apontar culpados
18. Política adequada de versionamento
● Code branching
● Código vísivel para todos
● Betas privados
● Políticas claras de contigência em caso de problemas
19. Integração e deploy contínuos
● Continuous Integration
● Continuous Deploy
○ Políticas de ambientes separados e automatizados (CI / SIT / Staging /
Prod)
● Quem / Quando / Quem
20. Métricas
● Monitoramento contínuo pós-produção
● Robôs automatizados com ações pré-determinadas baseadas nas métricas
coletadas
● Feedback instantâneo em caso de anomalias
● Métricas em nível de aplicação e de operação
24. A lista de mudanças é longa...
● Respeite a opinião, experiência e responsabilidades das pessoas que
trabalham com você
● Não diga não só por dizer…
● Não esconda as coisas… (tipo credenciais de acesso :) )
● Falhas vão acontecer!!! Se você acha que consegue prevenir todas então você
está perdendo uma ótima oportunidade de treinar como responder à elas
28. O que as
grandes
empresas tem
feito?
● Etsy faz em média 50 deploys
por dia
● Netflix lançou o Simian Army
(Chaos, Janitor, Conformity)
● Amazon possui cursos de
capacitação com ambientes
inteiros montados
instantâneamente
● Empresas que só existem
devido a práticas bem
sucedidas de DevOps (Netflix,
Facebook, YouTube, etc…)
29. Referência
Uma novela sobre IT & DevOps em
uma empresa que primeiramente falha
miseravelmente na aplicação da
metodologia :D