Apresentada como uma revolução nos bastidores da tecnologia, a metodologia conhecida como DevOps é um dos principais ingredientes do sucesso de startups e empresas baseadas em computação na nuvem – mais que apenas maior produtividade, esta nova forma de organizar departamentos promete reduzir custos, conflitos e ainda evitar falhas no produto final.

O termo DevOps surgiu em meados de 2009, derivado dos eventos ‘DevOpsDay’ realizados em todo o mundo desde esse ano. Propondo técnicas a fim de agilizar a comunicação entre setores empresariais, os eventos disseminaram uma cultura baseada na união e cooperação entre diferentes equipes duma mesma empresa.

Com o avanço da computação baseada na nuvem, por exemplo, várias organizações de médio e pequeno porte se viram unindo suas operações a instâncias virtuais administradas por equipes cada vez menores. Embora esta seja uma forma conhecida de reduzir os custos de operação, muitos administradores entendem que ela tensiona ainda mais os conflitos entre equipes de infraestrutura e desenvolvimento.

É justamente para evitar esses conflitos que a metodologia DevOps foi criada com base nos seguintes preceitos:

Controlar a qualidade do produto desde a produção inicial

Inspirada nos métodos arcaicos da produção em série, a elaboração de um software sempre dividiu os processos de criação e controle de qualidade; buscando unificar essas duas fases e evitar falhas na comunicação entre elas, a cultura DevOps indica que o controle de qualidade de um produto deve ser feito pelo mesmo grupo que o constrói desde seu início.

Esse tipo de produção exige agilidade, facilidade de comunicação e eficiência de todos os envolvidos – tanto as esquipes de infraestrutura quanto as de desenvolvimento precisam ver um só objetivo: entregar o produto ao cliente dentro do prazo e com a qualidade desejada.

Buscar a inovação e agregar cada vez mais recursos às aplicações

Esta parte todo mundo já sabe, certo? Errado: durante anos de operações fragmentadas em fases de produção sem comunicação, tanto os setores de desenvolvimento quanto os de infraestrutura brigaram entre si para atualizar um software sem perder tanto tempo na resolução de problemas.

Novamente visando a união entre essas duas partes do processo, o DevOps afirma que os ambos objetivos são correlatos, principalmente porque um produto que não se atualiza conforme o mercado ou seus concorrentes se torna falho logo em seu núcleo.

Assim, é necessário que as duas equipes – ou até mesmo a única equipe – colabore entre si para agilizar a adoção de novos recursos e a validação de qualidade em cada um deles.

Investimento em automação e infraestrutura tecnológica

Por ser focada em reduzir custos financeiros e temporais, além de aumentar a qualidade do produto final, a cultura DevOps exige que haja bastante investimento na automação dos processos – economizar pessoal em replicabilidade de tarefas significa poder investir mais no desenvolvimento, por exemplo.

Reduzir muito a incidência de erros também é uma das vantagens de se investir em automação. Startups que costumam ter capital e equipes limitadas também podem se aproveitar da automação virtual de processos – aquela feita na nuvem – para economizar gastos e gerir melhor os seus funcionários.

Uma metodologia que também evoluiu

Assim como seus próprios princípios recomendam, a cultura DevOps também evoluiu com o tempo e passou a admitir outros conceitos mais recentes: comumente comparada com a mudança da produção em massa em direção a produção sob demanda (just-in-time), ocorrida na indústria automotiva, a metodologia centraliza a cautela e a mediação nos administradores de grandes sistemas.

É necessário que o gerente de todas as equipes saiba preencher os eventuais gargalos que persistirão entre cada fase. Já nas ‘técnicas de desenvolvimento ágil’, consideradas ultrapassadas pelos entusiastas do DevOps, não é incomum que quem administre os departamentos apenas exija bons resultados.

Embora esteja sempre com o objetivo de aumentar a velocidade e a qualidade das aplicações, uma das práticas adotadas na produção just-in-time – e que foi portada para o modelo DevOps – é o aumento dos aperfeiçoamentos em detrimento das grandes revoluções: em suma, lança-se mais atualizações pequenas e assim os intervalos entre cada versão é reduzido.

Num modelo de aplicativos integrados a web e em constante dinamismo, lançar mais e menores atualizações torna mais fluido o funcionamento da companhia como um todo. Apesar de ter sido criada com os produtos em mente, a ideia mais frequentes e menores operações pode ser adaptada a qualquer processo da produção de um software.

Os resultados da adoção desse sistema

A adoção recente das práticas DevOps no cotidiano das empresas não significa que estas não estejam dando resultados já na atualidade – pesquisas realizadas por entidades como a F5 Networks indicam que a tática tem diferentes usos e níveis de eficácia para cada tipo de negócio, sendo mais eficaz na produção de softwares com base na nuvem.

(Dados: Puppet)

Por se tratar de mudanças importantes no funcionamento das corporações, muitos empreendedores optam por adotar apenas algumas partes dessa filosofia; como é o caso da automação sendo utilizada para o aumento da escalabilidade e a redução dos custos, mas que não afeta a criação e validação das aplicações.

Por fim, fica claro que a introdução da metodologia DevOps no seu negócio – ou até mesmo no seu ambiente de trabalho – constitui-se da adoção de diferentes práticas, todas com o objetivo de construir um produto final mais eficiente. Em troca, as mesmas práticas exigem custos normalmente baixos, como uma maior cautela e sensibilidade por parte dos gerentes de cada time, além de investimentos precisos nas áreas que podem entregar maior produtividade.

Sendo você parte de uma empresa de TI ou não, é recomendável o estudo dessas práticas para melhorar o resultado final do seu trabalho.