Bewerken

Share via


Richtlijnen voor implementatie van abonnementen

Azure

Dit artikel bevat richtlijnen voor implementatie voor abonnementsautomaat automatisering. Met abonnementsverkoop wordt het proces voor het aanvragen, implementeren en beheren van abonnementen gestandaardiseerde, zodat toepassingsteams hun workloads sneller kunnen implementeren.

Diagram showing how the subscriptions vending fits in an organization.Afbeelding 1. Een abonnementsautomaat-implementatie in een Azure-voorbeeldomgeving.

GitHub iconWe hebben abonnementsautomaat Bicep- en Terraform-modules gemaakt die u als uitgangspunt moet gebruiken. U moet de sjablonen aanpassen aan uw implementatiebehoeften. Zie het overzicht van de verkoopautomaat voor abonnementen voor meer informatie over het abonnementsautomaat proces.

Architectuur

U moet uw abonnementsautomaat automatisering ontwerpen om drie primaire taken uit te voeren. Automatisering van abonnementsautomaten moet (1) gegevens van abonnementsaanvragen verzamelen, (2) platformautomatisering initiëren en (3) het abonnement maken met infrastructuur als code. Er zijn verschillende methoden voor het implementeren van abonnementsautomaat automatisering om deze drie taken uit te voeren. In de voorbeeld-implementatie (afbeelding 2) ziet u één benadering die gebruikmaakt van een Gitflow. Het Gitflow-ontwerp is afgestemd op de declaratieve benadering die veel platformteams gebruiken om het platform te beheren.

Diagram showing the example implementation of subscription vending automation.Afbeelding 2. Voorbeeld van implementatie van abonnementsautomaat automatisering.

In de voorbeeld-implementatie (afbeelding 2) verzamelt het hulpprogramma voor gegevensverzameling gegevens over de abonnementsaanvraag. Wanneer de abonnementsaanvraag goedkeuring ontvangt, wordt de platformautomatisering gestart. De platformautomatisering bestaat uit de aanvraagpijplijn, broncodebeheer en implementatiepijplijn. De aanvraagpijplijn maakt een JSON- of YAML-abonnementsparameterbestand met de gegevens uit het hulpprogramma voor gegevensverzameling. De aanvraagpijplijn maakt ook een nieuwe vertakking, voert het parameterbestand van het abonnement door en opent een pull-aanvraag in broncodebeheer. De nieuwe vertakking wordt samengevoegd met de hoofdbranch in broncodebeheer. Met de samenvoegbewerking wordt de implementatiepijplijn geactiveerd om het abonnement te maken met de modules infrastructuur als code.

De implementatie moet het abonnement in de juiste beheergroep plaatsen op basis van de governancevereisten (zie afbeelding 1). De implementatie maakt een voorlopig abonnementsbudget als basis voor kostenbeheer. Op basis van de behoeften van de workload kan de implementatie een leeg virtueel netwerk maken en peering configureren voor een regionale hub. Het platformteam moet het abonnement na het maken en configureren overdragen aan het toepassingsteam. Het toepassingsteam moet het abonnementsbudget bijwerken en de workloadresources maken.

Gegevens verzamelen

Het doel van het verzamelen van gegevens is het ontvangen van zakelijke goedkeuring en het definiëren van de waarden van het JSON/YAML-abonnementsparameterbestand. U moet een hulpprogramma voor gegevensverzameling gebruiken om de vereiste gegevens te verzamelen wanneer het toepassingsteam de abonnementsaanvraag indient. Het hulpprogramma voor gegevensverzameling moet een interface hebben met andere systemen in de abonnementsautomaat werkstroom om de platformautomatisering te initiëren.

Gebruik een hulpprogramma voor gegevensverzameling. U kunt een ITSM-hulpprogramma (IT Service Management) gebruiken om de gegevens te verzamelen of een klantportal te bouwen met een hulpprogramma met weinig of geen code, zoals Microsoft PowerApps. Het hulpprogramma voor gegevensverzameling moet bedrijfslogica bieden om de abonnementsaanvraag goed te keuren of te weigeren.

Verzamel de vereiste gegevens. U moet voldoende gegevens verzamelen om de waarden van de JSON/YAML-abonnementsparameter te definiëren, zodat u de implementatie kunt automatiseren. De specifieke waarden die u verzamelt, zijn afhankelijk van uw behoeften. U moet de aanvraag autoriseren, kostenplaats en netwerkvereisten vastleggen (internet- of on-premises connectiviteit). Het kan handig zijn om het toepassingsteam te vragen om verwachte workloadonderdelen (toepassingsplatform, gegevensvereisten), gegevensgevoeligheid en het aantal omgevingen (ontwikkeling, test, preproductie, productie).

