Os desafios na adoção do DevOps

Os desafios na adoção do DevOps

Muitas corporações, pequenas ou grandes, já implementaram ou mudaram para adotar práticas DevOps em seu dia a dia, buscando melhorar a produtividade, o fluxo de trabalho ou ter  maior retorno sobre o investimento.

O DevOps incentiva a colaboração, comunicação, entrega de valor entre equipes de desenvolvimento e operações em todos os estágios do Ciclo de Vida do Desenvolvimento de Sistemas (do inglês SDLC – systems development life cycle).

A integração desses times permitirá trabalhar por um objetivo comum: a entrega de um sistema rápido, eficiente e seguro.

Uma avaliação DevOps em sua instituição o ajudará a entender quais passos tomar para ter maior retorno sobre o investimento, fazendo com que sua área de negócios responda mais rápido e atendendo às necessidades da empresa.

O objetivo do DevOps é entregar automação e integração, porém sua implementação pode ser desafiadora em algumas companhias. Substituir métodos antigos por novas técnicas ou processos é uma tarefa difícil de alcançar.

Vamos dar uma olhada em certos obstáculos comuns na adoção do DevOps e algumas maneiras de vencê-los durante sua implementação.

Infraestrutura tradicional para cloud ou microsserviços

Pode ser um grande problema, mesmo tendo servido por anos para uma organização, mas com o tempo ela começará a ter problemas com a falta de suporte, estabilidade e segurança.

O fato é que se ainda usa uma infraestrutura tradicional, você já está muito desatualizado e ficará para trás na corrida do crescimento exponencial das organizações modernas.

Para saber se a sua é tradicional, devemos considerar algumas questões:

  1. Ela expande ou retrai conforme a demanda dos seus clientes ou usuários de maneira automática?
  2. Ela tem automação e resiliência para suportar de modo automático uma queda de uma região ou datacenter?
  3. Seu time de operações consegue entregá-la para a equipe de desenvolvimento de forma automática e segura?
  4. Seu time de operações tem a infraestrutura escrita como código, usando tecnologias para automatizar o deploy em caso de necessidade?

Se respondeu "não" a qualquer uma das perguntas acima, sua infraestrutura é tradicional. Se disse "sim" a todas, pule para o próximo tópico.  

Caso esteja utilizando um Cloud Service Provider como AWS, Azure ou Google Cloud, não se deixe enganar por achar que suas operações atendem aos requisitos contemporâneos.

Organizações modernas e altamente competitivas devem estar preparadas. Com a realidade dos microsserviços, ter uma infraestrutura que responda na velocidade que o negócio demanda é fundamental para uma boa estratégia.

Ferramentas de integração de domínios distintos

É um dos pilares do DevOps. Todas elas precisam ser integradas para os testes, validações, implantação e construção do ambiente de forma adequada para que funcionem juntas e de maneira contínua.

O desafio é realizar o funcionamento de modo colaborativo, trazendo a eficiência e a segurança necessária.

No momento de escolher as ferramentas, aspectos técnicos, de negócio, integração, entre outras características, são fundamentais para o sucesso.

Mudança dos processos atuais para processos ágeis

O melhor método de identificar ineficiência é mapear e descobrir o que está e o que não está funcionando.

Podemos começar por onde identificamos o desperdício de recursos, o esgotamento ou a falta de entrega de valor adequado.

Alguns gestores, equipes ou áreas podem ser resistentes à implantação de mudanças e isso causará atraso desnecessário ao negócio e à organização em geral.

Importante notar que não são apenas os desenvolvedores de softwares os responsáveis por avaliar seus processos e se estão adequados para eles.

O DevOps combina as equipes de desenvolvimento de software, operações e outras áreas da empresa interessadas na TI para atingir os objetivos em comum do negócio e entregar ao mercado algo mais rápido e com maior qualidade.

Stacks de ferramentas para desenvolvedores e operações

Um dos maiores desafios do DevOps são as milhares de ferramentas existentes para equipes de desenvolvimento e operações. Identificar cada uma delas, suas funcionalidades e características é fundamental para uma boa integração desses times.

Dar autonomia aos grupos de desenvolvimento e operações sem uma estratégia claramente definida é como construir um castelo de cartas com dois times separados: enquanto um iniciará pelo topo, o outro começará pela base. Depois deverão movê-los e conectá-los para formar o castelo. Isso não existe!

Para tudo funcionar corretamente, as stacks devem ser bem escolhidas e integradas, suprindo as necessidades de ambos.

Novas ferramentas

Todos os dias elas surgem e parecem resolver qualquer problema. Podemos ter todas, mas é fundamental que os grupos sejam bem treinados e possam utilizá-las de maneira correta e eficiente.

Uma condição essencial é que essas ferramentas atendam aos requisitos de segurança, sejam integradas ao sistema atual, fazendo que a companhia não desvie seu foco para um incidente de segurança.

Além disso, uma boa estrutura e um bom time são indispensáveis para o sucesso do DevOps. O progresso da equipe vai melhorar se a organização for bem planejada.

Uma instituição deve focar pessoas em vez de ferramentas. Ao mudar para o DevOps, os membros de uma equipe são os mais críticos nesse processo.

Surgirão muitos problemas graves se eles não forem treinados do modo correto para o uso das ferramentas.

Resistência à mudança

Pode ser assustadora para alguns, inclusive os principais interessados. Dizer que alguém precisa mudar pode ser encarado como um feedback ruim por ele.

A mudança para DevOps não será de um dia para o outro, mas ocorrerá gradualmente. Como as pessoas participarão, lentamente elas irão absorver o conceito.

Com o passar do tempo, os integrantes começam a absorver a cultura DevOps e passam a contribuir para a adoção na organização, até que eles comecem a cooperar, da sua forma, para que o produto evolua, a cultura continue a crescer e a organização como um todo comece a se beneficiar.

Experimentar… experimentar a cultura e novos processos em um grupo reduzido, com um produto pequeno ou parte de um aplicativo é uma excelente forma de criar a cultura DevOps dentro da corporação.

Se a equipe puder ver os benefícios da cultura DevOps, outras irão perceber e compartilhar as experiências em um ambiente saudável ajudará outros grupos a também desejarem adotar a cultura.

Isso vai favorecer para que as organizações entrem no DevOps, continuem crescendo e se modernizando.

Conclusão

Vimos diversas situações e características que ameaçam o sucesso da adoção do DevOps nas empresas. Se você deseja adotá-lo, busque as melhores maneiras de aderir a essa cultura, modernizar-se frente aos seus concorrentes, mas faça isso com paciência, suporte e comprometimento necessários para o sucesso.