5 termos DevOps que todos nós usamos mas não conseguimos definir.

Hoje se te perguntassem o que significa DevOps, Agile, Micro Services, Continuos, CI/CD ...entre outros você saberia dizer? Não!? Então leia este artigo =)

5 termos DevOps que todos nós usamos mas não conseguimos definir.

Você se considera um apaixonado por tecnologia, programação e DevOps? Se sim, com certeza vai se identificar com a seguinte situação:

  • Semana passada, não me lembro exatamente o dia, estava observando alguns dos meus colegas conversando com um novato. Eles "tentavam" explicar como aplicamos a cultura DevOps no ambiente de trabalho. Contudo, no decorrer da conversa percebi que muitos deles tiveram bastante dificuldade de apresentar alguns dos termos que mais utilizamos no dia-a-dia.

O fato é que DevOps possui termos que são realmente difíceis de definir. Faça uma busca rápida no Google e você encontrará uma infinidade absurda de dicionários e glossários dedicados em trazer descrições bastante objetivas, todos com o intuito de facilitar a vida de quem está começando a jornada profissional.

Apesar dos recursos disponíveis e os esforços da comunidade, quero apresentar alguns dos vocábulos que geram as maiores dúvidas.

Continuous
Essa é definitivamente uma das palavras que melhor pode descrever a prática DevOps. O problema é que não se encontra no mundo processos de produção que eliminam os atrasos. A questão é que muitos ainda não entendem que o "Continuos" deve ser visto como uma cadência de entrega mais ágil e não como algo que evita imprevistos.

Talvez, ao invés de chamarmos de "Continuous", nós deveríamos substituí-lo por "Fast" que adjetiva bem melhor a maior parte dos casos.

CI/CD
Estas siglas são muito utilizadas mas também não se definem por si só. Quando falamos de CI - Continuos Integration, nós até que conseguimos ter um entendimento fechado da aplicação, porém, quando o "CD" entra em cena, a coisa fica mais complicada. Entendemos "CD" como Continuos Delivery, Continuos Deployment ou os dois? Ou isso não importa?

A pergunta a ser feita é se um pipeline CI/CD também inclui necessariamente automação de criação de teste. Eu acredito que a maioria das pessoas diria que sim, mas o termo, de fato, não se aplica dessa forma.

Estabilis-BannerCTA_SITE-3

Agile
No início dos anos 2000, os principios do desenvolvimento de software ágil foram criados e explicados no "Manifesto para o desenvolvimento Ágil".

É muito claro o que "Ágil" significa mas, qual é a sua relação com o DevOps? São a mesma coisa ou são práticas distintas que por acaso têm objetivos semelhantes? Costuma-se dizer que o DevOps é uma derivação dos princípios apresentados no manifesto, eu acho difícil dizer, porque há pouco consenso sobre o que exatamente "agile" significa no contexto da cultura DevOps.

Microservices
Conversar sobre DevOps é com certeza falar de microserviços. A ideia de distribuir e tratar aplicações em vários serviços não é nova. Na década de 2000, esse tipo de prática já estava bastante difundido mas não necessáriamente era amada por todos. Indo um pouco mais longe, já se falava em microkernels em 1980, muito antes de alguém estar buscando por DevOps.

A questão, então, é o que torna um microsserviço, ou uma arquitetura de microsserviços, diferente de outros tipos de arquiteturas em serviços. Talvez seja o seu tamanho, mas não há uma definição oficial do que distingue um microsserviço do outro.

DevOps
Por último mas não menos importate é a própria definição do DevOps. Cada um defini o termo de uma maneira diferente. AWS diz que é:

“a combinação de filosofias culturais, práticas e ferramentas que aumentam a capacidade de uma empresa de distribuir aplicativos e serviços em alta velocidade: otimizando e aperfeiçoando produtos em um ritmo mais rápido do que o das empresas que usam processos tradicionais de desenvolvimento de software e gerenciamento de infraestrutura.”

Outras definições focam no conjunto de filosofias culturais e deixam o restante de fora.

O que o DevOps realmente significa? Eu não acho que teremos uma única resposta para essa pergunta.

Conclusão
O fato é que eu poderia trazer diversos outros termos para discutir suas definições mas o objetivo aqui era mostrar que ainda há um longo caminho até que o conceito DevOps alcance a maturidade necessária para ter mais claro suas definições e aplicações.

Estabilis-BannerCTA_BLOG