Betrouwbaarheid in Azure Automation

Azure Automation is een service waarmee namens u beheertaken worden uitgevoerd. U definieert scripts, runbooks genoemd, die u wilt uitvoeren en Azure Automation de infrastructuur biedt voor het uitvoeren van deze scripts. Dit artikel is gericht op procesautomatisering. Dit is de kernmogelijkheid van de service. Hybrid runbook workers, die draaien op door de klant beheerde infrastructuur, vallen buiten de reikwijdte van dit artikel.

Wanneer u Azure gebruikt, is betrouwbaarheid een gedeelde verantwoordelijkheid. Microsoft biedt een scala aan mogelijkheden ter ondersteuning van tolerantie en herstel. U bent verantwoordelijk voor het begrijpen van de werking van deze mogelijkheden binnen alle services die u gebruikt en het selecteren van de mogelijkheden die u nodig hebt om te voldoen aan uw bedrijfsdoelstellingen en beschikbaarheidsdoelen.

In dit artikel wordt beschreven hoe u Azure Automation bestand maakt tegen verschillende mogelijke storingen en problemen, waaronder tijdelijke fouten, storingen in de beschikbaarheidszone, regiostoringen en serviceonderhoud. Ook worden back-up- en herstelopties beschreven, evenals belangrijke informatie over de Azure Automation sla (Service Level Agreement).

Aanbevelingen voor productie-implementatie voor betrouwbaarheid

Volg deze aanbevelingen voor productieworkloads die gebruikmaken van procesautomatisering:

  • Tijdelijke fouten verwerken die optreden wanneer uw runbooks communiceren met Azure services en API's door de juiste logica voor opnieuw proberen toe te voegen aan uw scripts.

  • Ontwerp uw runbooks zodanig dat ze bestand zijn tegen onderbrekingen. Gebruik controlepunten om de voortgang bij het opnieuw opstarten van taken te behouden en als u de status wilt opslaan, gebruikt u externe opslag.

Overzicht van betrouwbaarheidsarchitectuur

In deze sectie worden enkele belangrijke aspecten beschreven van de werking van de service die het meest relevant is vanuit het perspectief van betrouwbaarheid. In de sectie wordt de logische architectuur geïntroduceerd, die enkele van de resources en functies bevat die u implementeert en gebruikt. Ook wordt de fysieke architectuur besproken, die details biedt over hoe de service achter de schermen werkt.

Logische architectuur

Wanneer u Azure Automation implementeert, maakt u een Automation-account. Dit is een logische container voor resources die uw automatisering uitvoeren.

  • Runbooks, die het werk vertegenwoordigen dat moet worden uitgevoerd. Runbooks in tekstvorm zijn scripts die zijn geschreven in PowerShell of Python. Grafische runbooks worden gebouwd met behulp van een grafische editor.
  • Resources die runbooks delen, waaronder modules, verbindingen, referenties, certificaten en variabelen.
  • Resources die de uitvoering van runbooks initiëren, inclusief schema's en watchers.

Zie Runbook-uitvoering in Azure Automation voor meer informatie over deze resources.

Dit artikel bevat informatie over de betrouwbaarheid en tolerantie van deze mogelijkheden, die deel uitmaken van procesautomatisering in Azure Automation.

Fysieke architectuur

Runbooks worden uitgevoerd op computerinfrastructuur. Er bestaan twee implementatiemodellen voor procesautomatisering:

  • Cloudtaken (Microsoft beheerd): runbooks worden standaard uitgevoerd op Microsoft cloudinfrastructuur. Microsoft is verantwoordelijk voor de hoge beschikbaarheid en het beheer van deze infrastructuur. Wanneer u een runbooktaak verzendt, wijst Azure Automation een cloudtaak toe vanuit de pool met beschikbare rekenresources, voert u het runbook uit en retourneert u de resource vervolgens aan de pool.

    Cloudtaken kunnen soms worden onderbroken tijdens het uitvoeren. Ontwerp uw runbooks op basis van de veronderstelling dat een taak opnieuw kan worden opgestart op verschillende infrastructuur en dat gegevens die naar tijdelijke opslag op het vorige exemplaar worden geschreven, niet meer toegankelijk zijn.

  • Hybrid runbook workers: U kunt eventueel uw eigen compute-infrastructuur (virtuele machines in Azure, andere clouds of on-premises) configureren om runbooks uit te voeren. Wanneer u hybrid runbook workers gebruikt, bent u verantwoordelijk voor het configureren ervan om te voldoen aan uw betrouwbaarheidsvereisten. Hybrid runbook workers vallen buiten het bestek van dit artikel.

