Definição e recursos para implantação do DevOps

E para enriquecer mais o conceito sobre DevOps postado anteriormente, hoje nós iremos avaliar as definições dessa cultura para algumas das grandes empresas no setor de TI e os recursos comuns em sua implementação. Como as grandes empresas de TI definem o DevOps:

  • Microsoft: O DevOps permite que funções anteriormente isoladas - desenvolvimento, operações de TI, engenharia de qualidade e segurança - coordenem e colaborem para produzir produtos melhores e mais confiáveis. Ao adotar uma cultura DevOps junto com as práticas e ferramentas do DevOps, as equipes ganham a capacidade de responder melhor às necessidades dos clientes, aumentar a confiança nos aplicativos que eles constroem e alcançar objetivos de negócios mais rapidamente. (O QUE É DEVOPS, MICROSOFT)
  • Google: O DevOps é um movimento organizacional e cultural que visa aumentar a velocidade de entrega de software, melhorar a confiabilidade do serviço e criar propriedade compartilhada entre as partes interessadas no software. (O QUE É DEVOPS?, GOOGLE).
  • Garnet: O DevOps representa uma mudança na cultura de TI, com foco na entrega rápida de serviços de TI através da adoção de práticas ágeis e enxutas no contexto de uma abordagem orientada ao sistema. O DevOps enfatiza as pessoas (e a cultura) e procura melhorar a colaboração entre as operações e as equipes de desenvolvimento. As implementações do DevOps utilizam tecnologia - especialmente ferramentas de automação que podem alavancar uma infraestrutura cada vez mais programável e dinâmica da perspectiva do ciclo de vida. (GLOSSÁRIO DEVOPS, GARNET).

Como todas as culturas de trabalho, o DevOps é adotado e aplicado de diferentes maneiras em cada empresa, já que não existem processos definidos que devam ser seguidos. No entanto, certos recursos são comuns em quase todas as implementações de DevOps, como:

Colaboração: Os conflitos e a rivalidade entre os diversos colaboradores no ciclo de criação de um software são um dos principais catalisadores para a criação do DevOps. Em vez de as equipes de desenvolvimento e operações assumirem uma postura de só olhar para o seu próprio trabalho e encarar o resto como inimigo, elas se esforçam para colaborar visando desenvolver empatia entre elas e um trabalho eficaz em equipe.

Automação: O DevOps é voltado para facilitar a entrega rápida de um projeto de desenvolvimento ágil. Portanto, é fortemente dependente da automação. Isso significa confiar em várias ferramentas que automatizam o ciclo de desenvolvimento e implantação de aplicativos.

Integração contínua: A integração contínua (IC) envolve ter um repositório de códigos compartilhado e centralizado e direcionar todas as alterações e recursos por meio de um pipeline complexo antes de integrá-los a um repositório de código central. Um pipeline de integração continua padrão aciona uma compilação sempre que ocorre uma confirmação de código, executa os testes de unitários e todos os testes de pré-integração, cria o artefato (uma versão do software) e envia o resultado para um repositório de gerenciamento de artefatos.

Implantação Contínua: A implantação contínua é uma extensão da integração contínua. Toda mudança que passa em todos os estágios do seu pipeline de integração contínua é liberada automaticamente no seu ambiente de pré-produção. Nesse processo, não há necessidade de decidir o que será implantado e quando. O pipeline implantará automaticamente quaisquer componentes que saiam com êxito do pipeline.

Teste Contínuo: Falha no software é caro, como na medicina, curar é muito mais caro e traumático do que prevenir. Entregar uma versão do sistema que impacta negativamente a experiência dos usuários ou introduz novos riscos seria muito prejudicial a qualquer organização. Os testes contínuos garantem o equilíbrio certo entre a qualidade do software e a rápida implantação. No DevOps, o teste de software não é algo deixado para uma pessoa ou equipe, pelo contrário, é responsabilidade de todos. Como os testes devem ser executados rapidamente para evitar que novas mudanças influenciem negativamente os sistemas em produção, o processo de teste deve ser automatizado o máximo possível. Esse recurso, alinhado com a colaboração e automatização, permite que a implantação continue rode sem problemas.

Feedback Contínuo: Dada a velocidade e o número de lançamentos, é imprescindível ter uma solução que forneça monitoramento contínuo para permitir uma resposta rápida e melhor às mudanças nas necessidades dos clientes. O monitoramento contínuo permite que a equipe do DevOps rastreie o desempenho do software e melhore sua estabilidade. Os problemas são identificados rapidamente e as causas principais investigadas proativamente para evitar interrupções e tempo de inatividade.

Em resumo, o DevOps é um assunto extenso e mais do que apenas uma questão de automatizar processos e comprar ferramentas caras. O maior obstáculo para a maioria das organizações é subestimar a mudança cultural e de mentalidade necessária para fazer o DevOps funcionar. Pode-se comprar ferramentas de automação, adquirir ferramentas, mas o que importa é a mudança na cultura e nas pessoas, nos quais as organizações fariam bem em se concentrar.

Referência:

Global Development to Operations Devops Market, Grand View Research, Disponível em: https://www.grandviewresearch.com/press-release/global-development-to-operations-devops-market , 2018

Humble J., Willis J. , Debois P., Manual de DevOps: Como Obter Agilidade, Confiabilidade e Segurança em Organizações Tecnológicas, 2018

O que é DevOps, Microsoft, Disponível em: https://azure.microsoft.com/pt-br/overview/what-is-devops

Glossário Devops, Garnet, Disponível em: https://www.gartner.com/en/information-technology/glossary/devops

O que é DevOps? , Google, Disponível em: https://cloud.google.com/devops/?hl=pt-br