Aumente a maturidade DevOps da sua empresa com a 4Linux

Aumente a maturidade DevOps da sua empresa com a 4Linux

Medir o nível de maturidade dos processos DevOps é o melhor caminho para direcionar novos esforços e investimentos.

A 4Linux idealizou e criou um serviço de consultoria na qual ela faz um diagnóstico (assessment) que permite medir a maturidade DevOps de uma empresa.

Pela metodologia da 4Linux, quanto mais alto a maturidade DevOps, maior a capacidade da empresa de habilitar os times de desenvolvimento, apoio e operações para entregar e manter produtos (software + infraestrutura) com mais velocidade, qualidade, robustez e menor custo.

A jornada para chegar ao nível mais alto de maturidade não é simples, muito menos rápida, por isso é fundamental para organização saber de fato onde está e onde quer chegar, para então traçar metas sobre como chegar lá.

Um assessment (diagnóstico de maturidade) em práticas DevOps irá nos revelar:

• Nível de Maturidade DevOps;
• Quais os pontos fracos e fortes ao longo de cada prática DevOps;
• Quais as lacunas existentes frentes aos objetivos estratégicos das áreas de desenvolvimento, operações e apoio;
• Expectativas do corpo gestor e diretoria da organização;
• Como direcionar a empresa para uma futura iniciativa de aumento de maturidade DevOps

Pela metodologia desenvolvida pela 4Linux, a medição do nível de maturidade DevOps de uma organização está baseada em 3 processos:

1. Infraestrutura como Código: Processo de gerenciar e atualizar a infraestrutura como uma aplicação, seguindo uma pipeline de deploy, versionamento de código e manutenção contínua.
2. Deploy Contínuo: Processo de entrega de novas funcionalidades ou correções de forma rápida e automática.
3. Integração entre as áreas: Processo de manter a equipe integrada e sendo responsável pela entrega do todo e não somente “da sua parte”, melhorando assim a qualidade da entrega e evolução profissional do time.

Os 3 processos precisam “amadurecer” em conjunto.

Para medir o nível de maturidade de cada um dos 3 processos que servem de alicerce ou base para calcular o nível de maturidade de práticas DevOps, a metodologia da 4Linux elenca as práticas que devem estar em uso e estas práticas são ainda subdivididas em ações que devem ser implementadas.

A metodologia 4Linux baseou-se no modelo de maturidade de Hammer, divulgado pela Harvard Business Review. Isso facilita o entendimento pelo gestor por usarmos termos já conhecidos quando se fala em maturidade de processos.

Ao final do serviço de “assessment” será possível saber qual o nível de maturidade de cada um dos 3 processos bases e também em qual dos 5 níveis de maturidade sua empresa se encontra.

Veja abaixo os 5 níveis de maturidade DevOps de acordo com a metodologia 4Linux e descubra qual a maturidade DevOps de sua empresa.

Inicial: No nível de maturidade inicial há pouca ou nenhuma padronização de ambiente, os processos são manuais e repetitivos, possuindo pouco ou nenhum controle de versionamento ou mudanças no ambiente, frequentemente incidentes como falta de espaço em disco ou de recursos como processador e memória acontecem nos ambientes de homologação, produção e desenvolvimento. O processo de monitoração existe em poucos cenários específicos e não são eficientes.

O trabalho é pautado por esforços individuais e não em uma rotina integrada, por não possuir a adoção de práticas ágeis o escopo do desenvolvimento de um projeto é definido por um período muito longo, não há testes automatizados e tarefas como deploy são feitas de forma manual, dependendo exclusivamente de profissionais alocados apenas para esta tarefa. O trabalho em equipe é feito de forma isolada dentro do time e a interação com outros setores é precária, causando atritos durante incidentes.

Repetitivo: Ao atingir o nível de maturidade repetitivo, o processo já possui um certo padrão de execução, porém não existe compartilhamento de responsabilidade, as tarefas ainda são feitas de forma isoladas, nesta etapa já existe um certo grau de troca de conhecimento que é favorecida por conta dos padrões estabelecidos, a adoção de técnicas como pair programming pode ser vista nesta etapa.

O processo de entrega do produto ainda sofre atrasos, pois a falta de automação e a burocracia excessiva prejudicam a ação de deploy, não há testes automatizados que garantam a qualidade da entrega o que faz com que problemas só sejam encontrados em produção.