Tolerantie voor tijdelijke fouten

Tijdelijke fouten zijn korte, onregelmatige fouten in onderdelen. Ze vinden vaak plaats in een gedistribueerde omgeving, zoals de cloud, en ze zijn een normaal onderdeel van de bewerkingen. Tijdelijke fouten corrigeren zichzelf na een korte periode. Het is belangrijk dat uw toepassingen tijdelijke fouten kunnen afhandelen, meestal door de betreffende aanvragen opnieuw uit te voeren.

Alle cloudtoepassingen moeten de Azure richtlijnen voor tijdelijke foutafhandeling volgen wanneer ze communiceren met api's, databases en andere onderdelen die in de cloud worden gehost. Zie Aanbevelingen voor het afhandelen van tijdelijke foutenvoor meer informatie.

U bent verantwoordelijk voor het schrijven van runbooks die tijdelijke fouten verwerken in de services en API's waarmee ze communiceren. Implementeer voor tekstuele runbooks logica voor opnieuw proberen met behulp van lussen en foutafhandeling. Zie Tijdelijke fouten in een tijdafhankelijk script afhandelen voor hulp en voorbeelden. Voor grafische runbooks configureert u het gedrag voor opnieuw proberen voor activiteiten in uw workflow. Zie Activiteit opnieuw proberen in grafische runbooks voor meer informatie over de configuratie.

Onderhoud van infrastructuur of andere platform gebeurtenissen kunnen runbooktaken onderbreken. Ontwerp uw runbooks zodat ze deze onderbrekingen kunnen opvangen:

  • Controlepunten implementeren. Voor PowerShell-werkstroomrunbooks gebruikt u controlepunten om de voortgang op belangrijke punten in uw werkstroom op te slaan. Als een taak wordt onderbroken en opnieuw wordt gestart, kan deze worden hervat vanaf het laatste controlepunt in plaats van opnieuw te beginnen. Zie Controlepunten gebruiken in een werkstroom voor meer informatie.

  • Taaklimieten begrijpen. Cloudtaken hebben limieten voor een eerlijke verdeling van de uitvoeringsduur. Zie Runbook-uitvoering voor meer informatie over limieten voor taakuitvoering en hoe deze worden afgedwongen.

  • Sla de persistente toestand extern op. Taken onderhouden de status tussen uitvoeringen niet. Als een taak wordt onderbroken en opnieuw wordt gestart op een ander exemplaar, kan alles wat tijdens de eerste uitvoering naar tijdelijke opslag wordt geschreven, verloren gaan. Als u gegevens tussen taakuitvoeringen wilt behouden, slaat u deze op in externe opslag, zoals Azure Blob Storage of een database.

Tolerantie voor fouten in beschikbaarheidszones

Beschikbaarheidszones zijn fysiek gescheiden groepen datacenters binnen een Azure-regio. Wanneer één zone uitvalt, kunnen services een failover uitvoeren naar een van de resterende zones.

In ondersteunde regio's zijn Automation-accounts en cloudtaken zone-redundant, wat betekent dat de service uw resources verspreidt over meerdere beschikbaarheidszones. Microsoft schakelt zoneredundantie automatisch in en vereist geen configuratie.

Diagram met een Automation-account, dat automatisch zonetolerant is, inclusief zone-tolerante runbooks en andere resources.

Requirements

Regioondersteuning: Wanneer u een automation-account in een van de volgende regio's implementeert, is dit automatisch zone-redundant:

Americas Europe Midden-Oosten Africa Asia Pacific
Brazil South France Central Israël Centraal Zuid-Afrika - noord Australia East
Canada Central Duitsland West Centraal Qatar Central Central India
Central US Italy North China - noord 3
East US North Europe East Asia
Oostelijke Verenigde Staten 2 Norway East Japan East
Zuid-Centraal Verenigde Staten Centraal Polen Korea Central
Amerikaanse overheid Virginia Sweden Central Southeast Asia
Westelijke Verenigde Staten 2 UK South
Westelijke VS 3 West Europe

Zie De ondersteuning voor beschikbaarheidszones voor Azure Automation voor de huidige lijst met ondersteunde regio's.

Cost

Er worden geen extra kosten in rekening gebracht voor zoneredundantie. Voor procesautomatisering is facturering gebaseerd op de tijdsduur die uw taken en watchers uitvoeren. Zie Azure Automation prijzen voor meer informatie.

Ondersteuning voor beschikbaarheidszones configureren

Wanneer u een Automation-account in een ondersteunde regio maakt, wordt dit automatisch zone-redundant. U kunt zoneredundantie niet uitschakelen. Zie Ondersteuning voor beschikbaarheidszones voor Azure Automation voor meer informatie.

Gedrag wanneer alle zones in orde zijn

In deze sectie wordt beschreven wat u kunt verwachten wanneer uw Automation-account zone-redundant is en alle beschikbaarheidszones in de regio operationeel zijn.

  • Werking over meerdere zones: Beheerbewerkingen voor Automation-accounts en cloudtaken worden automatisch verdeeld over beschikbaarheidszones in de regio. Een verzoek of taak kan worden afgehandeld door een willekeurig exemplaar in welke beschikbaarheidszone dan ook.

  • Replicatie van gegevens over meerdere zones: De configuratie van het Automation-account, runbookscripts en andere resources die u naar uw Automation-account implementeert, worden synchroon gerepliceerd over meerdere beschikbaarheidszones heen.

Gedrag tijdens een zonefout

In deze sectie wordt beschreven wat u kunt verwachten wanneer uw Automation-account zone-redundant is en er een storing is in een van de beschikbaarheidszones in de regio.

  • Detectie en reactie: Het Azure Automation-platform is verantwoordelijk voor het detecteren van een fout in een beschikbaarheidszone. U hoeft niets te doen om een zonefailover te starten.
  • Notification: Microsoft informeert u niet automatisch wanneer een zone niet beschikbaar is. U kunt Azure Service Health echter gebruiken om inzicht te hebben in de algehele status van de service, inclusief eventuele zonefouten, en u kunt Service Health-waarschuwingen instellen om u op de hoogte te stellen van problemen.
  • Actieve verzoeken: Alle taken die momenteel worden uitgevoerd in de zone met problemen, kunnen worden onderbroken. Azure Automation start automatisch een nieuwe taakuitvoering met behulp van de infrastructuur in gezonde zones. Ontwerp uw runbooks zo dat ze bestand zijn tegen tijdelijke storingen en onderbrekingen, zodat ze veilig opnieuw kunnen starten.

  • Verwacht gegevensverlies: Taakuitvoeringen slaan geen status op, waardoor een storing in een zone naar verwachting geen gegevensverlies veroorzaakt voor taken die in uitvoering zijn. Als een taak gegevens moet opslaan die kunnen worden gebruikt om te herstellen na onderbrekingen, zoals controlepunten, slaat u die informatie op in een permanente cloudopslagservice, zoals Azure Storage of een database.

    De Automation-accountconfiguratie en runbookgegevens worden over zones heen gerepliceerd en blijven toegankelijk, zelfs wanneer een zone niet beschikbaar is.

  • Verwachte downtime: Tijdens een zonestoring kan uw Automation-account een korte onderbreking ervaren terwijl de service de fout detecteert en de workload herdistribueert naar gezonde zones.

  • Herverdeling: De service herverdeelt automatisch de capaciteit over de resterende gezonde zones. Nieuwe jobuitvoeringen, bewakingsprocessen en schema's blijven draaien op infrastructuur in gezonde zones. Herstel is niet afhankelijk van het feit dat de uitgevallen zone weer in gebruik komt.

Zoneherstel

