Editar

Partilhar via


Orientações para a implementação da venda automática de subscrições

Azure

Este artigo fornece orientações de implementação para automação de venda automática de assinaturas. A venda automática de assinaturas padroniza o processo de solicitação, implantação e controle de assinaturas para que as equipes de aplicativos possam implantar suas cargas de trabalho mais rapidamente.

Diagram showing how the subscriptions vending fits in an organization.Figura 1. Uma implementação de venda automática de subscrição num exemplo de ambiente do Azure.

GitHub icon Criamos módulos de venda automática de assinatura Bicep e Terraform que você deve usar como ponto de partida. Você deve modificar os modelos para atender às suas necessidades de implementação. Para obter mais informações sobre o processo de venda automática de assinaturas, consulte Visão geral da venda automática de assinaturas.

Arquitetura

Você deve arquitetar sua automação de venda automática de assinatura para realizar três tarefas principais. A automação de venda automática de assinaturas deve (1) coletar dados de solicitação de assinatura, (2) iniciar a automação da plataforma e (3) criar a assinatura usando infraestrutura como código. Existem várias abordagens para implementar a automação de venda automática de assinaturas para realizar essas três tarefas. O exemplo de implementação (figura 2) mostra uma abordagem que usa um Gitflow. O design do Gitflow está alinhado com a abordagem declarativa que muitas equipes de plataforma usam para gerenciar a plataforma.

Diagram showing the example implementation of subscription vending automation.Figura 2. Exemplo de implementação de automação de venda automática de assinaturas.

No exemplo de implementação (figura 2), a ferramenta de coleta de dados reúne dados de solicitação de assinatura. Quando a solicitação de assinatura recebe aprovação, ela inicia a automação da plataforma. A automação da plataforma consiste no pipeline de solicitação, controle do código-fonte e pipeline de implantação. O pipeline de solicitação cria um arquivo de parâmetro de assinatura JSON ou YAML com os dados da ferramenta de coleta de dados. O pipeline de solicitação também cria uma nova ramificação, confirma o arquivo de parâmetro de assinatura e abre uma solicitação pull no controle do código-fonte. A nova ramificação se funde com a ramificação principal no controle do código-fonte. A mesclagem aciona o pipeline de implantação para criar a assinatura com os módulos de infraestrutura como código.

A implantação deve colocar a assinatura no grupo de gerenciamento correto com base nos requisitos de governança (veja a figura 1). A implantação cria um orçamento de assinatura preliminar como base para o gerenciamento de custos. Com base nas necessidades da carga de trabalho, a implantação pode criar uma rede virtual vazia e configurar o emparelhamento para um hub regional. A equipe da plataforma deve entregar a assinatura para a equipe do aplicativo após a criação e configuração. A equipe do aplicativo deve atualizar o orçamento da assinatura e criar os recursos de carga de trabalho.

Recolher dados

O objetivo da coleta de dados é receber aprovação comercial e definir os valores do arquivo de parâmetros de assinatura JSON/YAML. Você deve usar uma ferramenta de coleta de dados para coletar os dados necessários quando a equipe do aplicativo enviar a solicitação de assinatura. A ferramenta de recolha de dados deve interagir com outros sistemas no fluxo de trabalho de venda automática de subscrição para iniciar a automatização da plataforma.

Utilize uma ferramenta de recolha de dados. Você pode usar uma ferramenta de Gerenciamento de Serviços de TI (ITSM) para coletar os dados ou criar um portal do cliente com uma ferramenta low-code ou no-code como o Microsoft PowerApps. A ferramenta de coleta de dados deve fornecer lógica de negócios para aprovar ou negar a solicitação de assinatura.

Recolha os dados necessários. Você precisa coletar dados suficientes para definir os valores do parâmetro de assinatura JSON/YAML para que possa automatizar a implantação. Os valores específicos que recolhe dependem das suas necessidades. Você deve capturar o autorizador de solicitação, o centro de custo e os requisitos de rede (conectividade com a Internet ou local). Pode ser útil perguntar à equipe do aplicativo os componentes de carga de trabalho previstos (plataforma do aplicativo, requisitos de dados), a sensibilidade dos dados e o número de ambientes (desenvolvimento, teste, pré-produção, produção).

