Explicação do ciclo de vida e pipeline de DevOps

Tudo o que você precisa saber

12 de março. 5 minutos de leitura

Se você está procurando informações sobre o ciclo de vida de DevOps, este artigo é para você. Você também pode estar procurando informações sobre o pipeline ou fluxo de trabalho de DevOps e, dependendo de quem está explicando DevOps, os termos ciclo de vida, pipeline e fluxo de trabalho podem ser utilizados de maneira intercambiável. No entanto, os termos ciclo de vida de DevOps e pipeline de DevOps têm maior probabilidade de serem utilizados do que fluxo de trabalho de DevOps.

Este artigo explica o termo ciclo de vida de DevOps antes de abordar o pipeline de DevOps.

Explicação do ciclo de vida e pipeline de DevOps

DevOps é uma estrutura que promove uma colaboração mais próxima entre as equipes de desenvolvimento e operações (conforme mostrado no “loop infinito” do ciclo de vida de DevOps abordado a seguir) e a automação em todo o ciclo de vida de DevOps.

O ciclo de vida de DevOps é um conjunto de práticas e etapas que facilitam a integração contínua, entrega contínua e implantação rápida de software. Onde:

  • A integração contínua envolve a integração regular de mudanças de código de vários desenvolvedores em um repositório central, seguida por compilações e testes automatizados.
  • A entrega contínua baseia-se na integração contínua, automatizando o processo de versões de software para que os desenvolvedores possam implantar aplicações em produção de uma maneira confiável e eficiente.

Coletivamente, a integração contínua e entrega contínua são frequentemente indicadas pela sigla IC/EC.

O termo “pipeline de DevOps” pode referir-se ao conjunto de processos e ferramentas automatizados utilizados para facilitar a entrega contínua de softwares. Ele é mais um conceito técnico e orientado por ferramentas do que o ciclo de vida de DevOps. Portanto, o ciclo de vida de DevOps tem um escopo mais amplo, incluindo o pipeline de DevOps e mudanças culturais e operacionais que ele traz.

O “loop infinito” do ciclo de vida de DevOps

O “loop infinito” do ciclo de vida de DevOps, mostrado abaixo, é utilizado para articular como as oito fases do ciclo de vida de DevOps fluem.

O loop infinito do ciclo de vida de DevOps

O lado esquerdo do loop infinito de DevOps denota as fases de desenvolvimento e o lado direito mostra as fases de operações.

Também há variantes desse loop infinito do ciclo de vida de DevOps. Por exemplo:

  • Ele pode ser desenhado com menos fases
  • As fases podem ser nomeadas ou até posicionadas de maneira diferente
  • Fases adicionais podem ser incluídas — por exemplo, “descoberta” ou “feedback contínuo”.

O ciclo de vida de DevOps também pode ser representado como um círculo (em vez de um loop infinito). O conteúdo do ciclo de vida DevOps deste blog/artigo reflete o loop infinito mostrado acima.

As oito fases do ciclo de vida de DevOps

As oito fases mostradas no loop infinito do ciclo de vida de DevOps acima são:

  • Planejar - esta fase inicial envolve a definição dos objetivos e escopo. As equipes de desenvolvimento e operações (caso separadas) colaboram para entender os requisitos, definir prioridades e planejar o fluxo de trabalho.
  • Codificar - os desenvolvedores escrevem o código para criar recursos, corrigir bugs ou melhorar o software existente. Sistemas de controle de versões como o Git são utilizados para gerenciar e rastrear mudanças na base do código.
  • Construir - o código escrito é compilado ou transformado em programas executáveis. Ferramentas como Jenkins, Maven ou Gradle são utilizadas.
  • Testar - uma vez que o software for construído, testes rigorosos são realizados para identificar e corrigir defeitos. Isso pode incluir testes unitários, de integração, de sistema e de aceitação do usuário. Ferramentas de teste de automação, como Selenium ou JUnit, são utilizadas.
  • Liberar - esta é a preparação para implantação da aplicação no ambiente de produção. Ela frequentemente inclui a garantia de qualidade final, planejamento da liberação e programação.
  • Implantar - o novo código é movido para o ambiente de produção. Tecnologias como ferramentas de orquestração de contêineres (por exemplo, Kubernetes) e ferramentas de gerenciamento de configuração (por exemplo, Ansible, Puppet e Chef) são utilizadas.
  • Operar - uma vez implantado, manutenção e suporte contínuos são necessários. Por exemplo, monitorar o desempenho das aplicações, garantir a disponibilidade e implementar atualizações ou patches.
  • Monitorar - o monitoramento contínuo rastreia o desempenho da aplicação, identifica problemas e coleta o feedback do usuário. Ferramentas como Prometheus, Nagios ou Splunk são utilizadas. Os insights e feedback capturados são utilizados para tomar decisões fundamentadas sobre melhorias futuras, e esse ciclo de feedback é fundamental para a natureza iterativa do DevOps.

