Förbättra effektiviteten genom optimering
- 15 minuter
|
|
|---|
Målen som anges under den inledande fasen baseras på en rimlig nivå av användarupplevelse, med tanke på olika begränsningar. Det är värt att gå tillbaka till och justera dessa mål för att göra upplevelsen ännu bättre. För att göra det behöver du en tydlig bild av hur systemet används, hur det har förändrats och hur plattformen eller tekniken har utvecklats. Cykeln för övervakning, optimering, testning och distribution är en pågående process.
När du optimerar för effektivitet kan arbetsbelastningen köras med färre resurser. Det kan ge dig extra kapacitet, vilket öppnar några alternativ. Du kan använda kapaciteten för att göra systemet mer tillförlitligt, minska det för att minska kostnaderna eller stödja nya produktfunktioner utan att behöva mer infrastruktur.
När systemet börjar köras mer effektivt är det en bra tid att ställa in nya prestandamål och se till att du håller jämna steg med dem.
Exempelscenario
Contosos HR-teknikteam hanterar anpassade integreringar i företagets HR-informationssystem. Dessa integreringar omfattar ekonomi för löneuppgifter, anställningsdata för statliga arbetsrättsrapporter och några andra. De flesta av dessa integreringar körs som Azure-funktioner skrivna i C#, som finns i ett Azure Arc-aktiverat Kubernetes-kluster i företagets datacenter. Sammantaget fungerar jobben smidigt, men några orsakar viss stress för teamet eftersom fördröjningar i bearbetningen ibland innebär att HR-chefen inte får viktiga data i tid.
Prioritera prestandaoptimeringar
Lägg undan fokuserad tid för att förbättra prestanda genom att ta itu med icke-funktionella krav och göra förbättringar i funktionella områden. Huvudfokusområdena för det här arbetet är resursanvändning, kodkvalitet, datakvarhållning och databasfrågor.
Genom att gå med den här metoden hjälper du till att skapa en kultur som verkligen värdesätter prestandafokuserade förbättringar. Det håller också teamet ansvarigt för att hålla koll på prestandatrender och se till att programmet fortsätter att bli bättre.
Contosos utmaning
Laget är ganska skrapigt, och deras kvarvarande uppgifter är packade. För det mesta tar de en snabb vändning när de skapar och startar integreringar. De skriver koden, distribuerar den och hoppar sedan direkt in i nästa uppgift.
Teamet har ofta dragits in i support för kritiska incidenter eftersom ledningen inte alltid kan få de data de behöver i tid.
Alla i teamet vet att ändringar behövs, men de har inte prioriterat det ännu.
Tillämpa metoden och resultaten
Teamet avsätter nu 20% av varje sprint för att hantera tekniska skulder och fokusera på andra prestandaförbättringar. Det ger dem utrymme att fokusera på kritiska områden och göra framsteg där det verkligen räknas.
Genom att använda den här metoden kan teamet ägna den tid de behöver för att åtgärda de prestandaproblem som har bromsat databehandlingen.
Leta efter designförbättringar
Förbättra arkitekturen genom att införa nya designmönster och komponenter som kan öka prestandan, särskilt på sätt som du inte har tänkt på tidigare på grund av snäva tidslinjer eller budgetgränser.
Nya designmönster och komponenter kan hjälpa till att finjustera systemet, vilket leder till en smidigare användarupplevelse och sparar pengar över tid. Till exempel kan det göra en märkbar skillnad att lägga till cachelagring eller ta in ett nätverk för innehållsleverans.
Contosos utmaning
- Teamet har använt Azure Functions och utlösarbaserade flöden i flera år, och de har inte tagit sig tid att titta på andra alternativ.
Tillämpa metoden och resultaten
Teamet börjar utforska andra sätt att använda Azure Functions och upptäcker att varaktiga funktioner stöder en utspringad modell, vilket kan hjälpa dem att köra en specifik löneuppgift parallellt.
Teamet lägger till det här mönstret i sin designkatalog för framtida användning. Det är också en bra påminnelse om att bättre prestanda inte bara handlar om att rensa kod eller data. Ibland handlar det om att tänka om helt och hållet.
Analysera telemetri och trender
Använd övervakningsverktyg för att gå in i historiska trender och hitta vilka flöden och kodsökvägar som verkligen kan använda en prestandaökning. Verktyg som övervakning av programprestanda (APM) och profilerare är bra för den här uppgiften. De hjälper dig att hitta åtgärdssökvägar och andra platser i systemet som kan sakta ner saker och ting.
När du har hittat de områden som fortsätter att orsaka problem kan teamet fokusera sin energi där det kommer att göra störst skillnad.
Contosos utmaning
Teamet har instrumenterat alla funktioner med Application Insights.
De använder mestadels Application Insights för problem med brytkorrigeringar och för loggningsmottagaren.
Historiskt sett har de förlitat sig på feedback från ledande befattningshavare för att ta reda på var förbättringsarbetet ska fokuseras.
Tillämpa metoden och resultaten
Även om feedbacken är viktig ser teamet att Application Insights faktiskt gör ett ganska bra jobb med att hitta hotspots i de appar som den tittar på.
Teamet börjar använda den här funktionen, och eftersom de redan vet vilka flöden som är viktigast blir det en mycket användbar del av deras 20% tid med fokus på tekniska förbättringar och effektivitet.
Med Application Insights kunde teamet proaktivt identifiera en riskfylld integrering och hantera den innan en medlem i ledningsgruppen stötte på ett problem.