Introdução a DevOps

Um tema que cada vez mais tem surgido nas descrições de vagas de programador de níveis Pleno e Sênior é de ferramentas associadas a DevOps.

Neste artigo vou dar uma breve introdução ao DevOps, incluindo seus principais valores. Adianto que os conteúdos que eu for publicar sobre DevOps serão da ótica de um programador. Já que compartilhei com diversos colegas de profissão sobre a falta de conteúdos sobre o tema, principalmente sendo “programmer-friendly”.

Vamos lá?

O que é DevOps, realmente?

Através de diversos conceitos que tenho lido sobre ele, um que gosto bastante é: a prática do trabalho conjunto entre desenvolvimento e operações no ciclo completo do serviço de software, desde o desenho até o suporte em produção A versão original e em inglês dessa definição pode ser encontrada aqui.

Quando se fala em “desenvolvimento” o autor não quer dizer apenas programadores, mas todos os profissionais envolvidos no desenvolvimento do produto, como QAs e profissionais de Produto também. Já quando se fala em “operações”, não quer dizer apenas uma ou outra sub-disciplina de SysAdmins, mas as diversas como engenheiro de redes, DBAs, administradores de sistemas, profissionais de segurança, entre outros.

A primeira coisa que a maioria dos programadores entende quando se fala em DevOps é na parte de ferramentas e tecnologias. E de fato, na descrição de vagas os próprios recrutadores o veem como isso apenas, mas existe bem mais por trás disso do que as ferramentas, e nem são o foco principal do DevOps.


Opa, antes de seguir lendo, tenho um convite para te fazer. Quer começar 2022 com o pé direito, aprendendo sobre um dos tópicos mais quentes no mercado de tecnologia, e que cada vez mais programadores têm precisado aprender?

No dia 22 de janeiro vou realizar um treinamento chamado Formação DevOps Para Programadores. Vai ser um treinamento imersivo em DevOps de 6 horas onde vou falar sobre os fundamentos de DevOps, CI/CD, Azure DevOps, Jenkins, Github Actions e mais, de maneira prática e objetiva. Clique aqui para saber mais e garantir a sua vaga.


Principais valores: CAMS

A sigla CAMS representa os quatro principais valores do DevOps, e significa Culture, Automation, Measurement, Sharing.

Culture

Sem o foco em Pessoas e Cultura, não tem como uma estratégia DevOps funcionar. Já vi processos onde se tentava utilizar ferramentas de automações e CI/CD, mas que as equipes não tinham nenhuma autonomia para entregar software. O resultado era confuso, burocrático e lento.

É comum se encontrarem equipes de Desenvolvimento e Operações separadas, como se houvesse uma barreira entre eles, e constantes atritos.

Automation

Automação é a primeira coisa que muitos de nós pensamos quando escutamos sobre DevOps. Após entender sobre o aspecto cultural, ferramentas podem ser empregadas para se melhorar diversos aspectos de um processo, como:

  • Gerenciamento de Integração e Entrega
  • Gerenciamento de configurações
  • Monitoramento
  • Orquestração

Algumas ferramentas e tecnologias mais conhecidas por programadores quando se fala de DevOps são: Docker, Kubernetes, Azure DevOps, Jenkins, Github Actions, Ansible, e Terraform, por exemplo.

Measurement

Assim como não faz muito sentido falar de performance sem medir.

Uma frase bem famosa de Peter Drucker é: If you can’t measure, you can’t improve.

Ao implementar ferramentas de DevOps em sua infraestrutura de TI, a parte de observabilidade é muito importante. Sua equipe é capaz de acompanhar o surgimento de novos erros, de maneira proativa, sem a necessidade de um e-mail de cliente reclamando? Consegue medir quantos erros e sucessos de requisições, e informações de métricas de processos e performance de suas aplicações?

Sharing

Finalmente, o que parece ser uma extensão do aspecto Culture, é que pessoas devem se sentir a vontade de compartilhar ideias e problemas. Um componente importante disso no DevOps é o Blameless postmortems, onde o foco não é buscar culpados e sim em analisar as causas raízes, geralmente associadas ao processo, de incidentes envolvendo o setor de TI, como vazamento ou corrupção de dados, falhas nos serviços, entre outros.


No próximo artigo vou falar sobre como o surgimento do DevOps se relaciona com problemas de cultura nas empresas, bem como os principais building blocks do DevOps.

Espero que o artigo tenha sido útil, até a próxima!