Valide dados. Deve validar os dados durante o processo de recolha de dados. É mais difícil resolver problemas mais tarde nas fases de automação da plataforma.

Crie uma solicitação rastreável. Sua ferramenta de coleta de dados deve criar uma solicitação registrada e rastreável para uma nova assinatura (por exemplo, um tíquete em uma ferramenta ITSM). O pedido deve conter todos os dados necessários para cumprir os requisitos dessa subscrição. Você deve vincular a lógica de negócios e o rastreamento de autorização à solicitação.

Interface com outros sistemas internos. Quando necessário, a ferramenta de coleta de dados deve interagir com outras ferramentas ou sistemas em sua organização. O objetivo é enriquecer a solicitação com dados de outros sistemas. Você pode precisar de dados de identidade, finanças, segurança e rede para executar a automação. Por exemplo, a automação pode interagir com uma ferramenta de gerenciamento de endereços IP (IPAM) para reservar o espaço de endereço IP correto.

Crie um gatilho. Quando o pedido de subscrição recebe aprovação, a transferência de dados deve desencadear a automatização da plataforma. É melhor criar uma notificação por push com os dados necessários da sua ferramenta de coleta de dados. Você pode precisar de uma camada de middleware, como o Azure Functions ou o Azure Logic Apps, para iniciar o processo.

Inicie a automação da plataforma

A notificação e os dados da ferramenta de recolha de dados devem desencadear a automatização da plataforma. O objetivo da automação da plataforma é criar um arquivo de parâmetro de assinatura JSON/YAML, mesclar o arquivo com a ramificação principal e implantá-lo com os módulos de infraestrutura como código para criar a assinatura. A equipe da plataforma deve possuir e manter a automação da plataforma. A automação da plataforma no exemplo de implementação consiste no pipeline de solicitação, no controle do código-fonte e no pipeline de implantação (consulte a figura 2).

Use arquivos JSON ou YAML. Você deve usar arquivos de dados estruturados (JSON ou YAML) para armazenar os dados para criar uma assinatura. Você deve documentar a estrutura do arquivo e torná-lo extensível para suportar necessidades futuras. Por exemplo, o trecho de código JSON a seguir define os valores de parâmetro de assinatura para um dos módulos Bicep no GitHub.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "subscriptionDisplayName": {
      "value": "sub-bicep-lz-vending-example-001"
    },
    "subscriptionAliasName": {
      "value": "sub-bicep-lz-vending-example-001"
    },
    "subscriptionBillingScope": {
      "value": "providers/Microsoft.Billing/billingAccounts/1234567/enrollmentAccounts/123456"
    },
  // Insert more parameters here
  }
}

Ver ficheiro completo. Para obter mais exemplos, consulte Exemplos de Bicep e Exemplos de Terraform

Use um arquivo por solicitação de assinatura. A subscrição é a unidade de implementação no processo de venda automática de subscrição, pelo que cada pedido de subscrição deve ter um ficheiro de parâmetros de subscrição dedicado.

Use um sistema de pull request. O processo Gitflow que cria o arquivo de parâmetro de assinatura deve automatizar as seguintes etapas:

  1. Crie uma nova ramificação para cada solicitação de assinatura.
  2. Use os dados coletados para criar um único arquivo de parâmetro de assinatura YAML/JSON para a nova assinatura na ramificação.
  3. Crie uma solicitação pull da sua filial para o main.
  4. Atualize a ferramenta de coleta de dados com uma alteração de estado e referência a essa solicitação pull.

O pipeline de solicitação na implementação de exemplo executa essas etapas (veja a figura 2). Você também pode usar uma solução baseada em código hospedada no Azure se o fluxo de trabalho for complexo.

Valide o arquivo de parâmetro de assinatura. A solicitação pull deve acionar um processo de revestimento para validar os dados da solicitação. O objetivo é garantir que a implantação seja bem-sucedida. Ele deve validar o arquivo de parâmetro de assinatura YAML/JSON. Também pode verificar se o intervalo de endereços IP ainda está disponível. Você também pode querer adicionar um portão de revisão manual com intervenção humana. Eles poderiam realizar a revisão final e fazer alterações no arquivo de parâmetros de assinatura. A saída deve ser um arquivo de parâmetro de assinatura JSON/YAML com todos os dados para criar uma assinatura.

Acione o pipeline de implantação. Quando a solicitação pull é mesclada main na ramificação, a mesclagem deve acionar o pipeline de implantação.

Criar uma subscrição

A última tarefa da automação de venda automática de assinaturas é criar e configurar a nova assinatura. O exemplo de implementação usa o pipeline de implantação para implantar o módulo de infraestrutura como código com o arquivo de parâmetro de assinatura JSON/YAML (consulte a figura 2).

Use a infraestrutura como código. Sua implantação deve usar a infraestrutura como código para criar a assinatura. A equipe da plataforma deve criar e manter esses modelos para garantir uma governança adequada. Você deve usar os módulos de venda automática de assinatura Bicep e Terraform e modificá-los para atender às suas necessidades de implementação.

Use um pipeline de implantação. O pipeline de implantação orquestra a criação e a configuração da nova assinatura. O pipeline deve executar as seguintes tarefas:

Categoria de tarefa Tarefa de pipeline
Identidade • Crie ou atualize recursos do Microsoft Entra para representar a propriedade da assinatura.
• Configurar identidades de carga de trabalho privilegiadas para implantações de equipe de carga de trabalho.
Governação • Lugar na hierarquia do grupo de gestão.
• Atribua o proprietário da assinatura.
• Configure controles de acesso baseados em função (RBACs) no nível de assinatura para grupos de segurança configurados.
• Atribua a Política do Azure no nível da assinatura.
• Configurar o registro do Microsoft Defender para Cloud.
Rede • Implantar redes virtuais.
• Configurar emparelhamento de rede virtual para recursos da plataforma (hub regional).
Orçamentos • Criar orçamentos para os proprietários da subscrição utilizando os dados recolhidos.
Relatórios • Atualizar sistemas externos, como o IPAM, para se comprometer com reservas de IP.
• Atualizar o pedido da ferramenta de recolha de dados com o nome final da subscrição e identificador global único (GUID).
• Notifique a equipa da aplicação de que a subscrição está pronta.

Você precisa de um contrato comercial para criar uma assinatura programaticamente. Se você não tiver um contrato comercial, precisará introduzir um processo manual para criar a assinatura, mas ainda poderá automatizar todos os outros aspetos da configuração da assinatura.

Estabeleça uma identidade de carga de trabalho. O pipeline de implantação precisa de permissão para executar essas operações com todos os sistemas com os quais faz interface. Você deve usar a identidade gerenciada ou o OpenID Connect (OIDC) para autenticar no Azure.

Pós-implementação

A automação de venda automática de assinaturas termina com a criação e configuração de assinaturas. A equipe da plataforma deve entregar a nova assinatura para a equipe do aplicativo após a criação. A equipe do aplicativo deve atualizar o orçamento da assinatura, criar os recursos da carga de trabalho e implantar a carga de trabalho. A equipe da plataforma controla a governança da assinatura e gerencia as alterações na governança da assinatura ao longo do tempo.

Reforçar a gestão de custos. Os orçamentos de assinatura fornecem notificações que são essenciais para o gerenciamento de custos. A implantação deve criar um orçamento de assinatura preliminar com base nos dados da solicitação de assinatura. A equipa de aplicação recebe a subscrição. Devem atualizar o orçamento para satisfazer as necessidades do volume de trabalho. Para obter mais informações, consulte:

Gerencie a governança da assinatura. Você deve atualizar a assinatura à medida que os requisitos de governança da carga de trabalho forem alterados. Por exemplo, talvez seja necessário mover uma assinatura para um grupo de gerenciamento diferente. Você deve criar automação para algumas dessas operações de rotina. Para obter mais informações, consulte:

Próximos passos

A venda automática de assinaturas simplifica e padroniza o processo de criação de assinaturas e o coloca sob a governança da organização. Você deve implementar a automação de venda automática de assinaturas para ajudar suas equipes de aplicativos a acessar zonas de aterrissagem de aplicativos mais rapidamente e integrar cargas de trabalho mais rapidamente. Para obter mais informações, consulte: