Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma cadeia de ferramentas de DevOps é uma coleção de ferramentas que permite que as equipes do DevOps colaborem em todo o ciclo de vida do produto e abordem os principais conceitos básicos do DevOps.
As ferramentas que uma cadeia de ferramentas de DevOps inclui operam como uma unidade integrada para planejamento, integração contínua, entrega contínua, operações, colaboração e comentários. Você pode examinar alguns exemplos de tecnologias de DevOps em diferentes estágios de DevOps em Definir seu ecossistema de tecnologia DevOps.
Considerações sobre a cadeia de ferramentas do DevOps
Os processos do DevOps já podem estar em uso em toda a sua organização quando você seleciona uma cadeia de ferramentas. Você deve encontrar o equilíbrio certo entre a adoção de tecnologias adequadas para as necessidades da sua equipe e o objetivo de padronizar e evitar ecossistemas heterogêneos de DevOps em toda a sua organização.
Você pode adotar diferentes tipos de cadeias de ferramentas de DevOps:
- Tudo em um: Fornece uma solução completa que pode não se integrar a outras ferramentas de terceiros. As cadeias de ferramentas all-in-one podem ser úteis para as organizações que iniciam sua jornada de DevOps. Exemplo: cadeia de ferramentas do Azure DevOps de pilha completa.
- Personalizado: Permite que as equipes tragam e misturem as ferramentas existentes que conhecem e já têm em uso na cadeia de ferramentas de DevOps mais ampla. A integração é essencial para esses tipos de carrinhos de ferramentas para evitar gastar tempo desnecessário alternando entre telas, fazendo logon em vários locais e tendo o desafio de compartilhar informações entre ferramentas. Exemplo: a cadeia de ferramentas do Azure DevOps e do GitHub.
Considere o uso de carrinhos de ferramentas que são atualizados regularmente e que têm assistência disponível sempre que você precisar por email ou portal online. Esse é um requisito para qualquer produto ou serviço que esteja no caminho crítico para o mercado.
Planning
- Considere a adoção de uma ferramenta que dê suporte a práticas de Planejamento Contínuo :
- Planejamento de versão
- Identificação épica e de recursos
- Priorização
- Avaliação
- Definição de história do usuário
- Refinamento de pendências
- Planejamento de sprint
- Scrum Diário
- Revisão de sprint
- Retrospectiva
Integração contínua e entrega contínua
- Ao implementar a CD (Integração Contínua)/ considere adotar uma ferramenta que dê suporte a:
- Sistemas de controle de versão. Tudo em seu projeto deve ser verificado em um único repositório de controle de versão, como Git: código, testes, scripts de banco de dados, scripts de build e implantação e qualquer outra coisa necessária para criar, instalar, executar e testar seu aplicativo.
- Estratégia de ramificação.
- Builds automatizados.
- Sua escolha de repositório também é influenciada pelos requisitos de soberania de dados/residência. Se você precisar que seus dados sejam hospedados localmente em um país/região diferente dos EUA, precisará de repositórios do Azure DevOps quando o GitHub Repos não puder ser usado.
- Para minimizar a quantidade de configuração manual necessária para provisionar recursos, considere a adoção da IaC (Infraestrutura como Código). A IaC permite aplicar práticas de engenharia de software, como teste e controle de versão, que tornam a infraestrutura e as implantações automatizadas, consistentes e repetíveis. Mantenha scripts e modelos sob controle do código-fonte, como qualquer outro código que você mantém.
- Adote ferramentas de verificação de código para ajudá-lo a detectar defeitos de código o mais rápido possível. Inclua verificações de pré-implantação para validar e confirmar alterações antes de qualquer implantação (exemplo: "what-if") função.
- As ferramentas de CI/CD aceleram o tempo de comercialização para seu produto. As ferramentas que permitem paralelizar tarefas e aproveitar a escalabilidade elástica na infraestrutura hospedada na nuvem aprimoram o desempenho do processo de CI/CD.
- Considere o uso de recursos da ferramenta CI/CD que dão suporte à medida do desempenho do DevOps. Painéis e relatórios podem acompanhar aspectos do processo de desenvolvimento, como tempo de entrega, tempo de ciclo, velocidade do trabalho e assim por diante.
Operações contínuas
Operações Contínuas é um foco que ajuda as organizações a manter a continuidade da saída entre sistemas internos e clientes por meio da entrega ininterrupta de serviços ou funções críticas. As metas de Operações Contínuas são:
- Para reduzir ou eliminar a necessidade de tempo de inatividade ou interrupções planejadas, como manutenção agendada, otimização de capacidade e implantação.
- Para aumentar a confiabilidade geral e a resiliência dos sistemas em três aspectos: com pessoas, processos e ferramentas.
Use ferramentas nativas de nuvem para:
- Monitore as principais métricas de desempenho e disponibilidade do serviço.
- Obtenha experiência digital e insights do cliente.
-
Gere respostas orientadas por inteligência para incidentes, recuperação do sistema ou dimensionamento.
- O Diagnóstico do Azure e o Application Insights são o método padrão para acompanhar a integridade e o status dos recursos do Azure. O Azure Monitor também fornece monitoramento e gerenciamento centralizados para soluções híbridas ou de nuvem.
- Automatize a manutenção proativa e tarefas, como implantação ou atualizações do sistema.
- A Automação do Azure é uma ferramenta nativa de nuvem que você pode usar para criar automação baseada em eventos para diagnosticar e resolver problemas.
Colaboração e comentários
Loops de comentários rápidos estão no centro do processo de CI/CD. Uma ferramenta de CI/CD usa comentários para resolver condições na lógica de fluxo de trabalho de CI/CD e exibe informações de volta aos usuários, geralmente por meio de um painel.
O suporte para notificações por email e a integração com IDEs ou plataformas de comunicação garantem que você possa se manter informado sobre o que está acontecendo sem precisar verificar um painel. Certifique-se de ter a flexibilidade de configurar quais alertas você recebe, já que receber muitos alertas os transforma em ruído de plano de fundo.
Qualquer ferramenta escolhida para a colaboração deve dar suporte às seguintes práticas de colaboração:
- Colaboração kanban
- Colaboração de conteúdo wiki
- Colaboração do ChatOps
- Sala de equipe
Recomendações de cadeia de ferramentas do DevOps para Zonas de Destino do Azure
As cadeias de ferramentas de DevOps para implementação da Zona de Destino do Azure devem considerar todas as fases de DevOps discutidas anteriormente:
- Planning
- CI/CD (incluindo recursos de automação, como Infraestrutura como código)
- Operations
- Colaborações e comentários
Examine as diretrizes para implantação da zona de destino e considerações para escolher uma opção de implementação na escolha da adoção da zona de destino.
Independentemente da metodologia selecionada (iniciar pequeno e expandir ou em escala empresarial), há algumas topologias comuns que as empresas tendem a seguir à medida que projetam seus fluxos de trabalho e carrinhos de ferramentas do DevOps.
- Cadeia de ferramentas do Azure DevOps de pilha completa: Para empresas que já estão fortemente investidas no ecossistema da Microsoft, essa topologia permite que elas aproveitem ao máximo as integrações nativas entre produtos e serviços da Microsoft e simplifiquem os principais processos.
- Cadeia de ferramentas do Azure DevOps e do GitHub: Essa topologia permite que você use os pontos fortes do Azure e do GitHub como parte de uma solução bem integrada.
Cadeia de ferramentas do Azure DevOps de pilha completa
| Estágio de DevOps | Tools |
|---|---|
| Planning | O Azure Boards fornece funcionalidades de planejamento eficientes e flexíveis para desenvolvedores e outras personas, incluindo backlogs hierárquicos, placas Kanban personalizáveis, personalização avançada de processos, painéis de equipe e relatórios personalizados. |
| CI/CD | O Azure Repos permite que você crie repositórios Git privados e dá suporte a diferentes clientes Git, estratégia de ramificação e proteção. O Azure Repos também fornece residência de dados localizada na nuvem para habilitar a conformidade com as regulamentações europeias. O Azure Pipelines permite que os clientes configurem pipelines automatizados para CI/CD, inclusive para relatórios de teste avançados, e fornece suporte avançado para pipelines de vários estágios. Permissões refinadas, portões, verificações personalizadas e relatórios de resultados de teste automatizados no Azure Pipelines ajudam você a impor as práticas recomendadas de segurança, conformidade e implantação segura em sua organização e dar suporte à execução e escalabilidade de etapas paralelas. O Azure Artifacts fornece um feed para armazenar pacotes e examinar e validar cada pacote para fins de segurança, além de fornecer controle de permissão granular e auditoria. Os Planos de Teste do Azure no Azure DevOps fornecem uma solução de gerenciamento de teste baseada em navegador para testes exploratórios, manuais e de aceitação do usuário. Os usuários dos Planos de Teste do Azure também normalmente usam o Azure Boards para planejamento e gerenciamento de projetos. Você pode vincular histórias de usuário e outros requisitos para testar casos e pode documentar bugs encontrados por meio de testes. Adote extensões do Marketplace para DevOps para melhorar a análise de código estático com ferramentas como scanners de credencial, scanners de software livre, scanners de Bugs e Vulnerabilidades e muito mais. |
| Operations | Os painéis e relatórios do Azure fornecem relatórios personalizados para ajudá-lo a monitorar as principais métricas de desempenho do serviço. O Diagnóstico do Azure e o Application Insights são o método padrão para acompanhar a integridade e o status dos recursos do Azure. O Azure Monitor fornece monitoramento e gerenciamento centralizados. A Automação do Azure pode ser usada para criar automação baseada em eventos para diagnosticar e resolver problemas. O Defender para Cloud DevOps usa um console central para capacitar as equipes de segurança com a capacidade de proteger aplicativos e recursos de código para nuvem em ambientes de vários pipelines, incluindo o Azure DevOps e o GitHub. |
| Colaborações e comentários | O Wiki do Azure DevOps permite compartilhar informações com membros de outras equipes e dá suporte à edição colaborativa de seu conteúdo e estrutura. Os Conselhos do Azure fornecem colaboração kanban e suporte para comentários e discussões em itens de backlog. |
Cadeia de ferramentas do Azure DevOps e do GitHub
| Estágio de DevOps | Tools |
|---|---|
| Planning | O Azure Boards fornece uma solução estável e escalonável para planejamento, gerenciamento de repositório, visualização de dados e organização de item de trabalho hierárquico. Ele se integra ao GitHub, para que você possa vincular itens de trabalho e confirmações do GitHub. Ele também permite que você escolha seu fluxo de trabalho ideal, seja um fluxo de trabalho simples e pronto para uso ou um fluxo de trabalho personalizado que você cria com o poderoso e flexível mecanismo de personalização do Azure Boards. Quando você precisa visualizar seus dados, o Azure Boards ajuda você a criar e configurar facilmente painéis personalizados e monitorar o progresso em todos os ciclos de vida do projeto. |
| CI/CD | Use a versão do GitHub Enterprise (GHE) do GitHub, que inclui o GitHub Repo, o GitHub Advanced Security (GHAS) e o GitHub Advanced Security para Azure DevOps. O GHAS inclui CodeQL, Verificação de Código, Verificação de Segredo e Revisão de Dependência. O GHE também oferece Codespaces, um IDE de nuvem que você pode usar para desenvolver código e que pode substituir o Visual Studio Code, que as organizações geralmente incluem em cenários do Azure DevOps de pilha completa. Você pode usar o GitHub Actions para automatizar fluxos de trabalho não build se seus repositórios estiverem no GitHub. Se você tiver cenários mais complexos em que precisa acessar código de fora do GitHub ou exigir gerenciamento centralizado para modelos de fluxo de trabalho e pipelines de build, adote o Azure Pipelines. Para o Azure Boards, você pode integrar o Azure Pipelines aos repositórios do GitHub. Para saber mais sobre como integrar o Azure DevOps e o GitHub, confira Trabalhar com o Azure DevOps e o GitHub. Os Pacotes do GitHub são um serviço de pacote de software que permite hospedar seus próprios pacotes de forma privada ou pública. O GitHub oferece suporte ao registro de contêiner para hospedar imagens do Docker ou OCI. Você precisa de tokens de acesso para publicar, instalar ou excluir pacotes e manter o gerenciamento do ciclo de vida do pacote seguro. Para automatizar pacotes, você pode integrar pacotes do GitHub com GitHub Actions, APIs do GitHub e webhooks para criar fluxos de trabalho de DevOps que incluem código, CI e implantações em uma única interface. |
| Operations | O GitHub Insights fornece relatórios analíticos com base em dados da instância do GitHub Enterprise Server para ajudá-lo a entender e melhorar o processo de entrega de software. Para diagnóstico e gerenciamento da Zona de Destino, use os serviços do Azure recomendados no cenário do Azure DevOps de pilha completa . |
| Colaboração e comentários | Você pode usar o GitHub Discussions para compartilhar perguntas, ideias, conversas, solicitações de comentários (RFC), planejamento de recursos e comunicados. Use o Azure Boards para criar e configurar facilmente painéis personalizados e monitorar o progresso em todos os ciclos de vida do projeto. Adote o Microsoft Teams para uma experiência completa de colaboração em equipe. |