Alguns itens fundamentais como centralização de configuração, Rollback automático, ferramenta de versionamento de código ou mesmo otimização de recursos podem ou não existir, porém não é utilizado da melhor forma.

Padronizado: Neste nível de maturidade já existe padronização de ambiente, recursos como container são utilizados para este fim, a máquina do desenvolvedor já é provisionada de forma rápida e similar aos ambientes de homologação e produção. Tal padronização é garantida através de arquivos de provisionamento de ambiente em container.

A partir deste ponto os times estão trabalhando de forma integrada fazendo uso de metodologias como a prática de TDD e code review de forma mais consolidada, aumentando ainda mais a qualidade das entregas.
Recursos como versionamento de código estão sendo utilizados para centralização da configuração do ambiente ao mesmo tempo que são utilizadas ferramentas que garantam que o ambiente de produção seja idêntico ao ambiente de homologação.

Previsível: No nível previsível o time está totalmente focado no projeto, além de ser auto sustentável, já que possui todas as competências, melhorando assim a produtividade e coesão. Por ser um time misto, o compartilhamento de responsabilidade é mais aparente e efetiva, os processos já estão automatizados o que melhora a qualidade e a velocidade das entregas.

A esteira já está consolidada e o deploy já acontece de forma automática nos ambientes de desenvolvimento e homologação, apesar disso, testes e monitoração contínua não são aplicados com eficiência, o que não permite a criação de novas instâncias automaticamente baseada em recursos, nem mesmo destruir instâncias que não são utilizadas.

Melhoria contínua: Evoluímos para o estágio de maturidade máximo do processo, onde recursos fundamentais como testes automatizados, migrations e monitoração contínua garantem que o processo funcione de forma automática em uma pipeline, a monitoração consegue acompanhar a criação de novos recursos bem como alterações antigas, instâncias em produção são baseadas em métricas de monitoração, ou seja, a escalabilidade é feita com eficiência.

A adoção de uma estratégia de deploy permite que as entregas aconteçam diversas vezes ao longo do dia, sem preocupação pois o health check irá garantir que o rollback seja executado em casa de falhas.

Veja abaixo exemplos de gráficos que mostram o nível de maturidade da empresa e de processos. O objetivo do assessment é – além de mostrar o panorama atual – dar orientações para que a linha azul dos gráficos abaixo sejam empurradas para fora até que alcancem as linhas vermelhas ( maturidade máxima):

 

CURSOSCONSULTORIA    CONTATO

Anterior Curso gratuito de Big Data: entre para o mercado em ascensão
Próxima Domine o Ansible: Aprenda a provisionar e configurar sua infraestrutura na nuvem

About author

Rodolfo Gobbi
Rodolfo Gobbi 16 posts

Idealizador e Presidente do Rankdone. Apesar de não ter suas origens na área de RH, aplicou - para desenvolver o Rankdone - seus 20 anos de experiência na contratação de profissionais e na montagem e gerência de equipes técnicas.Atua como Sócio-Diretor da empresa 4linux. Foi fundador e presidente do LPI( Linux Professional Institute) Brasil, a maior certificação profissional linux do mundo. Possui experiência em gerência técnica , comercial e financeira. Graduado em Engenharia Eletrônica pela Universidade de São Paulo com especialização em Computação, fez Extensão em Administração de Empresas na Fundação Getúlio Vargas.Ministrou diversas palestras em eventos de informática.

View all posts by this author →

Você pode gostar também

DevOps

Entenda o que é e como funciona uma Máquina Virtual

O que é uma Máquina Virtual? Uma máquina virtual (VM) é um ambiente virtual que funciona como uma simulação de um computador, com sua própria CPU, memória, interface de rede

Negócios

Como a pandemia impulsionou o investimento em TI e a transformação digital

Após o início da pandemia de coronavírus o Brasil sofreu uma queda nos indicadores econômicos, que estão se mostrando mais positivos somente nos últimos meses. A queda da economia, somada

DevOps

Guia completo: Como automatizar a coleta de dados na web com Python e Selenium

Muita gente na internet tem dúvida de como fazer robôs que buscam coisas em sites, baixam conteúdo ou simplesmente executam ações para testar alguma funcionalidade do site, sistema ou algo