Acelerando a Transformação Digital: CALMS, Three Ways e a Jornada Cloud Native
Uma abordagem prática para adotar DevOps e Cloud Native
Introdução
DevOps é uma prática estratégica que busca unir o desenvolvimento de software (Dev) com as operações de TI (Ops), visando melhorar a colaboração e a comunicação entre essas equipes. Essa metodologia possibilita a entrega mais rápida e eficiente de aplicativos e serviços de alta qualidade. Neste artigo, exploraremos os conceitos de CALMS e Three Ways, sua relação com a cultura Cloud Native e apresentaremos a Avaliação da Matriz de Maturidade Nativa da Nuvem, uma ferramenta útil para avaliar a jornada das organizações rumo à adoção dessa cultura.
Compreendendo CALMS
CALMS é um acrônimo que sintetiza os cinco pilares do DevOps:

1. Cultura (Culture)
A cultura é a base do DevOps, promovendo colaboração, comunicação e empatia entre as equipes. Para fomentar essa cultura, recomenda-se:
- Estabelecer metas comuns para alinhar as equipes em torno de objetivos compartilhados.
- Incentivar a comunicação aberta por meio de reuniões regulares e canais de comunicação eficazes.
- Investir em capacitação contínua, ajudando as equipes a aprimorar suas habilidades e a compreender os desafios e responsabilidades mútuos.
- Cultivar uma mentalidade de aprendizado contínuo, que incentive experimentações e adaptações constantes.
Automação (Automation)
A automação é crucial para aumentar a eficiência e reduzir erros humanos. Para integrá-la ao DevOps:
- Identifique processos repetitivos e manuais que possam ser automatizados, como integração contínua, entrega contínua e infraestrutura como código.
- Utilize ferramentas como Jenkins, GitLab, Docker e Kubernetes para automatizar esses processos.
- Monitore e otimize constantemente os processos automatizados para garantir sua eficácia.
Lean (Enxuto)
Princípios enxutos ajudam a eliminar desperdícios e entregar valor rapidamente aos clientes. Para aplicar o Lean no DevOps:
- Mapeie o fluxo de valor do processo, identificando gargalos e áreas para melhoria.
- Implemente práticas como Kanban para melhorar o fluxo de trabalho.
- Adote a prática de “parar e consertar” para resolver problemas de imediato.
- Mantenha um ritmo de trabalho sustentável para evitar sobrecarga e burnout.
Medição (Measurement)
A medição é fundamental para monitorar o desempenho e identificar oportunidades de melhoria. Para aplicá-la no DevOps:
- Defina métricas relevantes, como tempo de ciclo e taxa de implantação bem-sucedida.
- Utilize ferramentas de monitoramento para coletar e analisar dados em tempo real.
- Revise regularmente os dados para identificar tendências e desenvolver planos de ação.
Compartilhamento (Sharing)
Compartilhar conhecimentos e práticas promove inovação e melhoria contínua. Para incentivar o compartilhamento:
- Crie espaços colaborativos, como wikis e repositórios, para facilitar o acesso às informações.
- Incentive a documentação de processos e lições aprendidas.
- Organize workshops e sessões de treinamento para que as equipes possam trocar experiências.
- Estabeleça uma cultura de feedback construtivo para melhorar a colaboração.
Three Ways
O conceito de Three Ways envolve três abordagens fundamentais para aprimorar a colaboração e o desempenho no DevOps:

- Fluxo de Sistemas (System Flow)
Focado na otimização do fluxo de trabalho entre as equipes e na automação de processos, visando acelerar a entrega de software. Práticas como Integração Contínua (CI), Entrega Contínua (CD) e Infraestrutura como Código (IaC) são essenciais para esse princípio.
2. Feedback e aprendizado contínuo (Continuous Feedback and Learning)
Destaca a importância de coletar feedback em tempo real para melhorias contínuas. Monitoramento e observabilidade, Análise de Causa Raiz (RCA) e Revisão Pós-Incidente (PIR) são práticas-chave.
3. Cultura de experimentação e aprendizado (Culture of Experimentation and Learning)
Promove uma cultura organizacional que valoriza a experimentação e a inovação. Desenvolvimento baseado em hipóteses, testes A/B e o compartilhamento de conhecimento são exemplos de práticas que fomentam essa cultura.
Cloud Native DevOps
Cloud Native é uma abordagem que se concentra no desenvolvimento, implantação e gerenciamento de aplicativos que aproveitam ao máximo os recursos da nuvem. Suas principais características incluem:

As principais características do Cloud Native incluem:
- Arquitetura baseada em microsserviços: Aplicativos divididos em microsserviços independentes.
- Contêineres e orquestração: Uso de contêineres gerenciados por sistemas como Kubernetes.
- Infraestrutura como código: Gerenciamento automatizado e programático da infraestrutura.
- Elasticidade e resiliência: Capacidade de escalar horizontalmente e ser resiliente a falhas.
DevOps e Cloud Native compartilham objetivos como agilidade, escalabilidade e resiliência, e quando combinados, oferecem benefícios significativos, como:
- Velocidade de entrega aprimorada: Desenvolvimento e implantação mais rápidos.
- Eficiência operacional: Melhor gerenciamento da infraestrutura.
- Maior resiliência: Capacidade de se adaptar às demandas e falhas.
- Inovação e experimentação: Facilidade para testar novas ideias e soluções.
Avaliação da matriz de maturidade nativa da nuvem
A Avaliação da Matriz de Maturidade Nativa da Nuvem é uma ferramenta que ajuda as organizações a medir seu progresso na adoção da cultura Cloud Native. A avaliação cobre dimensões como arquitetura, infraestrutura, processos e práticas de DevOps, e é geralmente dividida em níveis de maturidade que variam de iniciante a avançado.

Dimensões comuns avaliadas incluem:
- Arquitetura: Avaliação do design e construção dos aplicativos.
- Infraestrutura: Uso de contêineres, orquestração e automação.
- Processos: Adoção de práticas ágeis e enxutas.
- Práticas de DevOps: Colaboração entre as equipes de desenvolvimento e operações.
- Cultura: Mentalidade organizacional voltada para a colaboração e aprendizado contínuo.
Conclusão
A combinação de DevOps e Cloud Native oferece uma poderosa parceria que pode elevar as organizações a novos patamares de sucesso e inovação. Ao adotar os princípios e práticas de ambos, as empresas conseguem alcançar maior agilidade, escalabilidade e resiliência em seus serviços. Para obter sucesso, é essencial definir metas comuns, investir em treinamento, selecionar ferramentas adequadas e promover uma cultura de experimentação.
Referências
- Kim, G., Humble, J., Debois, P., & Willis, J. (2016). The DevOps Handbook. IT Revolution Press.
- Forsgren, N., Humble, J., & Kim, G. (2018). Accelerate. IT Revolution Press.
- Kim, G., Debois, P., Willis, J., & Humble, J. (2013). The Phoenix Project. IT Revolution Press.
- Reznik, P., Dobson, J., & Gienow, M. (2019). Cloud Native Transformation. Container Solutions.
- Container Solutions. (s.d.). The Container Solutions Cloud Native Maturity Matrix. Recuperado de Container Solutions.