Partilhar via


Considerações de DevOps

Este artigo fornece considerações e recomendações para DevOps nas zonas de aterrissagem do Azure.

O que é o DevOps

DevOps é a união de pessoas, processos e tecnologia que fornece valor contínuo ao desenvolvimento (dev) e operações (ops). A abordagem DevOps incentiva a colaboração em equipe que cria processos repetíveis para ajudar as organizações a operar de forma eficiente e em escala.

No contexto das zonas de aterrissagem do Azure, o DevOps se torna a estrutura que orienta sua equipe (ou equipes) responsável por todo o gerenciamento do ciclo de vida das zonas de aterrissagem do Azure em áreas como:

  • Como se auto-organizar e definir limites com outras equipas para alcançar o equilíbrio adequado entre autonomia e governação
  • Como evoluir continuamente o design da arquitetura da zona de aterrissagem do Azure (Lei de Conway)
  • Como planejar, priorizar e iterar a implementação da arquitetura projetada
  • Como implementar o controle de versão, a integração contínua e a implantação contínua para o código da zona de aterrissagem do Azure
  • Como operar e responder a incidentes para sistemas e plataformas de sua propriedade
  • O nível de automação que você aplica ao provisionamento e à autorrecuperação da zona de aterrissagem do Azure
  • Como colaborar com outras equipas da sua organização de uma forma ágil e orientada para os resultados
  • Como criar uma cultura generativa de segurança, qualidade, centrada no utilizador e aprendizagem contínua

As decisões que você toma ao revisar modelos operacionais de nuvem podem influenciar como você usa sua estrutura de DevOps.

Considerações de design de DevOps

  • Defina sua estrutura de DevOps ou alinhe-a com a estratégia de adoção de DevOps e nuvem da sua organização. Inclua a definição de DevOps e os princípios e práticas que sua equipe deve seguir. Certifique-se de conectar sua estratégia de DevOps à sua estratégia de negócios.

  • Estabeleça métricas que permitam que sua equipe melhore o desempenho de DevOps. Equipes de alto desempenho usam uma hipótese para testar suas ideias, medi-la para ver como a hipótese funciona e, em seguida, fazer alterações conforme necessário. A intenção final do DevOps é melhorar aspetos como a frequência de implantação, o tempo médio para aplicar uma alteração ou o tempo para restaurar um serviço degradado. Você deve projetar todas essas métricas para eventualmente afetar o desempenho geral do negócio.

  • Determine as práticas de DevOps que sua equipe deve implementar primeiro com base em suas qualificações atuais e projete um roteiro para aplicar incrementalmente novas práticas que ajudem sua equipe a melhorar suas métricas de DevOps. Investir em capacidades e recursos de engenharia é fundamental.

  • Determine a cadeia de ferramentas de DevOps que sua equipe deve usar para implementar as práticas de DevOps. Certifique-se de que as ferramentas são consistentes com sua estratégia geral de DevOps para evitar cenários de ecossistemas de DevOps heterogêneos que aumentem a complexidade da zona de aterrissagem do Azure ou implantações de carga de trabalho.

  • Avalie o efeito que suas práticas de DevOps implementadas e ferramentas de DevOps têm no design de suas Zonas de Aterrissagem do Azure.

  • Crie um plano de preparação para aumentar continuamente as habilidades da sua equipe. A aplicação geral de um modelo de DevOps não estabelece instantaneamente equipes de DevOps capazes.

  • Determine a topologia de equipe que melhor se alinha com a estratégia de DevOps e o modelo operacional de nuvem da sua organização e estabeleça limites, responsabilidades e dependências claras entre as equipes.

  • Determine como a equipe responsável pelas Zonas de Aterrissagem do Azure deve colaborar com outras equipes em sua organização para capturar novos requisitos da Zona de Pouso do Azure para atualizar o design e a implementação, resolver incidentes, minimizar dependências e alinhar com as prioridades de negócios.

Recomendações de DevOps

As seções a seguir contêm recomendações para ajudá-lo a implementar a estrutura de DevOps em sua organização.

Defina sua estrutura de DevOps

Para estabelecer sua estrutura de DevOps, considere usar as estruturas que já estão disponíveis para começar com um conjunto de práticas comprovadas predefinidas:

Definir práticas de DevOps para o gerenciamento de zonas de aterrissagem do Azure

Considere as seguintes práticas de DevOps para suas zonas de aterrissagem do Azure:

Planeje sua jornada de implementação de DevOps

Defina e alinhe sua jornada de implementação de DevOps com o plano de adoção de nuvem da sua organização.

  • Determine onde sua equipe está hoje nas seguintes áreas:
  • Use o plano de adoção de nuvem da sua organização para definir um modelo desejado para sua equipe.
  • Estabeleça um roteiro iterativo para implementar o modelo desejado em um modo iterativo e incremental que esteja alinhado com o cronograma de transformação da sua organização.

Implementar métricas de DevOps desejadas

Identifique quais métricas você usará para medir o desempenho de DevOps da sua equipe. Use métricas para impulsionar os hábitos desejados em sua equipe que se conectam com os resultados do negócio. Estabeleça métricas para permitir que sua equipe meça o impacto sobre as atividades. Torne as principais métricas visíveis para todos, uma vez que a transparência promove a confiança e impulsiona o alinhamento com os objetivos organizacionais.

Exemplos de métricas que medem o desempenho do DevOps para melhorar o impacto nos negócios incluem:

  • Resultados do Negócio:

    • Use Objetivos e Resultados-Chave como uma ferramenta para mover suas equipes de uma mentalidade de "saída" para uma mentalidade de "resultado". Por exemplo, você pode usar o número de cargas de trabalho que melhoraram sua classificação de conformidade em relação ao número de políticas implantadas no Azure.
    • Satisfação do cliente ou utilizador final. Exemplos incluem Net Promoter Score (NPS), pesquisas, entrevistas.
    • Crescimento do negócio. Os exemplos incluem o aumento da rentabilidade, o aumento da receita e novas aquisições de fontes de receita.
    • Métricas de pessoas. Exemplos incluem o Employee Net Promoter Score (eNPS), utilização, retenção e satisfação.
    • Custos. Por exemplo, você pode usar a redução de custos.
  • Desempenho de entrega de software:

    • Lead Time for Change, o tempo que leva para uma correção de bug, novo recurso ou qualquer outra alteração passar da ideia à implantação e produção.
    • Frequência de implantação, as implantações por dia de alterações de código na produção.
    • Tempo médio de restauração, o tempo necessário para restaurar o serviço em produção após a ocorrência de um incidente.
    • Porcentagem de Falha de Alteração, a porcentagem de alterações na produção (como alterações de configuração) que levam a uma falha.
  • Qualidade:

    • Taxa de escape de defeitos, o número de defeitos identificados pelos seus utilizadores finais.
    • Trabalho não planeado ou retrabalho, a percentagem de tempo gasto a fazer trabalho não planeado ou retrabalho.
    • Bugs ativos, o número de bugs que ainda não foram corrigidos.
    • Code Health, a porcentagem de código que não foi testada por unidade.

Defina seu ecossistema de tecnologia DevOps

A cadeia de ferramentas de DevOps que você escolhe para gerenciar o ciclo de vida de suas Zonas de Aterrissagem do Azure afeta:

  • Suas estratégias para implementar princípios e práticas de DevOps
  • Considerações de segurança para o ciclo de vida do DevOps
  • O design geral da arquitetura do gerenciamento do ciclo de vida das Zonas de Desembarque do Azure

Use a estrutura de DevOps que você definiu anteriormente para identificar quais ferramentas usar para cada um dos seus processos de DevOps. Escolha as tecnologias de DevOps mais adequadas às necessidades de suas equipes, mas encontre um equilíbrio que permita alcançar a padronização em toda a organização, mas evite muita complexidade ou heterogeneidade em seus ecossistemas de DevOps.

Exemplos de tecnologias de DevOps em diferentes estágios de DevOps incluem:

  • Planejamento: Atlassian Jira, Atlassian Trello, Azure Boards, GitHub
  • Integração contínua (CI) e testes: Atlassian Bitbucket, Azure Repos, GitHub Repos, npm, NuGet, Selenium, SmartBear Cucumber, SonarSource SonarQube, Zed Attack Proxy
  • Entrega contínua (CD): Atlassian Bamboo, Azure Pipelines, GitHub Actions, Jenkins, Octopus Deploy, Perforce Puppet, RedHat Ansible
    • Infraestrutura como código: Bicep, Pulumi, Terraform
    • Bootstrapping: ArgoCD GitOps, Flux GitOps, Progress Chef, Configuração de Estado Desejado (DSC) do PowerShell
  • Operações: Azure Automation, Azure Monitor, CISCO Splunk, Grafana, Microsoft Power BI
  • Colaboração e feedback: Atlassian Confluence, Azure DevOps Wikis, GitHub Discussions, GitHub Wikis, Microsoft Teams, Slack, Stack Overflow

O diagrama a seguir mostra um exemplo de estrutura de DevOps com a seleção da cadeia de ferramentas do Azure DevOps:

Diagrama da estrutura de DevOps com seleção da cadeia de ferramentas do Azure DevOps.

O diagrama a seguir mostra um exemplo de estrutura de DevOps com o Azure DevOps e a seleção da cadeia de ferramentas do GitHub:

Diagrama da estrutura do DevOps com o Azure DevOps e a seleção da cadeia de ferramentas do GitHub.

Próximo passo