Vad är hälsomodellering?

Slutförd

För att avgöra om din miljö fungerar som förväntat är det viktigt att övervaka hälsotillståndet för ditt program och de viktigaste måtten för dess Azure-resurser. Hälsomodellering är en designövning som utökar rådataloggar och mått med viktiga affärskrav. Målet är att kvantifiera programmets hälsa och driva automatiserad utvärdering av hälsotillståndet.

Fördelar med hälsomodellering

För att utvärdera den övergripande hälsan för din arbetsbelastning behöver du holistisk förståelse för alla mått. Du måste också snabbt identifiera och lösa tillförlitlighetsproblem.

Hälsomodellering fokuserar på noggrann instrumentering och övervakning, men det lägger också till ett lager av kontext för att ge dig kritisk insikt i programmets hälsa. En väl utformad hälsomodell bör tydligt ange arbetsbelastningens övergripande hälsa i stället för rådatamått.

Verksamhetskritiska program förväntas på grund av sin komplexa karaktär generera stora mängder driftdata. Det kan vara svårt att utvärdera programmets hälsotillstånd och ta reda på rätt åtgärd för att lösa de identifierade problemen.

Hälsomodellen använder uppsättningsindikatorer för att representera hälsostatus, vilket gör det intuitivt att förstå och svara snabbt på eventuella problem som kan uppstå. Hälsostatus visas vanligtvis med hjälp av trafikljusindikatorer , till exempel grönt, gult och rött. Du kan spåra programhälsopoäng för att snabbt hitta rotorsaken till tjänstförsämring.

Så här kommer du igång

För att kunna utföra hälsomodelleringsövningen måste du ha en djup förståelse för systemet och dess förväntade prestanda. En skiktad modell rekommenderas för att återspegla programmets övergripande hälsa och på detaljerad nivå. Lagren representerar den hierarkiska arbetsbelastningsstrukturen som innehåller programmet och dess beroenden.

  • På det översta lagret representerar hälsa användarinteraktion eller flöden i programmet. Tänk på de flöden som är på den kritiska vägen och de som inte är det.
  • I lägre lager måste hälsotillståndet för de enskilda programkomponenterna definieras med tanke på de viktigaste icke-funktionella kraven. Mappa beroenden mellan funktionella och logiska komponenter. Mappa även beroenden mellan Azure-resurser som programkomponenter använder.
  • På det grundläggande lagret representerar hälsa De Azure-resurser som används av programmet.

Processen för modelleringshälsa är en designaktivitet uppifrån och ned som börjar med att definiera alla användarflöden, mappa beroenden och kvantifiera hedtillstånd till flödena.

Här följer de rekommenderade stegen för metoden:

  1. Kvantifiera hälsotillstånd för varje komponent så att varje komponent anger en hälsopoäng. Hälsopoängen kan vara en mängd olika prestandamått med hänsyn till de viktigaste affärskraven.
  2. Kvantifiera hälsotillstånd för varje flöde genom att kombinera hälsopoängen för enskilda komponenter för att indikera flödets hälsa. Ta hänsyn till de icke-funktionella kraven för att ange kontext när det gäller kritiskhet.
  3. Baserat på affärskritiskhet kan du använda lämpliga vikter i alla lager för att skapa en meningsfull definition av övergripande hälsa. På det översta lagret är till exempel ekonomiskt betydande flöden och kundriktade användarflöden viktigare än andra.

Den här bilden visar ett exempel på resultatet av föregående metod. Hälsomodellen använder dessa hälsodefinitioner i flera lager för att informera viktiga övervakningsmått för alla systemkomponenter och för att verifiera driftundersystemets sammansättning.

Diagram som visar arkitekturen för en typisk hälsomodell i lager.

I nästa övning tillämpar vi högnivåprocessen på ett exempel och skapar en hälsomodell i lager.

Mer information om hälsomodeller i lager finns i Layered application health (Lagerbaserade programhälsa). Se också ett exempel på en hälsomodell i lager.

Kunskapstest

1.

Vad är den främsta motivationen för att använda hälsomodeller i stället för traditionella instrumentpaneler?

2.

Hälsomodellering fokuserar på:

3.

Vad betyder det när en programhälsomodell läggs i lager?