Wanneer een uitgevallen zone weer beschikbaar komt, neemt Azure Automation deze automatisch opnieuw op in de zonerotatie. U hoeft geen actie te ondernemen. De service bewaakt de gezondheid van de zone en verdeelt de werklast opnieuw over alle zones wanneer de normale werking wordt hervat.

Testen op zonefouten

Azure Automation beheert verkeersroutering, failover en zoneherstel voor zone-redundante resources. U hoeft niets te initiëren en u hoeft geen processen voor fouten in de beschikbaarheidszone te valideren. Test uw runbooks om na te gaan of ze bestand zijn tegen onderbrekingen.

Tolerantie voor storingen in de hele regio

Azure Automation is een service met één regio. Als de regio niet beschikbaar is, is uw Automation-account ook niet beschikbaar.

Aangepaste multiregionale oplossingen voor veerkracht

U kunt afzonderlijke Automation-accounts implementeren in meerdere regio's en schakelen tussen deze accounts wanneer dat nodig is. U bent verantwoordelijk voor het implementeren van de accounts in elke regio, het configureren ervan op de juiste manier, het distribueren van aanvragen tussen de accounts en het afhandelen van failover als een regio niet beschikbaar is. Zie Noodherstel voor Azure Automation voor gedetailleerde informatie over benaderingen die u kunt overwegen.

Back-up maken en terugzetten

Voor de meeste oplossingen hoeft u niet uitsluitend te vertrouwen op back-ups. Gebruik in plaats daarvan de andere mogelijkheden die in deze handleiding worden beschreven om uw tolerantievereisten te ondersteunen. Back-ups beschermen echter tegen enkele risico's die andere benaderingen niet opleveren. Zie Wat zijn redundantie, replicatie en back-up? voor meer informatie.

Azure Automation biedt geen ingebouwde back-up voor de configuratie van uw Automation-account of runbookinhoud. Bewaar uw eigen kopieën buiten de service, zodat u ze indien nodig opnieuw kunt implementeren.

  • Gebruik infrastructuur als code (IaC) voor de configuratie van automation-accounts. Definieer Automation-accounts en gerelateerde resources in Bicep-bestanden, ARM-sjablonen of Terraform. Sla de sjablonen op in broncodebeheer en gebruik uw implementatiepijplijn om de omgeving in dezelfde of een andere regio opnieuw te maken. Neem certificaten, variabelen, planningen en referentieverwijzingen op in uw artefacten en implementatieprocessen. Sla geheimen op in services zoals Azure Key Vault in plaats van waarden rechtstreeks in runbookcode in te sluiten.

  • Sla runbookscripts op in broncodebeheer. Behoud de bron voor PowerShell en Python runbooks in een broncodebeheersysteem zoals Git. Gebruik versiebeheer, vertakkingen en controle van pull-aanvragen om de scriptkwaliteit te beschermen en terugdraaien naar bekende goede versies in te schakelen.

  • Maak een back-up van de toestand uit de desbetreffende gegevensopslag. Jobs behouden hun status niet. Als u gedetailleerde taaklogboeken of andere gegevens wilt bewaren die door uw runbooks worden gegenereerd, slaat u deze op in een andere Azure opslag- of databaseservice en maakt u daar een back-up van.

Veerkracht tegen onbedoeld verwijderen

Als u per ongeluk een Automation-account verwijdert, kunt u dit mogelijk binnen een beperkte periode herstellen. Zie Een verwijderd Automation-account herstellen voor meer informatie.

Tolerantie voor serviceonderhoud

Microsoft past regelmatig service-updates toe en voert ander onderhoud uit. Het Azure platform verwerkt deze activiteiten automatisch en zorgt ervoor dat onderhoud naadloos en transparant voor u is. Er wordt geen downtime verwacht tijdens onderhoudsgebeurtenissen, tenzij u op de hoogte bent gesteld via Azure Service Health gepland onderhoud.

Diensteniveau-overeenkomst

De SLA (Service Level Agreement) voor Azure-services beschrijft de verwachte beschikbaarheid van elke service en de voorwaarden waaraan uw oplossing moet voldoen om die beschikbaarheidsverwachting te bereiken. Zie SLA's voor onlineservices voor meer informatie.