W e b i n a r
DISCUTINDO DEVOPS NA
PRÁTICA
Danilo Sato (@dtsato)
dsato@thoughtworks.com
Tuesday, June 10, 14
2
Tuesday, June 10, 14
3
www.devopsnapratica.com.br
Tuesday, June 10, 14
Desenvolvimento Operações
Tuesday, June 10, 14
Eu quero
mudanças
Desenvolvimento Operações
Tuesday, June 10, 14
Eu quero
mudanças
Eu quero
estabilidade
Desenvolvimento Operações
Tuesday, June 10, 14
Eu quero
mudanças
Eu quero
estabilidade
Desenvolvimento Operações
Tuesday, June 10, 14
Desenvolvimento Operações
+
DevOps
Tuesday, June 10, 14
6
Freqüência de
deploy
Quantidade de
mudanças
Risco
Processo
Tuesday, June 10, 14
7
Freqüência de
deploy
Quantidade de
mudanças
Risco
Processo
DevOps
Tuesday, June 10, 14
8
Ideia Em produção
Tuesday, June 10, 14
9
Ideia Em produção
Código
Testes
Pacote
Servidores/Am
bientes
Exploração
/Hom
ologação
/Aprovação
Im
plantar
Tuesday, June 10, 14
9
Ideia Em produção
Código
Testes
Pacote
Servidores/Am
bientes
Exploração
/Hom
ologação
/Aprovação
Im
plantar
Pipeline de Entrega
Tuesday, June 10, 14
10
M
onitoram
entoAlertas
Suporte
Dados/AnálisesFeedback
dosusuários
Insights
Em produção
Tuesday, June 10, 14
10
M
onitoram
entoAlertas
Suporte
Dados/AnálisesFeedback
dosusuários
Insights
Em produção Ideia
Tuesday, June 10, 14
O QUE AUTOMATIZAR?
Controle de Versões
Histórico de mudanças + Rastreabilidade
Ferramentas: Git, SVN, ...
Build
Tarefas necessárias para executar seu sistema
Ferramentas: Make, Ant, Maven, Rake, Grunt, NAnt, ...
Testes Automatizados
Verificam que o sistema e seus componentes funcionam corretamente
Ferramentas: JUnit, RSpec, Jasmine, WebDriver, Capybara, ...
11
Tuesday, June 10, 14
Integração Contínua
Feedback rápido: executa o build e testes automatizados a cada commit
Ferramentas: Go, SnapCI, Jenkins, CruiseControl, ...
Provisionamento
Tarefas necessárias para obter um servidor e prepará-lo para uso
Ferramentas: Provedores de computação em nuvem (IaaS, PaaS),
OpenStack, Docker, ...
Gerenciamento de Configurações
Instalação e configurações do software em seus servidores
Ferramentas: Puppet, Chef, Ansible, Salt, ...
12
O QUE AUTOMATIZAR?
Tuesday, June 10, 14
Deploy
Implantação nos diversos ambientes até chegar em produção
Ferramentas: Capistrano, Fabric, Shell scripts, dpl, ...
Monitoramento
Ser alertado proativamente quando problemas acontecem
Ferramentas: Nagios, Sensu, ...
Muito mais...
Coleta de logs, métricas, dashboards, sistemas analíticos, ...
13
O QUE AUTOMATIZAR?
Tuesday, June 10, 14
COMPUTAÇÃO EM NUVEM
14
▫︎Permite automatizar o
provisionamento de
ambientes
▫︎Exige automação para
aproveitar elasticidade
Tuesday, June 10, 14
15
“A prática leva à perfeição”
Tuesday, June 10, 14
16
Freqüência de
deploy
Quantidade de
mudanças
Risco
Processo
DevOps
Tuesday, June 10, 14
17
Qualidade
Tempo de Ciclo
Tuesday, June 10, 14
DEVOPS ALÉM DAS
FERRAMENTAS
DevOps é mais que automação e ferramentas
18
Tuesday, June 10, 14
CALMS
Cultura
Automação
Lean (pensamento enxuto)
Medição
Sharing (compartilhamento)
19
Tuesday, June 10, 14
20
MAIS INFORMAÇÕES
▫︎TI de alto desempenho é uma
vantagem competitiva
▫︎Práticas de DevOps melhoram o
desempenho de TI
▫︎Cultura organizacional é
importante
▫︎Satisfação no emprego é o
preditor Nº 1 de desempenho
organizacional
http://puppetlabs.com/2014-devops-report
Tuesday, June 10, 14
21
MÉTRICAS DE DESEMPENHO DE TI
▫︎Vazão (throughput):
▫︎Freqüência de deploy
▫︎Tempo de ciclo para mudanças
▫︎Estabilidade:
▫︎Tempo médio para recuperação
▫︎Taxa de falhas para mudanças
Tuesday, June 10, 14
22
PRÁTICAS CORRELACIONADAS
Métricas de vazão Métricas de Estabilidade
Freqüência de deploy
- Entrega Contínua
- Controle de Versões
Tempo médio para recuperação
- Controle de Versões
- Monitoramento da Saúde do Sistema e
das Aplicações
Tempo de ciclo para mudanças
- Controle de Versões
- Testes Automatizados
Taxa de falhas para mudanças
Não apresentou correlação forte com as
práticas estudadas
Tuesday, June 10, 14
23
MAIS CONTEÚDO
▫︎Kit de Entrega Contínua:
▫︎http://info.thoughtworks.com/entrega-continua-toolkit
▫︎Insights (blogs e artigos)
▫︎Livros
▫︎Slides
▫︎Vídeo
Tuesday, June 10, 14
PERGUNTAS?
#DevopsNaPratica
24
Tuesday, June 10, 14
Danilo Sato (@dtsato)
dsato@thoughtworks.com
OBRIGADO!
www.devopsnapratica.com.br
Continue a discussão usando
a hashtag
#DevopsNaPratica
Tuesday, June 10, 14

Discutindo DevOps na pratica, por Danilo Sato