Tudo sobre Devops: o que é, como funciona e boas práticas

19/6/2019
Guillaume Falourd
Back-end Developer

Zupper curioso, sempre procurando impactar da melhor forma as pessoas ao seu redor.

Antes de entendermos como funciona e listar suas boas práticas, precisamos entender o que é, afinal, DevOps. De maneira resumida, é um método de desenvolvimento de software, cujo principal objetivo é aprimorar a capacidade de distribuir em alta velocidade aplicativos e serviços.

A prática permite uma melhor comunicação e colaboração entre os departamentos para tornar a entrega de produtos mais segura e rápida.

Cenário: como surgiu o termo e quando?

Patrick Debois, conhecido como o fundador da DevOps Days, é considerado padrinho e criador do movimento DevOps.  

Era 2009 e o cenário exigia grandes mudanças. Aquele processo de entrega de software tradicional já não suportava essas mudanças rápidas e os clientes desejavam novos recursos e novos fluxos de receita o mais rápido possível, mas em um sistema estável e sem interrupções.

O problema da entrega de software tradicional é que ela não foi feita para suportar estes dois requisitos simultaneamente.

Consequentemente, as empresas têm que escolher entre:

  • entregar mudanças rápidas e acabar com um ambiente de produção confuso
  • ou manter um ambiente estável, mas desatualizado

Um grande desafio, certo? Devops chegou para resolver justamente esse problema.

Como funciona: entendendo os pilares de DevOps

1) Colaboração e apoio

O objetivo é mirar em um resultado específico com o máximo de colaboração possível, mesmo com a entrada de diversas pessoas com diferentes perfis.

2) Afinidade

Os objetivos organizacionais devem ser compartilhados e promover sempre empatia e aprendizado entre diferentes grupos de pessoas.

3) Ferramentas

O papel das ferramentas deve ser de acelerar e economizar custos, mas lembre-se: elas devem se encaixar nos métodos de trabalho e não o contrário.

4) Dimensionamento e escala

Os conceitos de DevOps podem ser aplicados em diversos tipos de organizações, independente de seu estágio, seja crescimento, amadurecimento ou até retração.

newsletter da zup

Como aplicar os princípios de DevOps?

Tá, mas na prática, em qual cenário isso pode funcionar? Bom, vamos lá, vou te dar um exemplo de como aplicamos isso aqui na Zup, analisando cada um dos pilares.

1) Colaboração: Zupper ajuda Zupper

Colaboração e apoio começa de dentro para fora

2) Afinidade: equipe fora da curva

Aqui entra colaboração + afinidade. A qualidade técnica que não está nos currículos.

3) Ferramentas: entrega de valor rápido

O objetivo é transformar o complexo em simples, da ideia à execução.

4) Dimensionamento e escala: Growth Mindset

Aplicamos o mindset de aprendizado exponencial.

> Entenda neste outro artigo como manter um Growth Mindset e crescer de maneira sustentável.

devops

O que DevOps definitivamente NÃO é:

  • Modinha
  • Apenas um cargo

Existe um pensamento de que DevOps só envolve desenvolvedores e administradores de sistema. Isso também não é verdade, podemos aplicar os princípios DevOps em todas as áreas.

Os benefícios de uma mentalidade DevOps

Sim, eu poderia escrever um livro só compilando as vantagens de adotar essa prática, mas vou enumerar algumas delas:

  • Entregar versões frequentes e automatizadas, de alto valor e qualidade, onde cada mudança dispara um processo de feedback rápido.
  • Entrega confiável, previsível e passível de repetição
  • Maior rendimento e alto desempenho
  • Melhora na experiência do cliente
  • Capacidade de inovação
  • Tempo de valorização otimizado
  • Aumento da capacidade de inovação

Boas práticas implementando integração contínua

Esse é o momento em que você anota todos esses pontos em um post-it bem visível para lembrar todos os dias.

  • Não faça commit se o processo de compilação estiver quebrado.
  • Sempre rode os testes unitários localmente antes de um commit (ou use o servidor para isso).
  • Espere que os testes obtenham sucesso antes de continuar
  • Não comente testes falhando
  • Limite o tempo antes de reverter
  • Esteja sempre preparado para voltar à revisão anterior

Resumindo, DevOps é uma maneira de pensar, uma saída inteligente para integrar ao máximo os times de desenvolvimento e operações.

Conteúdo Bônus

Exemplo de ferramenta: Modelo de Maturidade

A teoria é interessante, mas como aplicamos isso na prática? Bem, existe uma ferramenta bacana para ajudar a identificar em que ponto uma organização (ou um projeto) está em termos da maturidade de seus processos e práticas DevOps e ainda define uma progressão para melhorar. Essa ferramenta é o modelo de maturidade.

Esse modelo é composto de 5 níveis:

Nível 4: Foco na melhoria contínua

Nível 3: Processos medidos e controlados

Nível 2: Processos automatizados

Nível 1: Parcialmente automatizada
Nível 0: Falta de Controle

Como usamos esse modelo?

1 - Use o modelo para classificar a maturidade da gerência de configuração e entrega de versão da sua empresa (ou projeto) em diferentes partes.

2 - Escolha uma área de foco em que a imaturidade é particularmente complicada (mapeamento de cadeia de valor pode ajudar nessa escolha).

3 - Crie um plano de implementação e realize as mudanças.

4 - Uma vez que as mudanças tenham sido feitas, use os critérios de aceitação que criou para medir se elas tiveram os efeitos desejados.

5 - Repita esses passos e construa seu conhecimento.

pilares devops

Ainda ficou com alguma dúvida sobre o assunto ou quer compartilhar a sua experiência com a metodologia? Conta pra gente nos comentários!

É um profissional da área?

Veja aqui todas as nossas vagas abertas em desenvolvimento.

O que você achou deste conteúdo?
Quer receber nossos conteúdos?
Seu cadastro foi efetuado com sucesso! Enviaremos as novidades no seu email.
Oops! Something went wrong while submitting the form.