NoOps: ficção ou realidade?

Ja faz mais de 10 anos que o tema NoOps está presente em nosso dia a dia, mas muitas pessoas ainda tem dúvida sobre o que significa e se realmente é possível implementarmos em nosso dia a dia ou se é apenas um sonho de muitos entusiastas.

Quando levamos ao pé da letra, NoOps quer dizer sem operação, mas isso não é uma realidade, na prática significa que todo processo de operação é automatizado, sem a necessidade de algum tipo de intervenção humana.

Isso não quer dizer que não existira um time de operações, mas que esse time muitas vezes será reduzido e com um mindset focado em automatização, em coisas independentes, sem gargalos ou qualquer passo que visem algum tipo de intervenção manual.

Passos para o sucesso

Image for post

NoOps é um processo cultural, nenhum processo cultural acontece da noite para o dia, estamos falando de pequenas atitudes que mudamos durante o nosso dia a dia para que seja possível atingir determinado objetivo.

Essa mudança pode levar meses ou anos para ser concluída, por isso é importante projeta-la de forma faseada, onde ha cada 3 meses possamos medir sua eficiência e corrigir direcionamentos em sua implementação.

Pensando nesse cenário, segue abaixo algumas dicas importantes para implementação de NoOps dentro de sua companhia:

  1. Traga elementos da cultura DevOps para o seu dia a dia, comece a entregar software de forma automatizada
  2. Elimine as pequenas tarefas repetitivas de seu dia a dia, isso lhe dará espaço e bagagem para eliminar as tarefas mais complexas
  3. Automatize processos de monitoração, métricas e alertas, faça com que as informações cheguem cada vez mais rápido as Squads de desenvolvimento
  4. Passe a utilizar serviços gerenciados por provedores Cloud, muitos desses serviços não necessitam administração, e quando necessitam de alguma intervenção, tudo pode ser feito baseado em métricas e de forma automatizada
  5. Crie uma cultura de compartilhamento de conhecimento, faça Talks, Dojos ou Pair Programming, gere uma base documental sobre todo processo automatizado, NoOps deve ser objetivo de toda companhia, não apenas de uma área, todos devem entender os seus benefícios e o porque querem alcança-los
  6. Gere métricas sobre todo o ciclo de vida de um software, as métricas sempre nos ajudam a encontrar gargalos e nos apoiam na tomada de decisões estratégicas
  7. Crie uma cultura orientada ao cliente, aproximando a Squad de Infraestrutura das Squads de desenvolvimento, cirando um canal de comunicação, ajudando na priorização de tarefas e tomada de decisões, você irá se surpreender como essa relação trará benefícios

Redução de custos

Image for post

Estamos falando de um mundo corporativo, então não importa o quão bonito e interessante seja um processo ou uma mudança cultural, ela só poderá ser considerada eficaz com uma justificativa financeira, para NoOps podemos levar em consideração os seguintes pontos:

Destruir ambientes não produtivos fora do horário comercial

Rotineiramente quando uma área de infraestrutura disponibiliza ambientes como o desenvolvimento, qualidade e homologação, não existe nenhum tipo de restrição de horário para uso, esses ambientes ficam disponíveis 24 horas por dia, 7 dias por semana.

A grande verdade é que esses ambientes raramente são utilizados fora do horário comercial, com um ambiente criado via automação, é possível reduzir consideravelmente o custo desses ambientes, os deixando disponíveis somente no horário comercial.

Provisionamento de capacidade

Cada produto deve ter um planejamento de capacidade automatizado, deixando sua aplicação com uma configuração mais parruda para atender os momentos de picos de utilização e uma configuração mais leve para atender os momentos de baixa utilização.

Serviços gerenciados

Muitas empresas ainda são resistentes ao uso de serviços gerenciados, uma das grandes justificativas é o custo, o que essas empresas geralmente não coloca na conta é o custo, o que essas empresas geralmente não consideram os seguintes pontos:

  1. Esforço extra para automatizar a administração desses ambientes
  2. Serviços gerenciados ja foram previamente testados em diversos tipos de cenários, em ambientes que assumimos o risco de administrar, podem ocorrer um número maior de paradas indesejadas
  3. Em alguns cenários necessitamos de janelas de manutenção, plantões e recursos extras para dar conta de toda a demanda

Otimização do tempo de recursos

Com a abordagem NoOps, geralmente os engenheiros de software escalam seu tempo de trabalho, deixando de gastar seu tempo com tarefas repetitivas, podendo se dedicar a novas atividades.

Conclusão

Como vimos acima, NoOps quer dizer sem operação, mas não podemos levar a tradução ao pé da letra, muitas vezes pode sim existir um time de operações, mas com um mindset focado em automatização, em coisas independentes, sem gargalos ou qualquer passo que visem algum tipo de intervenção manual.

Também vimos que NoOps é um processo cultural, regado de benefícios técnicos e financeiros, mas é um processo que deve ser projetado minuciosamente, pois um processo cultural pode levar meses ou anos para ser concluído, por isso é importante projeta-lo de forma faseada.

Por Willian da Silva, Arquiteto de soluções no Grupo FCamara


Quer saber mais? Veja todos os artigos que escrevemos dessa série sobre DevOps:
https://blog.fcamara.com.br/categorias/devops/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *