DevOps

Atualmente, o DevOps se tornou uma palavra da moda em TI, já que cada vez mais as organizações estão introduzindo técnicas de desenvolvimento de software ágeis e Lean para aumentar o ritmo dos entregáveis no desenvolvimento de software e melhorar a qualidade do software. De acordo com um estudo realizado pela Grand View Research (GRAND VIEW RESEARCH, 2018), o tamanho do mercado de DevOps deverá atingir 12,85 bilhões de dólares até 2025, registrando um CAGR (taxa de crescimento anual composta) de 18,6% durante o período de previsão, mostrando a relevância que ele terá durante os próximos anos.

Devops tem seu nome da junção de dois termos do ciclo de vida de um software, desenvolvimento e operação. Desenvolvimento que inclui todas as fases para construir um sistema, como levantamento de recursos e requisitos, projeto, desenvolvimento de código, testes e documentação. E operação, que fica responsável pela implantação e por manter o seu funcionamento em produção. Como a criação do seu nome implica, um dos seus principais princípios é modificar a cultura para aproximar a equipe de desenvolvimento com os outros profissionais de TI, facilitando a automação da entrega de aplicativos e dos processos de TI. O DevOps busca quebrar a divisão entre as equipes de cada etapa de um ciclo de desenvolvimento de software, criando equipes multidisciplinares e com mais afinidade.

O DevOps e suas práticas, técnicas e cultura são uma culminação de muitas metodologias de gerenciamento, é resultado de vários movimentos e isso mostra uma incrível progressão de pensamentos e conexões improváveis. Há décadas de lições aprendidas de indústria, organizações de alta confiabilidade, modelos de gerenciamento de alta confiança e outras que contribuíram para o estado da arte do DevOps atualmente.

Em 2008, iniciou-se uma discussão entre Patrick Debois e Andrew Clay Shafer sobre o conceito de infraestrutura ágil. No entanto, a ideia só começou a se espalhar em 2009 com o advento do primeiro evento DevOpsDays realizado na Bélgica. Começou com o desejo de trazer mais eficiência ao desenvolvimento de software e evoluiu para um sistema orientado a feedback, projetado para modificar todos os aspectos do desenvolvimento de software, desde a codificação aos os vários stakeholders (partes interessadas) e até a implantação.

Para melhor entendermos o conceito de DevOps é valido olharmos o acrônimo CALMS, criado por Jez Humble em seu livro Manual de DevOps (HUMBLE, WILLIS e DEBOIS, 2019), que é reconhecido por representar as questões necessários que precisam ser trabalhadas para se obter uma verdadeira cultura DevOps em seu negócio. A siglas CALMS representam as primeiras letras de:

  • Culture (Cultura): Considerado como a letra mais importante e que mostra que DevOps não é apenas uma ferramenta. A cultura percorre por questões fundamentais, como o relacionamento entre os integrantes da equipe de Desenvolvimento e Operações, uma premissa básica do DevOps. Antes que as barreiras de um novo paradigma possam ser quebradas, é necessário ter uma cultura de responsabilidade compartilhada, ou ao menos um grupo de pessoas dedicadas a implementar essa cultura, com aprovação e apoio da gerência.
  • Automation (Automação): As equipes que realizam uma transformação de DevOps devem buscar a automatização do maior número possível de tarefas manuais, dando maior atenção em relação à integração contínua e à automação de testes, reduzindo a probabilidade de erros e garantindo a qualidade dos entregáveis.
  • Lean: Além da cultura e automação há uma necessidade de atacar os gargalos nos processos do ciclo de vida de um software. As equipes de desenvolvimento estão usando princípios Lean para ser mais eficiente e otimizar o fluxo de valor, como minimizar o trabalho que se encontra em progresso, tornar o trabalho visível e reduzir a complexidade da transferência e os tempos de espera.
  • Measurement (Medição): A organização dedica-se a coletar dados sobre seus processos, implantações etc., a fim de entender seus recursos atuais e onde as melhorias podem ser alcançadas. Sem esse fator, não tem como saber se as medidas anteriores estão surtindo os efeitos necessários, além de ser fundamental para a geração de feedbacks e gerar previsibilidade ao processo.
  • Sharing (Compartilhamento): Uma cultura de descentralização de conhecimento e compartilhamento dentro e entre equipes mantém todos trabalhando para os mesmos objetivos e facilita a resolução de problemas. Ter esse fator implementado, a saída ou ausência de um colaborador não impacta no funcionamento do fluxo, garantindo que ele seja autossustentável.

Em breve falaremos mais sobre a definição de DevOps pelas grandes empresas no setor de TI e os recursos comuns na implementação de DevOps. Não perca, acompanhe nosso blog e redes sociais.

Referência:

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

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