Tutorial do DevOps - Introdução

O DevOps tem muitas fases, conceitos e componentes diferentes e este tutorial é uma excelente forma de ficar a conhecer o DevOps e como este pode ajudar a melhorar o processo de entrega de software.

Compreender o DevOps

Para começar este tutorial do DevOps, vamos apresentar algumas definições básicas que ajudam a compreender o DevOps e como está relacionado com o seu processo geral de desenvolvimento de software.

  • O DevOps é uma prática de desenvolvimento de software que promove a colaboração entre as equipas de desenvolvimento e de operações, o que resulta numa entrega de software mais rápida e fiável. Geralmente conhecido como "cultura", o DevOps liga pessoas, processos e tecnologias para oferecer valor contínuo.

    Saiba mais sobre o DevOps

  • O processo de desenvolvimento de software pode ser altamente manual, originando um elevado número de erros de código. Muitas vezes, as equipas de desenvolvimento e de operações podem não estar sincronizadas, o que pode atrasar a entrega de software e desiludir os intervenientes da empresa. O DevOps cria eficiências em todas as tarefas envolvidas no desenvolvimento, implementação e manutenção de software.

    Ligar o desenvolvimento e as operações leva ao aumento da visibilidade, a requisitos mais precisos, a melhores comunicações e a tempos de comercialização mais rápidos.

  • O DevOps faz a ponte entre o desenvolvimento e as operações, o que cria eficiências significativas no desenvolvimento e implementação de software. Inclui uma grande ênfase na automatização, ajudando a reduzir o número geral de erros.

  • A filosofia do DevOps é assumir responsabilidade completa em todos os aspetos do projeto. Ao contrário dos métodos mais tradicionais de desenvolver software, o DevOps faz a ponte entre as equipas de desenvolvimento e operações, algo que muitas vezes não acontece e que pode ter um efeito extremamente negativo no processo de entrega de software.

    Ao proporcionar um framework abrangente para desenvolver e lançar software, o DevOps liga as equipas de desenvolvimento e operações, uma lacuna que cria desafios e ineficiências na entrega de software.

  • Embora tanto o DevOps como a abordagem ágil sejam práticas de desenvolvimento de software, ambas têm um foco ligeiramente diferente. O DevOps é uma cultura dedicada à criação de eficiência para todos os intervenientes envolvidos no desenvolvimento, na implementação e na manutenção de software. A abordagem ágil é um processo de produção otimizada que ajuda a fornecer um framewordk de produção de desenvolvimento de software. Muitas vezes, é específica da equipa de desenvolvimento, em que o âmbito do DevOps se estende a todos os intervenientes envolvidos na produção e manutenção de software. As práticas DevOps e ágil podem ser utilizadas em conjunto para criar um ambiente de desenvolvimento de software altamente eficiente.

    Saiba mais sobre o DevOps vs. a agilidade

Aprofunde a aprendizagem de DevOps com estas tarefas

Cada secção neste tutorial do DevOps inclui algumas tarefas que ajudam a implementar os passos necessários para a criação de uma prática de DevOps. Dispense alguns momentos para responder às seguintes perguntas:

  • Quais são alguns dos desafios que enfrentou no desenvolvimento e implementação de software?
  • Em que áreas gostaria de ver melhorias na eficiência quando desenvolve e implementa software?

As noções básicas de uma prática de DevOps

