Delen via


Aanbevelingen voor het uitvoeren van faalmodusanalyses

Van toepassing op deze aanbeveling voor de Well-Architected Reliability-checklist: Power Platform

RE:03 Gebruik Failure Mode Analysis (FMA) om potentiële fouten in de onderdelen van uw oplossing te identificeren en te prioriteren. Voer FMA uit om u te helpen het risico en de gevolgen van elke storingsmodus te beoordelen. Bepaal hoe de workload reageert en herstelt.

In deze handleiding worden de best practices beschreven voor het uitvoeren van een faalmodusanalyse (FMA) voor uw workload. FMA is de praktijk van het identificeren van potentiële faalpunten binnen uw workload, de bijbehorende stromen en het dienovereenkomstig plannen van mitigatiemaatregelen. Bij elke stap van de stroom identificeert u de explosieradius van meerdere typen fouten, waardoor u een nieuwe workload kunt ontwerpen of een bestaande workload kunt herstructureren om het wijdverbreide effect van fouten te minimaliseren.

Een belangrijk uitgangspunt van FMA is dat mislukkingen optreden, ongeacht hoeveel flexibiliteitslagen u ook toepast. Complexere omgevingen worden blootgesteld aan meer soorten storingen. Gegeven deze realiteit kunt u met FMA uw workload zo ontwerpen dat deze de meeste typen storingen kan weerstaan ​​en soepel kan herstellen wanneer er een storing optreedt.

Als u FMA helemaal overslaat of een onvolledige analyse uitvoert, loopt uw ​​workload het risico op onvoorspelbaar gedrag en mogelijke uitval als gevolg van een suboptimaal ontwerp.

Definities

Term Definitie
Foutmodus Een type probleem dat ertoe kan leiden dat een of meer workloadonderdelen zodanig verslechteren of ernstig worden aangetast dat ze niet meer beschikbaar zijn.
Correctie De activiteiten die u hebt geïdentificeerd om problemen proactief of reactief aan te pakken.
Detectie Uw gegevens- en app-monitoring en waarschuwingsprocessen en -procedures.

Belangrijke ontwerpstrategieën

In de context van FMA is het begrijpen van de randvoorwaarden cruciaal. Begin met het beoordelen en implementeren van aanbevelingen voor het identificeren van stromen, en geef er prioriteit aan op basis van kriticiteit. Uw gegevensartefacten spelen een cruciale rol bij het beschrijven van de gegevenspaden binnen deze stromen. Terwijl u zich verdiept in de FMA-aanpak, concentreert u zich op het plannen van onderdelen voor kritieke stromen, het identificeren van afhankelijkheden (zowel intern als extern) en het bedenken van mitigatiestrategieën.

Vereisten

Bekijk en implementeer de aanbevelingen voor het identificeren en beoordelen van stromen. Er wordt aangenomen dat u gebruikers- en systeemstromen hebt geïdentificeerd en geprioriteerd op basis van kriticiteit.

De gegevens die u hebt verzameld en de artefacten die u in uw werk hebt gemaakt, bieden u een concrete beschrijving van de gegevenspaden die bij de stromen betrokken zijn. Om succesvol te zijn in uw FMA-werk, is nauwkeurigheid en grondigheid in uw artefacten van cruciaal belang.

FMA-methode

Nadat u de kritische stromen hebt bepaald, kunt u de benodigde onderdelen plannen. Volg vervolgens stap voor stap elke stroom om afhankelijkheden te identificeren, inclusief services van derden en potentiële storingspunten, en plan uw risicobeperkingsstrategieën.

De workload comprimeren

Terwijl u van idee naar ontwerp gaat, moet u de onderdeeltypen identificeren die nodig zijn om uw workload te ondersteunen. Uw workload bepaalt de noodzakelijke onderdelen waarvoor u moet plannen.

Nadat u uw initiële architectuurontwerp hebt gemaakt, kunt u uw stromen over elkaar leggen om de afzonderlijke onderdelen te identificeren die in die stromen worden gebruikt, en lijsten of workflowdiagrammen maken die de stromen en hun onderdelen beschrijven. Om de kriticiteit van de onderdelen te begrijpen, gebruikt u de kriticiteitsdefinities die u aan de stromen hebt toegewezen. Denk eens na over het effect van een defect aan een onderdeel op uw stromen.

Afhankelijkheden identificeren

Identificeer uw workloadafhankelijkheden om uw single-point-of-failure-analyse uit te kunnen voeren. Door uw workload op te splitsen en stromen over elkaar heen te leggen, krijgt u inzicht in de afhankelijkheden die intern en extern zijn aan de workload.

Interne afhankelijkheden zijn onderdelen in het workloadbereik die nodig zijn om de workload te laten functioneren. Typische interne afhankelijkheden zijn onder meer API's of oplossingen voor geheim/sleutelbeheer, zoals Azure Key Vault. Voor deze afhankelijkheden legt u de betrouwbaarheidsgegevens vast, zoals beschikbaarheidsovereenkomsten op serviceniveau (SLA's) en schaallimieten. Externe afhankelijkheden zijn vereiste onderdelen die buiten het bereik van de workload vallen, zoals een andere toepassing of service van derden. Typische externe afhankelijkheden zijn verificatieoplossingen, zoals Microsoft Entra ID en Power Platform-infrastructuur.

Identificeer en documenteer de afhankelijkheden in uw workload en neem deze op in uw stroomdocumentatieartefacten.

Faalpunten

Houd in de kritieke stromen van uw workload rekening met elk onderdeel en bepaal hoe dat onderdeel en de afhankelijkheden ervan kunnen worden beïnvloed door een storingsmodus. Houd er rekening mee dat er veel faalmodi zijn waarmee u rekening moet houden bij het plannen van tolerantie en herstel. Elk onderdeel kan op elk moment door meer dan één storingsmodus worden beïnvloed. Deze faalmodi omvatten:

  • Regionale storing: een volledige Power Platform- of Azure-regio is niet beschikbaar
  • Servicestoring: een of meer Power Platform- of Azure-services zijn niet beschikbaar
  • Gedistribueerde denial-of-service (DDoS) of andere kwaadaardige aanval
  • Verkeerde configuratie van app of onderdeel
  • Operatorfout
  • Geplande onderhoudsonderbreking
  • Overbelasting van een onderdeel

Houd rekening met de waarschijnlijkheid van elk type faalmodus. Sommige zijn zeer onwaarschijnlijk, zoals storingen in meerdere zones of meerdere regio's, en het toevoegen van mitigatieplanning naast redundantie is geen goed gebruik van middelen en tijd.

Correctie

Mitigatiestrategieën vallen in twee brede categorieën: het opbouwen van meer tolerantie en het ontwerpen voor verminderde prestaties.

Het opbouwen van meer tolerantie betekent ervoor zorgen dat uw toepassingsontwerp de best practices voor duurzaamheid volgt; bijvoorbeeld door monolithische toepassingen op te splitsen in geïsoleerde apps en microservices en door het platform geleverde tolerantieconfiguraties te gebruiken, zoals beleid voor opnieuw proberen. Voor meer informatie raadpleegt u Aanbevelingen voor redundantie en Aanbevelingen voor zelfbehoud.

Als u wilt ontwerpen voor verminderde prestaties, identificeert u potentiële foutpunten die een of meer onderdelen van uw stroom kunnen uitschakelen, maar die stroom niet volledig uitschakelen. Om de functionaliteit van de end-to-end-stroom te behouden, moet u mogelijk een of meer stappen omleiden naar andere onderdelen of accepteren dat een defect onderdeel een functie uitvoert, zodat de functie niet langer beschikbaar is in de gebruikerservaring. Om terug te keren naar het voorbeeld van de e-commercetoepassing: een defect onderdeel, zoals een microservice, kan ervoor zorgen dat uw aanbevelingsengine niet beschikbaar is, maar de klanten kunnen nog steeds naar producten zoeken en hun transactie voltooien.

U moet ook mitigatie rond afhankelijkheden plannen. Sterke afhankelijkheden spelen een cruciale rol in de functionaliteit en beschikbaarheid van toepassingen. Als ze afwezig zijn of een storing ervaren, kan dit een aanzienlijk effect hebben. De afwezigheid van zwakke afhankelijkheden heeft mogelijk alleen invloed op specifieke functies en niet op de algehele beschikbaarheid. Dit onderscheid weerspiegelt de kosten voor het in stand houden van de hoge beschikbaarheidsrelatie tussen de dienst en zijn afhankelijkheden. Classificeer afhankelijkheden als sterk of zwak, zodat u kunt identificeren welke onderdelen essentieel zijn voor de toepassing.

Als de toepassing sterke afhankelijkheden heeft waar deze niet zonder kan, moeten de beschikbaarheids- en hersteldoelen van deze afhankelijkheden overeenkomen met de doelen van de toepassing zelf. Als de levenscyclus van een toepassing nauw verbonden is met de levenscyclus van de afhankelijkheden ervan, kan de operationele flexibiliteit van de toepassing beperkt zijn, vooral bij nieuwe releases.

Detectie

Foutdetectie is essentieel om ervoor te zorgen dat u de foutpunten correct heeft geïdentificeerd in uw analyse en uw mitigatiestrategieën goed heeft gepland. Detectie betekent in deze context het monitoren van uw infrastructuur, gegevens en toepassing, en het waarschuwen wanneer zich problemen voordoen. Automatiseer de detectie zoveel mogelijk en bouw redundantie in uw operationele processen in om ervoor te zorgen dat waarschuwingen altijd worden opgemerkt en er snel genoeg op wordt gereageerd om aan uw zakelijke vereisten te voldoen. Zie Aanbevelingen voor bewaking voor meer informatie.

Resultaat

Voor de uitkomst van uw analyse maakt u een reeks documenten waarin uw bevindingen, de beslissingen die u hebt genomen met betrekking tot de stroomonderdelen en mitigatie, en het effect van de storing op uw workload effectief worden gecommuniceerd.

Geef in uw analyse prioriteit aan de faalmodi en mitigatiestrategieën die u heeft geïdentificeerd op basis van ernst en waarschijnlijkheid. Gebruik deze prioriteiten om uw documentatie te richten op de faalmodi die veel voorkomen en ernstig genoeg zijn om tijd, moeite en middelen te besteden aan het ontwerpen van risicobeperkende strategieën. Er kunnen bijvoorbeeld enkele storingsmodi zijn die zeer zelden voorkomen of worden gedetecteerd. Het ontwerpen van mitigatiestrategieën daaromheen zijn de kosten niet waard.

Raadpleeg de voorbeeldtabel voor een startpunt voor de documentatie.

Tijdens uw eerste FMA-oefening zullen de documenten die u produceert voornamelijk theoretische planning zijn. De FMA-documenten moeten regelmatig worden beoordeeld en bijgewerkt om ervoor te zorgen dat ze up-to-date blijven met uw workload. Chaostests en praktijkervaringen zullen u helpen uw analyses in de loop der tijd te verfijnen.

Voorbeeld

De volgende tabel toont een FMA-voorbeeld voor een onkostentoepassing die wordt gehost als een Power Apps canvas-app met een Microsoft Dataverse-backend en API's die worden gehost in APIM voor interactie met een systeem van derden.

gebruikersstroom: Gebruikerslogin, indienen van onkostendeclaraties en interactie met onkostennota

Onderdeel Risico Waarschijnlijkheid Effect/beperking/opmerking Storing
Microsoft Entra ID Serviceuitval Laag Volledige uitval van de workload. Afhankelijk van Microsoft herstel. Volledig
Microsoft Entra ID Misconfiguratie Gemiddeld Gebruikers kunnen niet inloggen. Geen stroomafwaarts effect. Helpdesk meldt configuratieprobleem aan identiteitsteam. None
Power Apps Serviceuitval Laag Volledige storing voor externe gebruikers. Afhankelijk van Microsoft herstel. Volledig
Power Apps Regionale storing Zeer laag Volledige storing voor externe gebruikers. Afhankelijk van Microsoft herstel. Volledig
Power Apps DDoS-aanval Gemiddeld Potentieel voor verstoring. Microsoft beheert DDoS (L3 en L4) bescherming. Potentieel voor gedeeltelijke uitval
Dataverse Serviceuitval Laag Volledige uitval van de workload. Afhankelijk van Microsoft herstel. Volledig
Dataverse Regionale storing Zeer laag Automatische failovergroep schakelt over naar de secundaire regio. Mogelijke storing tijdens failover. Hersteltijddoelstellingen (RTO's) en herstelpuntdoelstellingen (RPO's) die moeten worden bepaald tijdens betrouwbaarheidstests. Potentieel volledig
Dataverse Kwaadwillige aanval (injectie) Gemiddeld Minimaal risico. Potentieel laag risico
API Management Serviceuitval Laag Volledige storing voor externe gebruikers. Afhankelijk van Microsoft herstel. Volledig
API Management Regionale storing Zeer laag Volledige storing voor externe gebruikers. Afhankelijk van Microsoft herstel. Volledig
API Management DDoS-aanval Gemiddeld Potentieel voor verstoring. Microsoft beheert DDoS (L3 en L4) bescherming. Potentieel voor gedeeltelijke uitval
Uw Power Platform-oplossing Misconfiguratie Gemiddeld Verkeerde configuraties moeten tijdens de implementatie worden opgemerkt. Als dit gebeurt tijdens een configuratie-update, moeten beheerders de wijzigingen ongedaan maken. Configuratie-update veroorzaakt een korte externe storing. Potentieel voor volledige uitval

Power Platform faciliteren

Power Platform integreert met Application Insights, dat onderdeel is van het Azure Monitor-ecosysteem. U kunt deze integratie gebruiken om:

  • Meld u aan om telemetrie te ontvangen die is vastgelegd door het Dataverse-platform in Application Insights over diagnostische gegevens, prestaties en bewerkingen die applicaties uitvoeren op uw Dataverse-database en met modelgestuurde apps. Deze telemetrie biedt informatie die u kunt gebruiken om problemen met betrekking tot fouten en prestaties te diagnosticeren en op te lossen.

  • Koppel uw canvas-apps aan Application Insights om deze analyses te gebruiken voor het diagnosticeren van problemen, inzicht te verkrijgen in wat gebruikers daadwerkelijk met uw apps doen, het nemen van betere zakelijke beslissingen en verbetering van de kwaliteit van uw apps.

  • Configureer Power Automate-telemetrie zodat deze naar Application Insights stroomt. U kunt deze telemetrie gebruiken om de uitvoering van cloudstromen te controleren en waarschuwingen te maken voor uitvoeringsfouten in de cloudstroom.

  • Leg telemetriegegevens van uw Microsoft Copilot Studio copiloot vast voor gebruik in Azure Application Insights. Met deze telemetrie kunt u geregistreerde berichten en gebeurtenissen bewaken die naar en van uw copiloot worden verzonden, onderwerpen die tijdens gebruikersgesprekken moeten worden geactiveerd en aangepaste telemetriegebeurtenissen die vanuit uw onderwerpen kunnen worden verzonden.

Power Platform bronnen loggen activiteiten in de Microsoft Purview compliance portal. De meeste gebeurtenissen zijn beschikbaar binnen 24 uur na de activiteit. Gebruik deze informatie niet voor realtime bewaking. Voor meer informatie over het loggen van activiteiten in Power Platform raadpleegt u:

Controlelijst voor betrouwbaarheid

Raadpleeg de volledige reeks aanbevelingen.