Cultura DevOps
Esta aula explora a cultura DevOps, destacando a colaboração entre Dev e Ops, a responsabilidade compartilhada, a cultura sem culpa (blameless culture) e o framework CALMS. O objetivo é entender como esses princípios promovem um ambiente de trabalho mais produtivo e inovador.
A cultura DevOps é um conjunto de práticas e valores que visa integrar equipes de desenvolvimento (Dev) e operações (Ops) para melhorar a colaboração, automação e entrega de software. Nesta aula, abordaremos os pilares fundamentais dessa cultura, incluindo a colaboração entre as equipes, a responsabilidade compartilhada, a cultura sem culpa e o framework CALMS.
Colaboração Dev+Ops
A colaboração entre desenvolvedores e operações é essencial para quebrar silos organizacionais. Tradicionalmente, essas equipes trabalhavam separadamente, o que gerava conflitos e atrasos. Na cultura DevOps, promove-se a comunicação constante, metas compartilhadas e ferramentas comuns. Exemplos práticos incluem a participação de operações nas reuniões de planejamento e o uso de chats ou kanbans compartilhados.
# Exemplo de pipeline CI/CD que envolve ambas as equipes
# Desenvolvedores escrevem código e criam PRs
# Operações revisam e aprovam mudanças de infraestrutura
name: CI/CD Pipeline
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: make build
deploy:
needs: build
runs-on: ubuntu-latest
steps:
- name: Deploy to production
run: make deployResponsabilidade compartilhada
Na cultura DevOps, todos são responsáveis pelo ciclo de vida do software, desde a concepção até a operação. Isso significa que desenvolvedores cuidam da estabilidade e monitoramento, enquanto operações contribuem para a automação e qualidade do código. Essa responsabilidade compartilhada reduz riscos e acelera a resolução de problemas.
# Exemplo de um runbook compartilhado
# Desenvolvedores e operações mantêm juntos a documentação de incidentes
# runbook.md
## Procedimento para reinicialização do serviço
1. Verificar logs: `journalctl -u myservice -n 50`
2. Reiniciar serviço: `systemctl restart myservice`
3. Verificar health check: `curl http://localhost:8080/health`Blameless culture
A cultura sem culpa (blameless culture) incentiva a aprendizagem a partir de falhas, em vez de punir indivíduos. Quando ocorre um incidente, o foco é entender as causas raiz e melhorar processos, não apontar culpados. Isso promove transparência e inovação, pois as pessoas se sentem seguras para relatar problemas e experimentar.
# Exemplo de postmortem sem culpa
## Incidente: Queda do banco de dados (2023-10-01)
### Causa raiz: Falha de hardware no servidor primário
### Ações tomadas:
- Adicionado failover automático
- Melhorado monitoramento de hardware
- Revisado procedimento de backup
### Lições aprendidas:
- Necessidade de testes de recuperação mais frequentes
- Comunicação mais rápida com a equipeCALMS (visão geral)
CALMS é um acrônimo que resume os pilares do DevOps: Cultura, Automação, Lean, Medição e Compartilhamento (Sharing). Cultura refere-se à colaboração e confiança; Automação reduz trabalho manual e erros; Lean foca em eliminar desperdícios; Medição fornece dados para melhoria contínua; e Compartilhamento promove o conhecimento entre equipes.
# Exemplo de métricas compartilhadas (DORA)
- Frequência de deploy: quantas vezes por dia/semana
- Lead time para mudanças: tempo do commit ao deploy
- Tempo médio de recuperação (MTTR): tempo para restaurar serviço após incidente
- Taxa de falha de mudanças: % de deploys que causam incidentesReferências
Exercícios
- Explique com suas palavras por que a colaboração entre Dev e Ops é importante na cultura DevOps.
- Dê um exemplo de como a responsabilidade compartilhada pode ser aplicada no dia a dia de uma equipe DevOps.
- Qual a diferença entre uma cultura de culpa e uma cultura sem culpa? Por que a blameless culture é preferível em DevOps?
- Descreva cada letra do acrônimo CALMS e dê um exemplo prático para cada uma.
- Cite duas métricas do DORA e explique como elas ajudam a medir a eficácia da cultura DevOps.