Introdução
A ideia desse artigo é manter viva e fortalecer conceitos básicos que lidamos no dia a dia de programação moderna. Nos últimos meses é possível ver um crescimento exponencial de artigos e publicações voltadas para AI. Mas e os outros assuntos associados a TI?
Continuam sendo muito relevantes e sendo aplicados diretamente no dia a dia.
Esse primeiro artigo é um compromisso de uma séria sobre Cloud Native e conceitos importantes sobre padrões de arquiteturas e casos de uso.
Procura tratar esses assuntos de forma simples e bem-humorada, sem muita preocupação com o tecniquês ou o uso de LLMs gerar textos.
DevOps
DevOps é um termo que já teve seu momento de buzzword, gerando intermináveis artigos e publicações sobre o assunto. Sendo um tema muito importante incorporado no ciclo de desenvolvimento de deploy de aplicações por inúmeras empresas de todo tipo de indústria que se pode imaginar.
A pergunta que não quer calar, o que é DevOps?
Representa uma profissão, às vezes alguma ferramenta específica, mas o mais importante uma cultura. Sim, a cultura de simplificar e automatizar os processos voltados ao desenvolvimento.
É isso, quem queria uma definição de uma frase pode dar um scroll no artigo até o fim e fingir que leu e depois fechar a aba. Mas o que mais podemos falar sobre devops?
Conceito
A ideia central da cultura Devops é aproximar as pessoas que escrevem os códigos, famosos Devs, das pessoas que colocam o código para rodar e fazem o monitoramento da execução nos servidores, nem tão famosos times de operações ou simplesmente OPS.
Lindo o conceito, mas por que aproximar essa galera não é tudo do time de TI?
Essa necessidade veio do mercado em si do consumidor final. Existe a urgência latente do ser humano moderno de sempre ter a correção de erros e a melhor versão no menor tempo possível. O termo bonito para isso é time to market, que nada mais é que o tempo de um produto ser feito ou atualizado e lançado ao consumidor final.
É um reflexo do mundo de serviços do mundo atual, muita tecnologia e pouca paciência. Se um serviço de Streaming, por exemplo, demora a fazer o login já pulamos para outro que está funcionando sem cerimônia.
Com motivação de liberar as novas versões dos aplicativos o mais rápida possível, foi surgindo um movimento dos profissionais de TI, os quais melhoram a gestão de desenvolvimento e deploy das aplicações para reduzir os ciclos de programação e ter melhor monitoramento dessas aplicações.
Os ciclos de desenvolvimento ficam mais integrados e automatizados, tornando mais simples o fluxo de desenvolvimento, teste, deploy e monitoramento. E é isso é exatamente o que você está pensando, aquele desenho clássico do infinito com os passos do DevOps, ele faz muito sentido, mas nem sempre foi assim.
Você deve estar pensando que agora seria o momento de contar a história da evolução das metodologias de desenvolvimento, mas esse não é o objetivo aqui hoje. Mas é importante saber que essas mudanças de paradigma partem da comunidade e de profissionais de TI que identificam o problema no dia de trabalho e se uniram para resolver e testar novas propostas.
Nos últimos anos o conceito de DevOps expandiu e foi evoluindo para áreas específicas como DevSecOps onde a segurança é parte central do fluxo de desenvolvimento e deploy, MLOps voltado para os pipelines de Machine Learning, DataOps que são desenvolvidos pipelines de dados, entre outros Ops da vida.
Ferramentas
Agora que já mostramos o que é e o porquê, vamos falar sobre as ferramentas que ajudaram a construir as ideias e a cultura DevOps.
Primeiro vem a criação e a implementação de metodologia ágeis como Scrum e Kanban. Essas metodologias ajudam a organizar o ciclo de desenvolvimento mais curto e a paralelizar as tarefas dos desenvolvedores.
Aliado as metodologias ágeis também surgiram a popularização de softwares de controle de código como GIT e SVN, que além de rastreabilidade possibilitado o trabalho de vários devs em um único código-fonte, trazendo dor de cabeça para quem aprova os PRs (Pull Requests) para torcer para a junção dos códigos, famoso merge, não de problema.
E por fim, as ferramentas que geram muitos empregos que são as de automação de Build e Deploy famosas ferramentas de CI/CD, Continuous Integration e Continuous Deploy/Delvery. Essas ferramentas são responsáveis por pegar o código buildar, gerando artefatos ou containers, e colocar as aplicações para executar no servidor final.
Desafios
O maior desafio no processo de adoção de DevOps é pelo seu caráter cultural e não tecnológico. Então processos precisam ser revistos e automatizados, equipes precisam ser reestruturadas e é claro é necessário da escolha e adoção das ferramentas corretas conforme a necessidade e o momento de cada empresa.
Criar uma equipe ou projeto do zero já adotando o DevOps é um processo muito mais simples. E é geralmente utilizado como piloto em grandes empresas para desenvolver novas ferramentas e funcionalidades.
Outro desafio é superar a cultura do GO HORSE, que é basicamente "Faça o que eu mando porque eu quero". Essa é a metodologia mais comum do que vocês imaginam nas empresas. Se no dia a dia já não se seguem processos em um momento de crise é trocar o pneu com o carro andando, ou mexer no código de produção enquanto seu diretor está à espera de um milagre em um domingo à noite.
Conclusão
Considerando os desafios de mudança cultura que podem ter muitos opositores em uma organização. DevOps traz uma solução moderna para problemas modernos. E isso tudo impulsionado pela adoção de arquiteturas mais modernas como microsserviços que exigem um ciclo menor de desenvolvimento, vem se tornando um padrão cultural e guia nas empresas.
Top comments (0)