Gegevens valideren. U moet gegevens valideren tijdens het verzamelen van gegevens. Het is moeilijker om problemen later in de automatiseringsfase van het platform op te lossen.

Maak een traceerbare aanvraag. Uw hulpprogramma voor gegevensverzameling moet een geregistreerd en traceerbaar verzoek voor een nieuw abonnement maken (bijvoorbeeld een ticket in een ITSM-hulpprogramma). De aanvraag moet alle benodigde gegevens bevatten om te voldoen aan de vereisten van dat abonnement. U moet de bedrijfslogica en autorisatietracering binden aan de aanvraag.

Interface met andere interne systemen. Waar nodig moet het hulpprogramma voor gegevensverzameling communiceren met andere hulpprogramma's of systemen in uw organisatie. Het doel is om de aanvraag te verrijken met gegevens van andere systemen. Mogelijk hebt u identiteits-, financiële, beveiligings- en netwerkgegevens nodig om de automatisering uit te voeren. De automatisering kan bijvoorbeeld een interface hebben met een IPAM-hulpprogramma (IP ADDRESS Management) om de juiste IP-adresruimte te reserveren.

Maak een trigger. Wanneer de abonnementsaanvraag goedkeuring ontvangt, moet de gegevensoverdracht de platformautomatisering activeren. U kunt het beste een pushmelding maken met de benodigde gegevens uit uw hulpprogramma voor gegevensverzameling. Mogelijk hebt u een middlewarelaag nodig, zoals Azure Functions of Azure Logic Apps, om het proces te starten.

Platformautomatisering initiëren

De melding en gegevens van het hulpprogramma voor gegevensverzameling moeten de platformautomatisering activeren. Het doel van platformautomatisering is om een JSON/YAML-abonnementsparameterbestand te maken, het bestand samen te voegen aan de hoofdvertakking en het te implementeren met de modules infrastructuur als code om het abonnement te maken. Het platformteam moet eigenaar zijn van en de platformautomatisering behouden. De platformautomatisering in de voorbeeldimplementatie bestaat uit de aanvraagpijplijn, broncodebeheer en implementatiepijplijn (zie afbeelding 2).

Gebruik JSON- of YAML-bestanden. U moet gestructureerde gegevensbestanden (JSON of YAML) gebruiken om de gegevens op te slaan om een abonnement te maken. U moet de structuur van het bestand documenteren en deze uitbreidbaar maken om toekomstige behoeften te ondersteunen. Het volgende JSON-codefragment definieert bijvoorbeeld de parameterwaarden voor het abonnement voor een van de Bicep-modules in 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
  }
}

Zie het hele bestand. Zie Bicep-voorbeelden en Terraform-voorbeelden voor meer voorbeelden

Gebruik één bestand per abonnementsaanvraag. Het abonnement is de implementatie-eenheid in het abonnementsautomaat proces, dus elke abonnementsaanvraag moet één toegewezen abonnementsparameterbestand hebben.

Gebruik een pull-aanvraagsysteem. Het Gitflow-proces waarmee het parameterbestand voor het abonnement wordt gemaakt, moet de volgende stappen automatiseren:

  1. Maak een nieuwe vertakking voor elke abonnementsaanvraag.
  2. Gebruik de verzamelde gegevens om één YAML-/JSON-abonnementsparameterbestand te maken voor het nieuwe abonnement in de vertakking.
  3. Maak een pull-aanvraag van uw vertakking naar main.
  4. Werk het hulpprogramma voor gegevensverzameling bij met een statuswijziging en verwijzing naar deze pull-aanvraag.

De aanvraagpijplijn in de voorbeeld-implementatie voert deze stappen uit (zie afbeelding 2). U kunt ook een oplossing op basis van code gebruiken die wordt gehost in Azure als de werkstroom complex is.

Valideer het abonnementsparameterbestand. De pull-aanvraag moet een lintingproces activeren om de aanvraaggegevens te valideren. Het doel is ervoor te zorgen dat de implementatie is geslaagd. Het parameterbestand voor het YAML-/JSON-abonnement moet worden gevalideerd. Ook kan worden gecontroleerd of het IP-adresbereik nog steeds beschikbaar is. U kunt ook een handmatige controlepoort met menselijke tussenkomst toevoegen. Ze kunnen de laatste beoordeling uitvoeren en wijzigingen aanbrengen in het parameterbestand van het abonnement. De uitvoer moet een JSON-/YAML-abonnementsparameterbestand zijn met alle gegevens om een abonnement te maken.

