Tutorial sobre DevOps: introdução

Existem muitos estágios, conceitos e componentes diferentes no DevOps, e este tutorial é uma excelente maneira de aprender o que é o DevOps e como ele pode ajudar a melhorar seu processo de entrega de software.

Como entender o DevOps

Para iniciar este tutorial do DevOps, apresentaremos algumas definições básicas para ajudar você a entender o que é o DevOps e como ele se relaciona com o seu processo geral de desenvolvimento de software.

  • O DevOps é uma prática de desenvolvimento de software que promove a colaboração entre o desenvolvimento e as operações, resultando em uma entrega de software mais rápida e confiável. Designado com frequência como uma cultura, o DevOps conecta pessoas, processos e tecnologias para entregar valor contínuo.

    Saiba mais sobre DevOps

  • O processo de desenvolvimento de software pode ser altamente manual, resultando em uma quantidade significativa de erros de código. As equipes de desenvolvimento e operações com frequência podem estar fora de sincronia, o que pode retardar a entrega do software e decepcionar os stakeholders de negócios. O DevOps cria eficiência em todas as tarefas envolvidas no desenvolvimento, na implantação e na manutenção do software.

    A conexão do desenvolvimento com as operações leva a uma maior visibilidade, a requisitos mais precisos, a uma melhor comunicação e a um menor tempo de colocação no mercado.

  • O DevOps fecha a lacuna entre o desenvolvimento e as operações, criando eficiências significativas em todo o processo de desenvolvimento e a implantação do software. O DevOps inclui uma forte ênfase em automação, ajudando a reduzir o número geral de erros.

  • A filosofia do DevOps é assumir responsabilidade de ponta a ponta em todos os aspectos do projeto. Diferentemente dos métodos mais tradicionais de desenvolvimento de software, o DevOps fecha a lacuna existente entre as equipes de desenvolvimento e de operações, algo muitas vezes ausente e que pode dificultar bastante o processo de entrega de software.

    Fornecendo uma estrutura abrangente para desenvolver e lançar software, o DevOps conecta equipes de desenvolvimento e operações, uma lacuna que pode criar desafios e ineficiências na entrega de software.

  • Embora ambos, DevOps e Agile, sejam práticas de desenvolvimento de software, cada um deles tem um foco ligeiramente diferente. O DevOps é uma cultura que se concentra em criar eficiência para todos os stakeholders envolvidos no desenvolvimento, na implantação e na manutenção do software. O Agile é um processo de lean manufacturing que ajuda a fornecer uma estrutura de produção para o desenvolvimento de software. O Agile geralmente é específico para a equipe de desenvolvimento, em que o escopo do DevOps se estende a todos os stakeholders envolvidos na produção e na manutenção do software. O DevOps e o Agile podem ser usados juntos para criar um ambiente de desenvolvimento de software altamente eficiente.

    Saiba mais sobre o DevOps versus o Agile

Aprofunde seu aprendizado de DevOps com essas tarefas

Cada seção deste tutorial de DevOps inclui algumas tarefas para ajudá-lo a tomar medidas no sentido de criar uma prática de DevOps. Dedique um momento a responder às seguintes perguntas:

  • Quais foram alguns dos desafios que você enfrentou para o desenvolvimento e a implantação de software?
  • Em quais áreas você gostaria de ver melhorias de eficiência ao desenvolver e implantar software?

Os fundamentos de uma prática de DevOps

A próxima etapa deste manual do DevOps é entender os principais conceitos usados em uma prática de DevOps. Esta seção ajudará a explicar e a esclarecer os principais componentes.

  • Usado com frequência em equipes de software, o desenvolvimento Agile é uma abordagem de entrega relacionada ao lean manufacturing. O desenvolvimento é concluído em sprints breves e incrementais. Embora seja diferente do DevOps, as duas abordagens não são mutuamente exclusivas: as práticas e as ferramentas do Agile podem ajudar a aumentar a eficiência da equipe de desenvolvimento, contribuindo com a cultura geral do DevOps.

    Introdução ao planejamento do Agile usando o Azure Boards

  • Com uma equipe trabalhando em conjunto, o controle de versão é parte essencial de um desenvolvimento de software preciso e eficiente. Um sistema de controle de versão, como o Git, registra um instantâneo dos seus arquivos, permitindo que você volte para qualquer versão a qualquer momento. Com um sistema de controle de versão, você tem a certeza de que não entrará em conflito com as alterações em que está trabalhando.

    Comece a usar o controle de versão com o Azure Repos

  • A integração contínua é o processo de automatização de builds e testes que ocorre quando o código é concluído e confirmado no sistema. Uma vez que o código é confirmado, ele segue um processo automatizado que realiza a validação e, então, confirma apenas o código testado e validado no código-fonte principal, geralmente chamado de principal, tronco ou ramificação mestre. A integração contínua automatiza esse processo, o que leva a eficiências significativas. Todos os bugs são identificados precocemente, antes da fusão de qualquer código com a ramificação mestre.

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

  • A entrega contínua é a prática fundamental que ocorre no DevOps, habilitando a entrega de software rápido e confiável. Embora o processo seja semelhante ao conceito abrangente do DevOps, a entrega contínua é a estrutura em que todos os componentes de código são testados, validados e confirmados à medida que são concluídos, resultando na capacidade de entregar o software a qualquer momento. A integração contínua é um processo que compõe a entrega contínua.

    Comece a implementar a entrega contínua com o Azure Pipelines

  • Seja no local ou na nuvem, o provisionamento e a configuração de recursos são uma parte essencial das operações do ambiente. Por meio da automação de processos e do uso de ferramentas que fornecem uma definição declarativa da infraestrutura (por exemplo, arquivos de definição baseados em texto), as equipes podem implantar e configurar recursos de maneira confiável e repetível. Os arquivos de definição baseados em texto podem ser gerenciados como código com controle de versão, permitindo fácil reversão, recriação e desinstalação de ambientes complexos. Tecnologias como o Terraform ou o Ansible são soluções comuns para a implementação de infraestrutura como código.

    Criar infraestrutura no Azure com o Terraform

    Saiba mais sobre como usar o Ansible com o Azure

  • O escopo do DevOps vai além do desenvolvimento, mantendo a responsabilidade pelo software até a entrega, incluindo o desempenho do software. Todo o processo do DevOps cria um ciclo de comentários que, em última instância, fornece pontos de dados capazes de ajudar a melhorar um projeto futuro e validar a decisão de implantar o software. O monitoramento e o registro em log são componentes essenciais que dão suporte ao aprendizado validado, que então dá suporte à iniciativa geral de buscar consistentemente uma maior eficiência no processo de desenvolvimento e entrega de software.

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

  • Durante todo o ciclo de vida, comentários e dados telemétricos são coletados para ajudar a fundamentar com informações as decisões para o próximo ciclo. Essas informações são chamadas de aprendizado validado. O aprendizado validado ajuda a fornecer insights sobre novas formas de reduzir a quantidade de tempo por ciclo. Então, os dados coletados são usados para encontrar formas de aumentar a automação, melhorar os processos e preparar a implantação com mais rapidez e eficiência.

Aprofunde seu aprendizado de DevOps com essas tarefas

Agora que você aprendeu os principais conceitos de uma prática de DevOps, dedique um momento a responder às seguintes perguntas:

  • Quais partes do seu processo de desenvolvimento são manuais e poderiam se beneficiar da automação?
  • Existem oportunidades para introduzir uma integração contínua no processo de criação da sua equipe?
  • Como sua equipe está gerenciando a infraestrutura hoje? O processo é confiável e repetível ou ele pode ser aprimorado usando a infraestrutura como código?
  • Quais dados telemétricos ajudariam a fundamentar seu trabalho com informações?
  • Quais outros pontos de dados dariam suporte ao aprendizado validado?

Como criar sua cultura de DevOps

A próxima parte deste tutorial do DevOps discute como criar uma cultura de DevOps. Ao se preparar para levar o DevOps para sua empresa, você provavelmente encontrará diferenças em relação à sua abordagem atual para entrega de software.

A criação de uma nova cultura não acontece da noite para o dia e não é tão simples quanto comprar um novo conjunto de ferramentas. Para permitir que sua equipe aprenda e pratique o DevOps, pode ser necessário fazer alterações nas estruturas, nos fluxos de trabalho e nos hábitos atuais da equipe.

Saiba como a Microsoft criou uma cultura de DevOps

Aprofunde seu aprendizado de DevOps com essas tarefas

Ao considerar a criação de uma cultura de DevOps na sua empresa, dedique um momento a responder às seguintes perguntas:

  • O DevOps ajuda a coordenar todos os stakeholders no desenvolvimento, na entrega e na manutenção do software: na sua organização, quem será incluído entre esses? Crie uma lista com todos os indivíduos que trabalharão juntos.
  • De que maneiras você pode ampliar a comunicação entre desenvolvimento e operações? Pense em algumas maneiras de melhorar a cooperação entre os stakeholders.

Vídeos do DevOps

Explore esses vídeos para obter um entendimento mais profundo do DevOps, que vai além deste manual. Aprenda como integrar totalmente o DevOps ao seu processo de desenvolvimento de software.

Introdução ao Azure DevOps

Faça um tour pelos recursos e pelas funcionalidades do Azure DevOps com o Donovan Brown.

Compilação e implantação do seu código com o Azure Pipelines

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

Introdução ao uso do HashiCorp Terraform com o Azure

Siga este tutorial rápido do DevOps para saber como instalar e configurar o Terraform para de gerenciar a infraestrutura do Azure como código.

Introdução ao Azure DevOps

Entregue software de forma mais rápida e confiável com um conjunto moderno de serviços de desenvolvimento. Planeje com mais inteligência, colabore melhor e entregue mais rapidamente – use todos os recursos de DevOps ou escolha aqueles que são mais adequados para você.