Quais os segredos do sucesso de DevOps?

segredos-sucesso-devops

A adoção de DevOps vem acelerando transformações significativas na área de TI. Essas mudanças trazem êxito a profissionais e empresas de tecnologia.

Com DevOps temos maior frequência e qualidade nas entregas de software, processos mais simples e ágeis (people over process), além de modernizar a empresa sem necessariamente grandes investimentos iniciais. Mais ainda, diminui o atrito entre áreas distintas do TI que tradicionalmente têm enorme e recorrente fricção a cada publicação.

Essas são algumas vantagens de implantar cultura, ferramentas e processos DevOps. Se você desejar saber mais sobre o DevOps e a causa do seu sucesso, acompanhe o nosso artigo.

O que é DevOps

Vamos iniciar com uma breve explicação do que é o DevOps e quais as mudanças ele traz para a TI.

Tradicionalmente a engenharia de software e os profissionais da infraestrutura de TI eram de mundos distintos (silos operacionais apartados e culturas diametralmente opostas). Com isso, a rotina de entrega de software era uma tarefa cercada de trâmites burocráticos baseados em modelos de gestão de risco obsoletos. Como consequência haviam erros e retrabalhos recorrentes, assim como atrasos e prazos exagerados, que eram a norma da TI.

Resumindo: desenvolvedores são cobrados pela entrega de funcionalidades e profissionais da infraestrutura pela estabilidade e disponibilidade dos sistemas. Em uma TI tradicional mudanças são vistas como elementos de risco. Isso leva a adoção de processos que represam entregas, cercando-as de trâmites e protocolos morosos.

DevOps parte do entendimento que represar mudanças implica diretamente em um acúmulo maior de mudanças a cada entrega. Este o verdadeiro fator de risco! DevOps é uma estratégia que une cultura, ferramentas e processos ágeis. A prática visa melhorar o processo de produção da TI com entregas mais frequentes e com mais qualidade.

Com uma nova proposta, adotar DevOps significa buscar constantemente a automação de processos repetitivos ao longo de toda a cadeia de produção de software. Isto implica no provisionamento “self-service” de recursos para as equipes, esteiras de construção e testes automatizados, entrega contínua, ferramentas que facilitem a comunicação e colaboração, entre outros.

Curiosamente esta nova padronização concede grande liberdade para as equipes experimentarem novas tecnologias e plataformas, ao mesmo tempo que permite uma gestão unificada de toda a produção.

A adoção de DevOps é uma longa jornada – acreditar que existe uma “caixinha mágica” de DevOps que pode ser adquirida de um fornecedor de TI é um erro. A boa notícia é que há boas estratégias viáveis que são praticamente “self-funded” – cada passo gera economias substanciais que justificam sua continuidade.

Problemas mais comuns que fazem o DevOps não funcionar

Para conseguir bons resultados com o DevOps é necessário se manter atento aos possíveis empecilhos. Confira abaixo os obstáculos mais comuns e nocivos para sua empresa de TI.

1: Automatização errônea

Diferente de empresas que já flertam com o modelo DevOps há mais tempo, as empresas mais tradicionais que buscam aperfeiçoamento têm dificuldades. O problema é que elas não sabem exatamente como ou quando encaixar novas tecnologias.

O processo de automação em uma empresa convergente para o DevOps poderá levar vários meses. É justamente por isso que se abrem dúvidas sobre qual estratégia seria a mais adequada.

Ter em mente uma organização antecipada, ressaltando as prioridades, pode ajudar a solucionar esse contratempo. O mais importante é compreender que se trata de uma longa jornada de aprendizado constante. É essencial começar com projetos nos quais as equipes multidisciplinares estejam motivadas para assumir as novas responsabilidades, inerentes a este modelo. É necessário, por exemplo, que a equipe seja capaz de provisionar corretamente os recursos que necessita. Além disso, é preciso que o time saiba construir seus testes automatizados e monitorar sua aplicação (ou mesmo instrumentá-la corretamente).

2: Compreender o que é integração contínua e entrega contínua

A integração contínua está ligada a mudanças de código fonte. As alterações do código são enviadas para uma esteira automatizada de construção e testes tão logo são submetidas ao repositório central de fontes. A integração contínua espera encontrar bugs mais rapidamente e melhorar a qualidade do software.

Já a entrega contínua sucede a integração contínua ao publicar a aplicação com as alterações para um ambiente real (produção ou pré-produção). A entrega contínua também pode ser cercada de outros testes automatizados antes de disponibilizar a aplicação para uso.

Saber de forma distinta essas etapas e a função de cada uma, otimiza cultura, ferramentas e processos.

3: Coordenação desajustada entre a Integração Contínua e Entrega Contínua.

Ter em mente a definição de cada uma, mais uma vez, se faz importante, afinal a Integração Contínua alimenta a Entrega Contínua. Por essa razão, é necessária uma esteira completa de automação bem configurada pela equipe de projeto.

O maior desafio dentro desses dois complementos é capacitar as equipes para trabalhar com estes dois objetivos.

4: Equilibrar Integração e Entrega Contínuas com a utilização de recursos

Para cada alteração feita no código pode ser disparada a esteira de integração contínua. Essa ação pode causar sobrecarga no ambiente que a executa. O mesmo vale para a esteira de entrega contínua.

Aumentar a quantidade de trabalho de forma desnecessária pode consumir recursos e tempo valiosos. Ajustar os parâmetros de disparo das esteiras é essencial para atingir um bom equilíbrio.

Planejamento é essencial, mas não em excesso

A adoção de DevOps é necessária para melhorar a sua produção, aperfeiçoando a entrega e automatizando o provisionamento de recursos. Isso aumenta a eficiência de sua empresa, sem necessariamente investir muito.

Planejar as etapas da adoção destas práticas é importante, assim como entender que se trata de uma jornada longa de aprendizado constante na qual se coleta vários frutos pelo caminho. Vários fornecedores irão apresentar soluções mágicas de DevOps embaladas em belos pacotes, mas as melhores ferramentas são de código aberto e podem (devem!) ser experimentadas à exaustão antes de serem eventualmente licenciadas.

Você já ouviu falar em Docker? É uma das ferramentas mais inovadoras da atualidade. Você duvida?! Então dê uma olhada no Ebook abaixo e veja dados excelentes sobre tecnologia e um super case da seguradora Metlife.

Esperamos que tenha gostado deste conteúdo. Até mais!