Neste post, você vai entender de forma rápida e simples o que é Devops e quais as vantagens da sua implementação. Por muito tempo, o processo de software andou distante das operações, resultando em equipes divergentes que tinham dificuldades em entregar resultados que estivessem alinhados à estratégia da empresa. O processo de software invariavelmente resulta em um produto complexo com várias linhas de código, testadas por diferentes membros em uma equipe e que precisam de semanas para um ambiente de teste ser preparado. Posteriormente, a aplicação é repassada para produção e caso algum problema seja encontrado ou mudança seja necessária, todo um processo lento e burocrático é demandado para que esta mudança seja realizada.
O DevOps traz consigo várias práticas. Práticas que antes eram realizadas de forma manual e separada, hoje, buscam transformar de modo automatizado o processo de desenvolvimento e entrega de software e torná-lo um processo único. Entre tais práticas está a integração contínua, que tem como objetivo integrar código, realizar testes e entregar software de forma automática utilizando ferramentas específicas, por exemplo, o Jenkins.
Em um ambiente DevOps todos são responsáveis pelo processo de entrega. Assim, pode-se entender o DevOps como uma grande ferramenta de integração de processos que antes eram entendidos como separados, ou seja, onde membros trabalhavam de forma individualizada e após a adoção da cultura DevOps, passa-se a se tornar parte de um processo ágil e contínuo, que vai desde o planejamento e requisitos até a entrega
contínua de software.
A automação é a chave para o sucesso do DevOps, desde tornar automático programar builds a partir de repositórios de gerenciamento de versões; testes de unidade, testes de integração e testes de sistemas; automatizar entrega de software em ambiente de testes e produção. Para o correto funcionamento dessas ferramentas em um ambiente ágil de desenvolvimento é necessário um processo de entrega de software bem definido e que os membros participem do processo de forma ativa.
Vantagens do DevOps
As organizações que adotam a cultura do DevOps tem o potencial de alcançar um diferencial competitivo acima da média, não só por produzir software com melhor qualidade e robustez, mas por ter um processo de integração definido que motiva a equipe de Operações e Desenvolvimento e quebra antigos paradigmas. Dessa forma, o conceito de DevOps pode ser entendido como um movimento cultural combinado com tecnologia e
processos de desenvolvimento ágeis.
Enquanto o desenvolvimento ágil e o baixo custo lideram os benefícios na adoção da cultura DevOps quando visto como um todo, a lista de benefícios para equipes de desenvolvimento de software é bem diferente, veja:
- Melhoria do suporte operacional e rápida resolução de erros
- Bons processos entre a TI e as equipes de desenvolvimento, incluindo automação
- Acréscimo de flexibilidade e agilidade para a equipe
- Equipe mais feliz e engajada
- Um maior trabalho colaborativo
- Troca de conhecimento e auto-aperfeiçoamento.
- Ambientes de desenvolvimento bem definidos e padronizados por automação
O benefício que mais vivenciei na implementação de uma cultura DevOps no Laboratório de Engenharia de Software da UFPA foi o “equipe mais feliz e engajada” onde o processo conseguia fluir sem muitas dificuldades, e quando apareciam erros, maior parte da equipe se engajava em resolvê-los.