Activeer de implementatiepijplijn. Wanneer de pull-aanvraag wordt samengevoegd in de main vertakking, moet de samenvoeging de implementatiepijplijn activeren.

Een abonnement maken

De laatste taak van de abonnementsautomaat automatisering is het maken en configureren van het nieuwe abonnement. In de voorbeeldimplementatie wordt de implementatiepijplijn gebruikt om de module infrastructuur als code te implementeren met het parameterbestand voor het JSON/YAML-abonnement (zie afbeelding 2).

Gebruik infrastructuur als code. Uw implementatie moet infrastructuur als code gebruiken om het abonnement te maken. Het platformteam moet deze sjablonen maken en onderhouden om de juiste governance te garanderen. U moet de abonnementsautomaat Bicep- en Terraform-modules gebruiken en deze aanpassen aan uw implementatiebehoeften.

Gebruik een implementatiepijplijn. De implementatiepijplijn organiseert het maken en configureren van het nieuwe abonnement. De pijplijn moet de volgende taken uitvoeren:

Taakcategorie Pijplijntaak
Identiteit • Microsoft Entra-resources maken of bijwerken om het eigendom van het abonnement weer te geven.
• Configureer geprivilegieerde workloadidentiteiten voor workloadteamimplementaties.
Beheer • Plaats in de hiërarchie van beheergroepen.
• Wijs de eigenaar van het abonnement toe.
• Configureer op abonnementsniveau op rollen gebaseerd toegangsbeheer (RBAC's) voor geconfigureerde beveiligingsgroepen.
• Wijs Azure Policy op abonnementsniveau toe.
• Configureer de Microsoft Defender voor Cloud-inschrijving.
Netwerken • Virtuele netwerken implementeren.
• Peering van virtuele netwerken configureren voor platformbronnen (regionale hub).
Budgetten • Budgetten maken voor de eigenaren van het abonnement met behulp van de verzamelde gegevens.
Rapportage • Externe systemen, zoals IPAM, bijwerken om ip-reserveringen door te voeren.
• Werk de aanvraag van het hulpprogramma voor gegevensverzameling bij met de definitieve abonnementsnaam en GUID (Globally Unique Identifier).
• Informeer het toepassingsteam dat het abonnement gereed is.

U hebt een commerciële overeenkomst nodig om programmatisch een abonnement te maken. Als u geen commerciële overeenkomst hebt, moet u een handmatig proces introduceren om het abonnement te maken, maar u kunt nog steeds alle andere aspecten van de abonnementsconfiguratie automatiseren.

Stel een workloadidentiteit in. De implementatiepijplijn heeft toestemming nodig om deze bewerkingen uit te voeren met alle systemen waarmee deze interfaces hebben. U moet beheerde identiteit of OpenID Verbinding maken (OIDC) gebruiken om te verifiëren bij Azure.

Na implementatie

De abonnementsautomaat automatisering eindigt op het maken en configureren van abonnementen. Het platformteam moet het nieuwe abonnement na het maken overdragen aan het toepassingsteam. Het toepassingsteam moet het abonnementsbudget bijwerken, de workloadresources maken en de workload implementeren. Het platformteam beheert de governance van het abonnement en beheert wijzigingen in abonnementsbeheer in de loop van de tijd.

Kostenbeheer afdwingen. Abonnementsbudgetten bieden meldingen die essentieel zijn voor kostenbeheer. De implementatie moet een voorlopig abonnementsbudget maken op basis van de gegevens van de abonnementsaanvraag. Het toepassingsteam ontvangt het abonnement. Ze moeten het budget bijwerken om te voldoen aan de behoeften van de workload. Zie voor meer informatie:

Beheer van abonnementsbeheer. U moet het abonnement bijwerken naarmate de governancevereisten van de workload veranderen. U moet bijvoorbeeld een abonnement verplaatsen naar een andere beheergroep. U moet automatisering bouwen voor sommige van deze routinebewerkingen. Zie voor meer informatie:

Volgende stappen

Abonnementsverkoop vereenvoudigt en standaardiseert het proces voor het maken van abonnementen en plaatst het onder het beheer van de organisatie. U moet abonnementsautomaat automatisering implementeren om uw toepassingsteams sneller toegang te geven tot landingszones voor toepassingen en workloads sneller te onboarden. Zie voor meer informatie: