Entendendo o Processo DevOps

O que é DevOps?

Se você está seguindo nosso blog, você já sabe o que é o DevOps. Se não estiver aqui está um resumo rápido e um artigo que você pode ler sobre a cultura DevOps:

A metodologia DevOps melhora a comunicação entre os seus programadores e o Ops em projectos. Os objectivos do DevOps são os seguintes:

  • disponibilizar tempo na resolução de incidentes
  • lançar novas funcionalidades mais rapidamente
  • reduzir riscos através da automatização de processos
  • aumentar significativamente a satisfação dos seus clientes, e dos seus programadores ao mesmo tempo.

Para o fazer, estamos a falar do ciclo de feedback. É um conceito DevOps que se baseia em medir o impacto do desenvolvimento para conhecer a sua eficácia e continuar a aprender. Este ciclo de feedback é a chave para alcançar os objectivos DevOps e melhorar com sucesso o seu software e o processo da sua equipa. Ele também ajudará suas equipes a entregar código de qualidade.

feedback-loop-devops

Hoje, de acordo com a IDC, 20% dos projetos de desenvolvimento de aplicações se beneficiam de uma abordagem DevOps. Até 2021, este número aumentará para entre 35% e 40%. Não é coincidência que tantas equipes de TI estejam adotando a metodologia DevOps para o projeto.

Os princípios DevOps

Usar a metodologia DevOps dentro de sua equipe de desenvolvimento de software vai mudar radicalmente sua organização. Vai mudar a forma como sua equipe de desenvolvedores está codificando e implementando lançamentos. É baseado em 6 princípios-chave:

  • Automação
  • Iteração
  • Self-service
  • Aprimoramento contínuo
  • Testes contínuos
  • Colaboração

Automação permite que desenvolvedores e Ops simplifiquem o processo e permite que as equipes sejam mais produtivas. Como a automação reduz o número de ações manuais, melhora a qualidade do desenvolvimento e a segurança do software. Enquanto a iteração acelera o processo de desenvolvimento graças ao feedback mais rápido dos usuários finais. O self-service também acelera os lançamentos, permitindo que os desenvolvedores implantem aplicativos sob demanda por conta própria. Há uma melhoria contínua para tornar o processo mais fluido. Na verdade, após cada incidente, é parte do processo DevOps fazer um post mortem. Um post mortem está registrando cada incidente, seu impacto, as ações tomadas para corrigi-lo, a causa do problema e as ações que foram tomadas para evitar que ele aconteça novamente. Os testes contínuos permitem liberações mais rápidas e de maior qualidade ao mesmo tempo. E finalmente, mas não menos importante, a colaboração entre desenvolvedores e Ops é fundamental para combinar esforços e alcançar o sucesso mais rapidamente.

O processo DevOps

O processo DevOps consiste de uma série de passos. Aqui está um diagrama para ajudá-lo a visualizar:

devops-process

Na ordem, estão os passos do processo DevOps:

  • Plano: Esta é a parte do projeto onde você está organizando as tarefas, programando e configurando suas ferramentas de gerenciamento de projeto. A idéia é planejar as tarefas usando o processo de história do usuário a partir da metodologia ágil. Escrever tickets na forma de uma user story permitirá aos desenvolvedores e Ops entender o que o desenvolvimento precisa ser feito e por quê. Uma história de usuário perfeita como um quê (quem, onde, acionar), um porquê e critérios de aceitação. (Exemplo: Como usuário, na minha conta de cliente, quando clico em “opção” abro um popup e posso mudar meu nome e primeiro nome).
  • Código: Aqui os desenvolvedores estão fazendo desenvolvimento de código e revisão de código. Quando o código está pronto, eles o fundem. Na prática do DevOps, é importante compartilhar uma ferramenta de código entre as equipes de Ops e desenvolvedores como Github ou Gitlab.
  • Build: Este passo é o primeiro em direção à automação. O objetivo aqui é compilar o código fonte em um formato desejado, compilando, testando e implantando em um determinado lugar da infra-estrutura. Uma vez que esta etapa configura as ferramentas de integração contínua (CI) e entrega (CD) podem checar e verificar o código-fonte a partir do Gerenciamento do Código-Fonte e compilá-lo.
  • Test: O processo de testes contínuos reduz os riscos. Testes automáticos garantem que nenhum bug será implementado na produção. Você tem que implementar ferramentas de teste no seu fluxo de trabalho para garantir a melhor qualidade de desenvolvimento para o seu software.
  • Lançamento: O código passou no processo de teste (integração contínua) e está pronto para ser implantado.
  • Implantação: A equipe operacional está implantando o novo recurso em produção. Mas como a automação é um dos princípios do DevOps, é possível configurar a implantação contínua.
  • Operar/ configurar a infra-estrutura: As Ops constroem ou mantêm uma infra-estrutura escalável, infra-estrutura como código e verificam problemas de segurança e gerenciamento de logs.
  • Monitorar: O monitoramento é um passo importante pois permite corrigir incidentes mais rapidamente e criar uma melhor experiência para o seu usuário final.

Como o DevOps visa aumentar significativamente a satisfação de seus clientes, naturalmente suas equipes começam novamente os passos com um novo recurso para o seu software ou aplicativo. É por isso que sempre desenhamos o DevOps como um loop infinito.

Implementando DevOps em sua equipe

Se sua equipe ainda não implementou um processo DevOps ou mesmo um processo Agile, pode parecer confuso, especialmente porque significa mudar não só a organização mas também a cultura de sua equipe.

Para introduzir o DevOps na sua equipe você tem que tomar seu tempo, vá passo a passo, não se apresse. Aqui está como implementar gradualmente esta nova cultura e organização:

  1. Comece por mudar a mentalidade das suas equipas. Sem ferramentas, o processo DevOps não pode existir, mas não é suficiente, desenvolvedores e Ops devem entender e estar interessados no trabalho uns dos outros. Em resumo, desenvolvedores e Ops devem aprender a colaborar.
  2. Implemente um processo de desenvolvimento ágil. A maioria dos projetos DevOps usam as metodologias Scrum ou Kanban do Agile.
  3. Para ser capaz de fazer o quarto passo, você deve adotar a computação em nuvem (Private, Public ou Hybrid Cloud).
  4. Automatize a implantação do seu software graças à integração contínua (CI) para que os desenvolvedores possam empurrar um novo recurso facilmente.
  5. Utilizar testes contínuos de software para reduzir riscos.
  6. Implementar implantação contínua (CD), menos ações manuais existem, mais rápido você pode implantar novas versões em produção.

Cuidado que adicionar esses processos irá mudar sua organização e criar novas necessidades. Por exemplo, sua equipe pode precisar de treinamento para as novas ferramentas DevOps que foram implementadas.

Você alcançará o verdadeiro ambiente DevOps quando seu processo de desenvolvimento for tão automatizado e ágil quanto possível. Se tiver dúvidas sobre uma das etapas do processo, não hesite em contactar-nos. Nouveau call-to-action

Deixe uma resposta

O seu endereço de email não será publicado.