Cultura DevOps

10 min

Índice


1 — O que é o DevOps?

O DevOps é uma cultura e um conjunto de práticas que aproximam as equipas de desenvolvimento (Dev) e de operação (Ops) para entregar software mais depressa, mais vezes e com mais fiabilidade.

O DevOps não é uma ferramenta nem um cargo. É sobretudo uma forma de trabalhar em conjunto. As ferramentas (Git, Docker, Jenkins…) são apenas meios ao serviço desta cultura.

A própria palavra é a fusão de Developer + Operations:

Os três pilares

PilarIdeia central
ColaboraçãoDev e Ops partilham a responsabilidade do produto
AutomatizaçãoAs tarefas repetitivas são escritas em scripts, não feitas à mão
RetroaçãoMede-se, aprende-se, melhora-se em contínuo

Mini-exercício — A palavra « DevOps » é a fusão de duas palavras. Quais, e o que designa cada uma?

Ver uma solução

Developer (desenvolvimento: escrever funcionalidades) + Operations (operação: fazer correr em produção).

↑ Voltar ao topo


2 — O muro da confusão — o problema histórico

Antes do DevOps, os programadores e os operacionais trabalhavam em silos separados. É o que se chama o muro da confusão (wall of confusion).

O programador entregava o código e passava a outra coisa. O operacional tinha de o fazer funcionar em produção, sem sempre compreender como. Resultado: conflitos, lentidão, e a famosa frase « funciona na minha máquina ».

Sintoma do siloConsequência
Dev e Ops não se falamBugs descobertos tarde, em produção
Implementações manuais e rarasIdas a produção stressantes e arriscadas
Responsabilidades vagas« Não é o meu problema » dos dois lados

O DevOps derruba este muro ao tornar as duas equipas uma só, a partilhar os mesmos objetivos e as mesmas ferramentas.

↑ Voltar ao topo


3 — Colaboração desenvolvimento e operações

A colaboração significa que toda a equipa é responsável pelo produto, da escrita do código até ao seu bom funcionamento em produção.

Concretamente, a colaboração traduz-se por:

  • Ferramentas partilhadas: toda a gente usa Git, o mesmo pipeline, os mesmos painéis.
  • Responsabilidade partilhada: « you build it, you run it » (quem constrói faz correr).
  • Comunicação contínua: sem transferência « por cima do muro », mas um trabalho comum.

Analogia: uma equipa de cozinha. O chef (Dev) e o empregado de mesa (Ops) não se passam a bola — visam juntos a satisfação do cliente. Se um prato volta, é assunto de toda a brigada.

↑ Voltar ao topo


4 — A automatização

A automatização consiste em substituir as tarefas manuais repetitivas por scripts e ferramentas. É o motor que torna o DevOps possível à escala.

O que se automatiza tipicamente:

Tarefa manualAutomatizada comMódulo
Compilar e testarJenkins, GitHub Actions04, 05, 10
Empacotar a aplicaçãoDocker06
Implementar em servidoresKubernetes, Helm07–09
Configurar a infraestruturaAnsible, Terraform11, 12

Por que automatizar? Porque um humano que repete uma tarefa comete erros e perde tempo. Uma máquina executa o mesmo procedimento mil vezes sem se enganar. É mais rápido, mais fiável e reproduzível.

Mini-exercício — Dê duas razões concretas pelas quais se prefere automatizar uma tarefa repetitiva em vez de a fazer à mão.

Ver uma solução
  1. Fiabilidade: uma máquina não comete erros de distração, ao contrário de um humano que repete. 2. Rapidez e reprodutibilidade: o mesmo procedimento executa-se de forma idêntica e rápida, tantas vezes quantas as necessárias.

↑ Voltar ao topo


5 — A retroação rápida

A retroação rápida (fast feedback) consiste em detetar os problemas o mais cedo possível e aprender depressa para melhorar.

Momento de deteção do bugCusto relativo de correção
Durante o desenvolvimentoBaixo
Durante os testes automatizadosModerado
Em produção, assinalado por um clienteMuito elevado

Fontes de retroação em DevOps:

  • Testes automatizados: uma falha aparece em poucos minutos após o commit.
  • Monitorização: alertas em tempo real quando alguma coisa corre mal (módulo 13).
  • Logs e métricas: permitem compreender o comportamento real em produção.

Analogia: um termóstato. Mede em contínuo a temperatura (retroação) e ajusta o aquecimento de imediato. Sem este ciclo, só se saberia que a sala está fria ao tremer.

Mini-exercício — Com a ajuda da tabela de custos, indique em que momento a correção de um bug custa mais, e por que detetar cedo é preferível.

Ver uma solução

É em produção, assinalado por um cliente, que a correção custa mais. Detetar cedo (durante o desenvolvimento ou os testes automatizados) reduz fortemente o custo, porque o problema é corrigido antes de chegar aos utilizadores.

↑ Voltar ao topo


6 — O ciclo DevOps em ciclo infinito

O DevOps é frequentemente representado por um ciclo infinito (∞), que simboliza a melhoria contínua: nunca se « acaba », itera-se sem cessar.

FaseLadoExemplo de ferramenta
Plan, CodeDevGit, GitHub
Build, TestDevMaven, Jenkins, GitHub Actions
Release, DeployDev + OpsDocker, Kubernetes, Helm
Operate, MonitorOpsAnsible, Terraform, ferramentas de monitorização