A próxima parte deste manual para o DevOps é compreender os principais conceitos utilizados numa prática de DevOps. Esta secção ajuda a explicar e clarificar os componentes-chave.

  • Comummente utilizado em equipas de software, o desenvolvimento ágil é uma abordagem de entrega associada à produção otimizada. O desenvolvimento é feito em sprints pequenos e incrementais. Embora seja diferente do DevOps, as duas abordagens não se excluem mutuamente. As práticas e ferramentas ágeis podem ajudar a gerar eficiências na equipa de desenvolvimento, contribuindo para a cultura geral de DevOps.

    Introdução ao planeamento ágil com o Azure Boards

  • Quando as equipas trabalham em conjunto, o controlo de versões é fundamental para o desenvolvimento de software eficiente e preciso. Os sistemas de controlo de versões, como o Git, tiram um instantâneo dos seus ficheiros, o que lhe permite regressar permanentemente a qualquer versão em qualquer momento. Com um sistema destes, pode ter a certeza de que não vai encontrar conflitos com as alterações em que está a trabalhar.

    Começar a utilizar o controlo de versões com o Azure Repos

  • A integração contínua é o processo de automatização de compilações e de testes que ocorrem quando o código é concluído e consolidado no sistema. Após a consolidação, o código segue um processo automatizado que fornece a validação. Depois, consolida apenas o código testado e validado no código de origem principal, que é, muitas vezes, denominado ramo mestre, principal ou ramal. A integração contínua automatiza este processo, o que origina eficiências significativas. Caso haja erros, esses são identificados atempadamente, antes da associação de algum código ao ramo mestre.

    Começar a implementar a integração contínua com o Azure Pipelines

  • A entrega contínua é a prática fundamental que ocorre no DevOps e que permite a entrega de software rápido e fiável. Apesar de o processo ser semelhante ao conceito genérico do DevOps, a entrega contínua é o framework no qual todos os componentes do código são testados, validados e consolidados à medida que são concluídos, o que resulta na possibilidade de entregar software em qualquer momento. A integração contínua é um processo que faz parte da entrega contínua.

    Começar a implementar a entrega contínua com o Azure Pipelines

  • Quer seja no local ou na cloud, o aprovisionamento e a configuração de recursos são aspetos cruciais das operações do ambiente. Através da automatização de processos e da utilização de ferramentas que oferecem uma definição declarativa da infraestrutura (por exemplo, ficheiros de definição baseados em texto), as equipas podem implementar e configurar recursos de forma fiável e repetível. Os ficheiros de definição baseados em texto podem ser geridos como código com controlo de versão, o que permite reversão, recriação e desmontagem fáceis de ambientes complexos. Tecnologias como Terraform ou Ansible são soluções comuns para a implementação da infraestrutura como código.

    Criar a infraestrutura no Azure com o Terraform

    Saiba mais sobre como utilizar o Ansible com o Azure

  • O âmbito do DevOps vai para além do desenvolvimento, mantendo a responsabilidade pelo software através da entrega, incluindo o desempenho do software. Todo o processo de DevOps cria um ciclo de feedback que, em última instância, proporciona pontos de dados que podem ajudar a melhorar projetos futuros e a validar a decisão de implementar o software. A monitorização e o registo são partes essenciais que apoiam a aprendizagem validada, a qual, por sua vez, apoia a iniciativa global de procurar consistentemente mais eficiência no processo de desenvolvimento e entrega de software.

    Saiba como recolher e analisar dados telemétricos com o Azure Monitor

  • Ao longo de todo o ciclo de vida, é recolhido feedback e dados telemétricos para ajudar a tomar decisões informadas para o ciclo seguinte. Essas informações são denominadas "aprendizagem validada". A aprendizagem validada ajuda a disponibilizar informações sobre novas formas de reduzir o tempo necessário por ciclo. Depois, os dados recolhidos são utilizados para encontrar maneiras de aumentar a automatização, melhorar os processos e preparar a implementação mais rápida e eficientemente.

Aprofunde a aprendizagem de DevOps com estas tarefas

Agora que já sabe quais são os principais conceitos numa prática de DevOps, dispense alguns momentos para responder às seguintes perguntas:

  • Que partes do processo de desenvolvimento são manuais e podem beneficiar da automatização?
  • Há oportunidades para introduzir a integração contínua no processo de criação da sua equipa?
  • Como é que a sua equipa gere a infraestrutura atualmente? O processo é repetível e fiável ou pode ser melhorado mediante a utilização da infraestrutura como código?
  • Que dados telemétricos ajudariam a informar o seu trabalho?
  • Que outros pontos de dados apoiariam a sua aprendizagem validada?

Criar a cultura de DevOps

A próxima parte deste tutorial do DevOps aborda a criação de uma cultura de DevOps. À medida que prepara a adoção do DevOps na sua empresa, é provável que encontre diferenças relativamente à sua abordagem atual à entrega de software.

A criação de uma cultura nova não se faz da noite para o dia e não se resume a comprar um novo conjunto de ferramentas. Para que a sua equipa aprenda e pratique o DevOps, poderá ter de fazer alterações às estruturas, aos fluxos de trabalho e aos hábitos atuais da equipa.

Saiba como é que a Microsoft criou uma cultura de DevOps

Aprofunde a aprendizagem de DevOps com estas tarefas

Ao considerar a criação de uma cultura de DevOps no seu negócio, dispense uns momentos para responder às seguintes perguntas:

  • O DevOps ajuda a coordenar todos os intervenientes no desenvolvimento, na entrega e na manutenção de software: Na sua organização, que intervenientes são esses? Faça uma lista de todas as pessoas que vão trabalhar juntas.
  • De que formas é que pode aumentar a comunicação entre o desenvolvimento e as operações? Pense em algumas formas de melhorar a cooperação entre os intervenientes.

Vídeos do DevOps

Explore estes vídeos para obter mais informações sobre o DevOps não contidas neste manual. Saiba como integrar completamente o DevOps no seu processo de desenvolvimento de software.

Introduction to Azure DevOps (Introdução ao Azure DevOps)

Veja uma apresentação das funcionalidades e capacidades do Azure DevOps com Donovan Brown.

Building and deploying your code with Azure Pipelines (Criar e implementar o seu código com o Azure Pipelines)

Saiba por que é que o Azure Pipelines é uma excelente ferramenta para gerir a integração contínua e a implementação contínua (CI/CD) do seu código.

Introdução à utilização do Terraform da HashiCorp com o Azure

Siga este tutorial rápido do DevOps para aprender a configurar o Terraform e utilizá-lo para gerir a infraestrutura como código do Azure.

Introdução ao DevOps do Azure

Entregue software de forma mais rápida e fiável com um conjunto moderno de serviços de desenvolvimento. Planeie melhor, colabore mais e envie depressa. Utilize todas as funcionalidades do DevOps ou escolha as mais adequadas para si.