Atualmente, cada vez mais as empresas entendem a importância de adotar os processos e métodos DevOps em seus projetos de desenvolvimento de software, acelerando os os ciclos de entrega e ajudando a aumentar a produtividade.
DevOps é uma combinação de dois termos: desenvolvimento e operações. Tradicionalmente, esses dois setores ficavam isolados e isso costumava criar problemas. Por exemplo, poderia atrasar o lançamento de um software ou a realização de testes mais eficazes.
“Para muitas grandes empresas que têm aplicativos e serviços abrangendo mainframes, nuvem e tudo mais, a complexidade e inúmeras dependências podem atrapalhar a velocidade”, disse Margaret Lee, líder de Operações de Serviços Digitais da BMC Software. “Isso cria resultados incertos, imprevisíveis e, em alguns casos, não esperados.”
Então, qual a importância do DevOps no desenvolvimento de software e como ele pode ajudar? Bem, trata-se de ter uma abordagem mais colaborativa, assim como tem um foco na agilidade.
“Os desenvolvedores estão contribuindo para o gerenciamento de implementação e produção, ao invés de apenas programar e se livrar do software, passando o trabalho adiante à equipe de operações”, disse Matt Groves, CMO da Couchbase. “Isso está removendo as barreiras entre os desenvolvedores e a área de operações.”
A importância do DevOps também como cultura
Para se ter uma ideia do poder transformador do DevOps, dê uma olhada na Liberty Mutual Insurance – classificada no 71º lugar no ranking da Fortune 500 e é a sexta maior seguradora de propriedades e acidentes pessoais do mundo.
Por outro lado, a empresa possui uma infraestrutura complexa de TI que inclui muitos sistemas legados. Então, cinco anos atrás, a companhia iniciou uma transição para implementar DevOps voltada para seus mais de 5.000 funcionários de tecnologia.
“Com a implementação do DevOps, nossa equipe agora está implantando códigos 200 vezes mais rápido, criando mais estabilidade, o que nos permite experimentar mais e lançar novos produtos e recursos em um cronograma muito mais ágil”, disse Justin Stone, diretor de Plataformas DevOps da Liberty Mutual Insurance.
“Fundamentalmente, o DevOps capacita cada um dos desenvolvedores a rodar e gerenciar a entrega de um aplicativo ou software de ponta a ponta, eliminando a confusão em torno da propriedade. Isso leva todos eles a uma única infraestrutura automatizada e gerenciada pelo desenvolvedor.”
Lembre-se de que DevOps não se trata apenas de criar um software. Em vez disso, o objetivo principal é mudar a cultura de uma organização – e, claro, isso não é uma tarefa fácil.
“DevOps tem tudo a ver com pensamento em nível de sistema, olhando para o processo de entrega de valor de ponta a ponta, e não para silos individuais de desempenho”, disse Bruno Kurtic, que é o vice-presidente fundador de estratégia e soluções da Sumo Logic. “Por conta disso, uma boa comunicação e o alinhamento a metas compartilhadas e mensuráveis são essenciais.”
Atualmente, existem várias metodologias de apoio ao processo de DevOps. Talvez o mais popular seja o Ágil, que envolve pequenas equipes que desenvolvem aplicativos em blocos (digamos, a cada duas semanas ou mais), e cada um deles se torna um item de user stories. A ideia é que o programa seja construído e testado em pequenos segmentos, obtendo feedback contínuo dos clientes e que o desenvolvedor não seja soterrado pela criação de um programa “big bang”.
Outra abordagem popular é o Kanban, em que um quadro divide um projeto em determinadas categorias, como tarefas, requisitos da user story, testes e assim por diante. Isso gera um controle mais visual do progresso de desenvolvimento.
A importância do DevOps na automação e na inovação
A automação é outro fator importante para DevOps. Existem muitas ferramentas robustas que podem levar a grandes avanços na produtividade, como orquestração, ambiente de teste, testagem, implementação e rastreamento.
“Não reescreva o código que você pode replicar por meio da automação”, disse Stephen DeWitt, CEO da CloudBees. “Se há uma coisa que os desenvolvedores odeiam, é sobrecarga de trabalho. Com a automação, você pode remover os obstáculos, o trabalho manual e a fadiga, que é frustrante e retira tempo para escrever códigos. Quando os desenvolvedores gastam seu tempo em tarefas de baixo valor, eles não são desafiados e vão embora. Esses profissionais são caros de se manter, mas eles são ainda mais caros de se contratar e integrar na empresa.”
Uma vez que a mudança cultural é fundamental, a jornada de DevOps deve ser feita com planejamento e cuidado. “Adotamos uma abordagem de “engatinhar, caminhar e correr”, introduzindo alguns marcos de qualidade comuns e pré-requisitos para implantações automatizadas”, diz Christine Hales, VP de Tecnologia da Capital One.
“Quando começamos, tivemos que confiar na integração manual e na validação de dados após o fato. A partir daí, temos trabalhado continuamente em automação para reduzir o erro humano e simplificar a verificação e a conformidade. Como resultado, conseguimos acelerar o volume de inovações para os clientes.”
(Este conteúdo é de autoria de Tom Taulli, colunista da Forbes e autor de “The Robotic Process Automation Handbook: A Guide to Implementing RPA Systems”, e foi traduzido e adaptado pela UDS Tecnologia do original “DevOps: What you Need to Know”)