A metade esquerda é sobretudo « Dev », a metade direita sobretudo « Ops » — mas o ciclo é único e partilhado. É a essência do DevOps.

↑ Voltar ao topo


7 — Os benefícios concretos
BenefícioSem DevOpsCom DevOps
Frequência das entregasAlgumas vezes por anoVárias vezes por dia
Prazo de correção de um bugDias / semanasMinutos / horas
Taxa de falha das implementaçõesElevadaBaixa
Stress nas idas a produçãoMuito elevadoRotina dominada
Colaboração das equipasSilos, conflitosObjetivo comum

As empresas mais performantes implementam centenas de vezes por dia com uma taxa de falha muito baixa. Não é magia: é o resultado da cultura + automatização + retroação.

Mini-exercício — Segundo a tabela, compare a frequência das entregas com e sem DevOps.

Ver uma solução

Sem DevOps: algumas vezes por ano. Com DevOps: várias vezes por dia.

↑ Voltar ao topo


8 — Quiz — A cultura DevOps

Question 1: O DevOps é sobretudo…

a) Um software a instalar

b) Um cargo preciso na empresa

c) Uma cultura e um conjunto de práticas

d) Uma linguagem de programação

Ver a solução

Resposta: c) — O DevOps é uma cultura de colaboração, sustentada por práticas (automatização, retroação). As ferramentas são apenas meios.


Question 2: O que é o « muro da confusão »?

a) Uma falha de segurança

b) A separação em silos entre Dev e Ops que cria conflitos

c) Um tipo de firewall

d) Uma etapa do pipeline

Ver a solução

Resposta: b) — É a separação histórica entre desenvolvimento e operações, em que cada um « atira » o trabalho por cima do muro. O DevOps derruba-o.


Question 3: Por que é a automatização central no DevOps?

a) Para suprimir todos os empregos

b) Porque torna as tarefas repetitivas rápidas, fiáveis e reproduzíveis

c) Porque é obrigatória por lei

d) Para abrandar as implementações

Ver a solução

Resposta: b) — Uma máquina executa o mesmo procedimento sem erro nem fadiga, o que torna as entregas frequentes possíveis.


Question 4: Qual é o interesse da retroação rápida?

a) Detetar e corrigir os problemas cedo, quando custam menos

b) Evitar escrever testes

c) Reduzir a colaboração

d) Implementar uma única vez por ano

Ver a solução

Resposta: a) — Quanto mais cedo um bug é detetado, menos custa. Testes automatizados e monitorização fornecem esta retroação.


Question 5: O que simboliza o ciclo infinito do DevOps?

a) Que o trabalho nunca acaba e que se anda em círculos

b) A melhoria contínua e a iteração sem fim do ciclo Plan → Monitor → Plan

c) Um erro no pipeline

d) O reinício dos servidores

Ver a solução

Resposta: b) — O ciclo ∞ representa a melhoria contínua: cada ciclo alimenta o seguinte graças à retroação.

↑ Voltar ao topo


9 — Prática — Diagnosticar uma organização

Instrução

Uma empresa fictícia, DataCorp, entrega a sua aplicação duas vezes por ano. Cada ida a produção ocupa um fim de semana inteiro, falha frequentemente, e a equipa Ops acusa a equipa Dev (e inversamente). Os bugs reportados pelos clientes levam semanas a ser corrigidos.

Identifique 3 problemas e proponha uma prática DevOps para cada um.


Correção proposta

Problema observadoCausaPrática DevOps a aplicar
Entregas raras (2×/ano) e arriscadasImplementações manuais, em lotes grandesAutomatização do pipeline CI/CD → entregas frequentes e pequenas
Dev e Ops acusam-se mutuamenteSilos, « muro da confusão »Colaboração: responsabilidade partilhada, objetivos comuns
Bugs de clientes corrigidos em semanasSem deteção precoceRetroação rápida: testes automatizados + monitorização

Conclusão esperada: a DataCorp sofre de um défice nos três pilares. Ao automatizar as implementações, ao partir os silos e ao instalar testes + monitorização, passaria de 2 entregas por ano para entregas frequentes, fiáveis e pouco stressantes.

Dica: quase todo o problema DevOps se reduz a uma falha num dos três pilares — colaboração, automatização ou retroação.

↑ Voltar ao topo


10 — Síntese

Pontos a reter

  1. O DevOps é uma cultura, não uma ferramenta: une Dev e Ops em torno de um produto comum.
  2. Três pilares: colaboração, automatização, retroação.
  3. O muro da confusão é o problema que o DevOps resolve.
  4. Automatizar torna as entregas frequentes e fiáveis.
  5. A retroação rápida deteta os problemas cedo — quando custam menos.
  6. O ciclo infinito simboliza a melhoria contínua.

A continuação

Lugar aos conceitos que estruturam todo o curso: lição 03 — CI/CD: conceitos e pipeline.

↑ Voltar ao topo


Todos os direitos reservados. Qualquer reprodução, difusão, utilização ou adaptação deste curso, no todo ou em parte, é estritamente proibida sem a autorização escrita prévia do Dr. Haythem REHOUMA.

Curso criado por Dr. Haythem REHOUMA — Desenvolvimento e implementação de soluções de dados