Diagramas de pipeline de DevOps

Conforme já mencionado, o termo pipeline de DevOps pode ser utilizado de maneira intercambiável com ciclo de vida de DevOps ou para denotar um subconjunto baseado em ferramentas do ciclo de vida de DevOps. Consequentemente, um diagrama de pipeline de DevOps pode incluir as oito fases descritas acima, mas linearmente (com um fluxo de trabalho, não um loop infinito). Ele também pode estar alinhado a várias etapas “contínuas”, conforme mostrado no diagrama de pipeline de DevOps abaixo:

Pipeline de DevOps

Um pipeline de DevOps do mundo real provavelmente é descrito de maneira mais técnica, refletindo o foco em processos e ferramentas automatizados, e o uso de várias ferramentas significa que as organizações podem ter diferentes pipelines de DevOps.

Conforme mostrado no diagrama, um pipeline de DevOps geralmente incluirá os seguintes elementos:

  • Integração contínua
  • Entrega contínua
  • Implantação contínua
  • Testes contínuos
  • Operações contínuas.

As ferramentas são fundamentais para a construção de um pipeline de DevOps, com os tipos de tecnologia relevantes incluindo:

  • Ferramentas de gerenciamento de código-fonte (SCM) - onde os desenvolvedores podem verificar seu código em um sistema de controle de versões.
  • Orquestração — que ajuda a automatizar os fluxos de trabalho e processos de DevOps envolvidos na implantação, gerenciamento e dimensionamento das aplicações.
  • Gerenciamento de configuração — utilizado para automatizar a configuração e gerenciamento de softwares e sistemas, garantindo que os sistemas estejam em um estado desejado e previsível.
  • Gerenciamento de conteinerização — onde as aplicações são empacotadas e executadas em ambientes isolados chamados de contêineres. Isso garante consistência em vários ambientes de desenvolvimento, teste e produção.

As organizações também podem criar tipos específicos de pipeline de DevOps projetados para automatizar e agilizar diferentes aspectos de desenvolvimento e implantação de software. Eles refletem a natureza focada em ferramentas dos pipelines de DevOps e incluem:

  • Pipeline de integração contínua - que automatiza a integração de mudanças de código de vários colaboradores.
  • Pipeline de implantação contínua - que automatiza a implantação de aplicações no ambiente de produção.
  • Pipeline de entrega contínua - que é similar à implantação contínua, mas a implantação em produção é uma etapa manual, ou seja, as mudanças de código são preparadas automaticamente para liberação, mas após a aprovação nos testes automatizados, a implantação é realizada manualmente.
  • Pipeline de construção - que compila o código, executa testes e produz artefatos que podem ser implantados.
  • Pipeline de automação de testes - que executa uma série de testes automatizados para validar mudanças de código.
  • Pipeline de lançamento - que automatiza as etapas necessárias para implantar uma atualização de software, incluindo aprovações, estratégia de lançamento e conformidade regulatória.

Então aí está, tudo o que você precisa saber sobre o ciclo de vida e pipeline de DevOps.

Sobre a autora

Sophie Danby

Sophie é consultora freelancer de marketing de ITSM focada em ajudar fornecedores de ferramentas de ITSM e seus parceiros no:

  • Desenvolvimento e implementação de estratégias de marketing eficazes
  • Redação e obtenção de conteúdos de ITSM de qualidade
  • Orientação e assistência nas redes sociais.

Ela também é responsável pela verificação de qualidade e publicação do conteúdo do ITSM.tools.

Sophie cobre a amplitude das melhores práticas e ferramentas de ITSM nas áreas tradicionais de marketing (como publicidade, feiras comerciais e eventos) e marketing digital (como vídeos, mídias sociais e e-mail marketing). Ela também é uma editora treinada.

Sign up for our newsletter to get more quality content

Obtenha conteúdos fresquinhos no seu e-mail

Ao clicar em 'Me mantenha informado', você aceita com o processamnto de informações pessoais de acordo com nossa Política de Privacidade.

Confiável pelas melhores organizações do mundo

Suporte mais rápido e fácil, juntos