O futuro do DevOps está profundamente enraizado em sua filosofia de trabalho, que preconiza a integração colaborativa entre os times de desenvolvimento e operação. Sua adoção melhora a eficiência em todo o ciclo de vida do software.
Na prática, a filosofia DevOps começa com uma mudança cultural, promovendo colaboração, transparência e comunicação entre desenvolvimento e operação.
Já a cultura DevOps é complementada pela implementação do princípio de automação. Isso inclui as ferramentas para os pipelines de integração e entrega contínua (CI/CD), além de ferramentas de observabilidade para operações.
Enquanto a essência de DevOps segue firme e atual, sua implementação mudou muito ao longo do tempo. Conheça a seguir sua evolução e o que podemos esperar do futuro do DevOps.
O termo DevOps surgiu no início dos anos 2000, mas ganhou popularidade em 2009 com a primeira conferência DevOpsDay, realizada em Bruxelas.
O DevOps se tornou mais relevante conforme a transformação ágil exigiu dos times a capacidade de fazer entregas frequentes e confiáveis.
Primeiros anos
No início dos anos 2010, a implementação do DevOps ainda era bastante simples, baseada em fluxos de processo utilizando ferramentas como:
Na SoftDesign, começamos a utilizar esse conjunto de ferramentas no início da década de 2010. Ainda que essas práticas fossem precursoras, elas são muito diferentes das abordagens mais avançadas que observamos hoje.
A primeira grande evolução no DevOps veio com a adoção do Git, que trouxe recursos avançados de gestão de configuração, controle de versão distribuído e fluxos de trabalho mais maduros. Apesar de ser uma tecnologia de 2005, sua adoção em larga escala nas empresas começou somente a partir de 2010.
Na SoftDesign, em 2013, nossa estrutura de DevOps já utilizava o Git como repositório principal. Nessa época, adotamos o Gerrit como ferramenta para code review, enquanto o Jenkins continuava a desempenhar o papel de orquestrador.
Foi também nessa época que se tornou viável integrar testes automatizados aos pipelines. A primeira ferramenta que nossa equipe adotou para isso foi o Cucumber.
A próxima grande evolução do DevOps ocorreu no mercado, a partir de 2014, com a adoção do Docker como ferramenta de contêineres. Acreditamos que essa transformação é gigante, pois evoluiu a forma de construir e distribuir aplicações. Uma mudança que trouxe benefícios significativos, como:
Com o surgimento de ferramentas como Docker Swarm e Kubernetes, a utilização de contêineres se consolidou como uma transformação definitiva no DevOps. Essas soluções permitem orquestrar e automatizar deploys de contêineres ao longo de todo o fluxo, até mesmo em ambientes produtivos.
Atualmente, na SoftDesign, todos os times de desenvolvimento utilizam contêineres. Temos uma cloud privada com Kubernetes, onde gerenciamos os ambientes de desenvolvimento e testes. Além disso, utilizamos K8S na maioria dos ambientes produtivos, seja no Azure ou na AWS.
DevSecOps
O DevSecOps adiciona “Security” (Segurança) à filosofia DevOps, e sua adoção cresceu significativamente a partir de 2019, consolidando-se no mercado atual. A essência desse conceito é integrar práticas de segurança diretamente no ciclo de vida do desenvolvimento de software, o que também é conhecido como Segurança Contínua.
GitOps
O GitOps representa uma mudança na lógica dos pipelines. O conceito é de 2017, e a ferramenta mais conhecida – o ArgoCD – foi lançada em 2019.
No GitOps, o repositório Git da aplicação passa a ser a ‘fonte da verdade’ (single source of truth). Isso significa que as alterações feitas no repositório são detectadas pela ferramenta de CI/CD, que então aplica essas mudanças diretamente nos ambientes.
A principal vantagem dessa abordagem é sua capacidade de gerenciar melhor a complexidade. Por isso, se aplica muito bem em casos de microserviços, de muitos ambientes e até de multi-cloud. Além disso, o GitOps assegura a consistência entre os ambientes e oferece um excelente nível de rastreio das mudanças.
No entanto, o GitOps não é ideal para todos os casos. Quando o ambiente é muito simples, ou tem necessidade de configurações dinâmicas, o GitOps não é a melhor solução.
O conceito de Site Realiability Engineering (SRE) ganhou destaque no mercado em 2016, com a publicação do livro do Google “Site Reliability Engineering: Como o Google Gerencia Sistemas de Produção”.
O SRE e o DevOps têm muito em comum, como a cultura de colaboração entre Desenvolvimento e Operação. Outra intersecção é o princípio de automação. Porém, existem diferenças importantes.
Enquanto o DevOps se concentra na automação do ciclo de vida do software, o SRE recupera conceitos cruciais para a operação de aplicações em produção, como:
Na SoftDesign, vemos o SRE como uma evolução natural e necessária. Acreditamos que a sustentação de aplicações em produção não deve ser baseada apenas na automação de CI/CD, mas também em processos maduros.
Plataformas
Nos próximos anos, você certamente ouvirá muito sobre plataformas, que estão sendo vistas como o futuro do DevOps. O conceito começou a ganhar força em 2016, surgindo como uma solução interna para empresas com muitos microserviços e aplicações, como Spotify e Netflix.
Em 2020, o Spotify lançou seu framework Backstage como código aberto, e o conceito começou a crescer no mercado.
Mas o que é uma plataforma? Trata-se de um ecossistema interno da empresa empacotado de forma fácil para ser usado pelos desenvolvedores. Esse ecossistema compreende um conjunto padronizado de ferramentas, serviços, processos e infraestrutura.
A plataforma geralmente inclui:
Ter uma plataforma estruturada ajuda os times a gerenciar a complexidade, promovendo automação, padronização e autonomia. A plataforma passa a ser essencial conforme a complexidade de desenvolvimento aumenta nas organizações.
FinOps e GreenOps
Finalmente, dois dos conceitos mais novos para o futuro do DevOps são o FinOps e o GreenOps.
O FinOps foca na gestão financeira da nuvem, com o objetivo de otimizar os custos da infraestrutura e maximizar o retorno do investimento em cloud. Essa disciplina inclui a análise de custos, transparência para os stakeholders e otimização de práticas, buscando uma melhor arquitetura de cloud e redução de despesas.
Já o GreenOps busca otimizar os recursos de nuvem não só pensando em custo, mas também no impacto ambiental desses recursos.
Por fim, com muitas empresas voltadas para ESG e sustentabilidade, o GreenOps visa monitorar e reduzir a pegada de carbono da TI, contribuindo para um futuro do DevOps mais sustentável.
O principal objetivo do DevOps é integrar e colaborar entre equipes de desenvolvimento e operações para aumentar a eficiência e a agilidade no ciclo de vida do software.
As organizações buscam aumentar a eficiência e a agilidade no desenvolvimento e operação de software, reduzindo o tempo de entrega e melhorando a qualidade e a colaboração entre os times.
Espere um crescimento significativo das plataformas internas. Além disso, conceitos emergentes como FinOps e GreenOps irão se destacar, focando na otimização de custos e na sustentabilidade na gestão de recursos de nuvem.
Acesse também:
16 de agosto de 2024
18 de junho de 2024