Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Na infraestrutura de nuvem definida por software, as equipes usam várias ferramentas e técnicas para provisionar, configurar e gerenciar a infraestrutura. À medida que suas equipes evoluem e crescem, elas podem fazer a transição do uso de portais e esforços manuais para o uso de código e automação para provisionar, configurar e gerenciar infraestrutura e serviços.
Considerações sobre automação da plataforma
- A implementação da metodologia Tudo como Código (EaC) permite que suas equipes desbloqueiem os principais benefícios, criem uma forte cultura de desenvolvimento e permitam que todos em cada equipe inspecionem como e quais recursos são implantados. O EaC também ajuda as equipes da sua plataforma a adotar as principais práticas de desenvolvimento que melhoram sua agilidade e eficiência. As suas equipas podem acompanhar as alterações e controlar quais passam para a produção, armazenando o código em repositórios e usando sistemas de controlo de versão para o gerir.
- As equipes podem seguir o princípio dos 4 olhos e usar a programação por pares ou a revisão por pares para garantir que as alterações de código nunca sejam feitas sozinhas. A programação e a revisão por pares melhoram a qualidade do código, permitem que as equipes compartilhem a responsabilidade pelas alterações e aumentem o conhecimento da equipe sobre o que é acordado e implantado. A revisão de código é uma maneira fantástica para os membros da equipe aprenderem novas técnicas e métodos de codificação e automação.
- As equipes devem usar sistemas de controle de versão como o Git, juntamente com repositórios Git, para impor a revisão por pares. Os repositórios Git permitem que suas equipes definam ramificações importantes e as protejam com políticas de filiais. Você pode usar a política para exigir alterações de código nessas ramificações para atender a determinados critérios, como um número mínimo de aprovações de membros da equipe, antes que eles possam se fundir em uma ramificação protegida.
- As equipas devem ligar a metodologia EaC e o processo de revisão de alterações juntamente com um processo de integração contínua e entrega contínua (CI/CD). Cada alteração de código deve acionar automaticamente um processo de CI que executa análises de código estático, validação e implantações de teste. A CI garante que os desenvolvedores verifiquem seu código antecipadamente (muitas vezes chamado de teste de falha rápida ou shift-left) em busca de erros que possam causar problemas futuros. Dependendo da estratégia de ramificação usada pela equipe, as alterações em qualquer ramificação importante devem desencadear a implantação em ambientes diferentes. Depois que as alterações são aprovadas e mescladas no
main, o processo de CD implanta essas alterações na produção. Este sistema de gerenciamento de código fornece à sua equipe uma única fonte de verdade para o que está sendo executado em cada ambiente. - Para garantir que sua plataforma seja totalmente autorrecuperável e forneça autosserviço para suas equipes de carga de trabalho, sua equipe de plataforma deve trabalhar para automatizar tudo (geralmente chamado de automação extrema), desde provisionamento, configuração e gerenciamento de plataforma até o provisionamento de assinatura de zona de destino para equipes de carga de trabalho. A automação extrema permite que sua equipe de plataforma se concentre em fornecer valor em vez de implantar, configurar e gerenciar sua plataforma. A automação extrema também cria um ciclo de autoaperfeiçoamento que dá à sua equipe mais tempo para construir mais automação.
- À medida que suas equipes de plataforma automatizam atividades operacionais e reduzem a intervenção humana, elas devem mudar seu foco para tarefas importantes que habilitam e aceleram a inovação da equipe de carga de trabalho no Azure. Para conseguir isso, a sua equipa de plataforma deve iterar através de vários ciclos de construção e desenvolvimento enquanto implementam as ferramentas, scripts e melhorias de capacidades da sua plataforma.
- Várias opções estão disponíveis para ajudar sua equipe a começar com a implantação da Zona de Pouso do Azure. Essas opções dependem das capacidades atuais da sua equipe e podem crescer à medida que sua equipe evolui. Mais especificamente, para Implantação de Plataforma, pode-se escolher entre experiências baseadas em Portal, Bicep ou Terraform, dependendo da proficiência em infraestrutura como código (IaC) e preferência de ferramentas das respetivas equipas.
- Equipas de plataformas novas e emergentes que ainda estão a conhecer o IaC e estão familiarizadas com o uso de um portal para implementar e gerir recursos podem usar o acelerador de portais de zonas de aterragem Azure. Este acelerador suporta equipas que atualmente utilizam uma abordagem ClickOps . ClickOps é o processo de provisionamento, configuração e gerenciamento de recursos clicando em portais, consoles de gerenciamento e assistentes. Esse acelerador permite que sua equipe use o portal como uma ferramenta de implantação inicial. À medida que a maturidade da engenharia da plataforma cresce, sua equipe pode incorporar gradualmente a CLI do Azure, o PowerShell ou o IaC.
- As equipes de plataforma com habilidades e capacidades estabelecidas podem adotar uma abordagem codificada que segue os princípios e práticas de DevOps. Sua equipe deve se basear fortemente em IaC e práticas de desenvolvimento modernas, deixando de usar o acesso do Azure em suas contas pessoais e passando a executar todas as operações por meio de seu pipeline de CI/CD. A sua equipa deve usar aceleradores baseados em IaC, como o acelerador Azure Landing Zone Infrastructure as Code (IaC).
- Os aceleradores baseados em IAC têm escopo de gerenciamento limitado. As novas versões fornecem mais recursos e maior capacidade de gerenciamento de recursos. Se estiver usando um acelerador, sua equipe deve considerar uma abordagem em camadas que começa com um acelerador e, em seguida, adiciona uma camada de automação. A camada de automação fornece os recursos de que sua equipe precisa para dar suporte total às equipes de carga de trabalho com recursos de plataforma, como a implantação de controlador de domínio para aplicativos herdados.
- À medida que sua equipe de plataforma faz a transição para uma abordagem de DevOps, eles precisam estabelecer um processo para lidar com correções de emergência. Eles podem usar permissões qualificadas do Privileged Identity Management (PIM) para solicitar acesso para executar correções e, posteriormente, trazê-lo de volta ao código para limitar o desvio de configuração, ou podem usar o código para implementar uma correção rápida. Sua equipe deve sempre registrar correções rápidas em sua lista de pendências para que possam retrabalhar cada correção em um ponto posterior e limitar sua dívida técnica. Muita dívida técnica leva a desaceleração futura, uma vez que alguns códigos de plataforma não são totalmente revisados e não atendem às diretrizes e princípios de codificação da equipe.
- Você pode usar as Políticas do Azure para adicionar alguma automação à sua plataforma. Considere usar o IaC para implantar e gerenciar as Políticas do Azure, geralmente chamadas de Política como Código (PaC). Essas políticas permitem automatizar atividades como a coleta de logs. Muitas estruturas de PaC também implementam um processo de isenção, portanto, planeje que suas equipes de carga de trabalho solicitem isenções de políticas.
- Use "Governança orientada por políticas" para sinalizar às equipes de carga de trabalho quando elas estiverem tentando implantar recursos que não atendem a um controle de segurança. Considere a implantação de políticas com o efeito para essas situações, o que permite que suas equipes de carga de trabalho também tratem Tudo como Código e evitem desvios de configuração em que o código declara uma coisa e a
denypolítica altera uma configuração no momento da implantação. Evite usarmodifyefeitos, tal como se uma equipa de trabalho implantar uma conta de armazenamento comsupportOnlyHttpsTraffic = falsedefinido no seu código, em que umamodifypolítica altera isto paratruedurante a implantação para garantir a conformidade. Isto leva ao desalinhamento do código em relação ao que é implementado.
Recomendação de projeto de automação de plataforma
- Siga uma abordagem Tudo como Código para total transparência e controle de configuração da plataforma Azure, documentação, implantação e processo de teste.
- Use o controle de versão para gerenciar todos os seus repositórios de código, incluindo:
- Infraestrutura como Código
- Política como Código
- Configuração como código
- Implantação como código
- Documentação como código
- Implemente o princípio dos 4 olhos e um processo de programação ourevisão por pares para garantir que todas as alterações de código sejam revisadas pela sua equipe antes de serem implantadas na produção.
- Adote uma estratégia de ramificação para sua equipe e defina políticas de ramificação para ramificações que você deseja proteger. Com as políticas de ramificação, as equipas devem usar pedidos de pull para realizar fusões de alterações.
- Use a integração contínua e a entrega contínua (CI/CD) para automatizar o teste de código e a implantação em diferentes ambientes.
- Trabalhe para automatizar tudo, como o provisionamento, a configuração e o gerenciamento de sua plataforma e o provisionamento de assinaturas de zona de destino para suas equipes de carga de trabalho.
- Use um dos aceleradores disponíveis que corresponda aos recursos da sua equipe para começar a implantar as Zonas de Aterrissagem do Azure.
- Planeje usar uma abordagem de implantação em camadas para adicionar recursos que não são cobertos por um acelerador, mas são necessários para dar suporte total às suas equipes de carga de trabalho.
- Estabeleça um processo para usar o código para implementar correções rápidas. Sempre registre correções rápidas na lista de pendências da sua equipe para que cada correção possa ser retrabalhada em um ponto posterior e você possa limitar a dívida técnica.
- Usar a Infraestrutura como Código para implantar e gerenciar Políticas do Azure (geralmente chamadas de Política como Código)
- Implementar um processo de isenção para políticas. Planeje que suas equipes de carga de trabalho solicitem isenções de políticas e esteja pronto para desbloquear as equipes quando necessário.
- Use a "governança orientada por políticas" para bloquear as equipes de carga de trabalho quando elas tentarem implantar recursos que não atendem a um controle de segurança. Isso ajuda a reduzir o desvio de configuração, onde o código declara um estado diferente do que acaba sendo implantado.
Ler mais
- Adote guarda-corpos orientados por políticas
- Fundamentos do bíceps
- Bíceps Intermediário
- Bíceps Avançado
- Usar ações do Bicep e do GitHub para implantar recursos do Azure
- Usar o Bicep e o Azure Pipelines para implantar os recursos do Azure
- Controle e governe seu ambiente do Azure implantando sua infraestrutura como código