Efficiëntie verbeteren door middel van optimalisatie

Voltooid
Verbeter de systeemefficiëntie binnen de gedefinieerde prestatiedoelen om de workloadwaarde te verhogen.

De doelen die tijdens de eerste fase zijn ingesteld, zijn gebaseerd op een redelijk gebruikerservaringsniveau, rekening houdend met verschillende beperkingen. U moet de doelen opnieuw beoordelen en aanpassen om de ervaring verder te verbeteren. Om de ervaring verder te verbeteren, is een duidelijk begrip vereist van hoe het systeem wordt gebruikt, hoe het is ontwikkeld en hoe het platform of de technologie in de loop van de tijd is veranderd. De cyclus van bewaking, optimalisatie, testen en implementeren is een continu proces.

Dankzij efficiëntieoptimalisatie kan een workload werken met een lager resourceverbruik. Ze kunnen ertoe leiden dat de werkbelasting een overingerichte status heeft met reservecapaciteit. Gebruik die capaciteit om de betrouwbaarheid van het systeem te verbeteren. Elimineer capaciteit om de kosten van het systeem te verbeteren. Of gebruik de capaciteit om nieuwe productfuncties op bestaande resources te ondersteunen.

Wanneer het systeem efficiënter wordt, kunt u nieuwe prestatiedoelen instellen en onderhouden.

Voorbeeldscenario

Het HR-engineeringteam van Contoso ondersteunt aangepaste integraties in het Hr Resources Information System (HRIS) van de organisatie. Deze integraties omvatten financiële integraties voor salarisadministratie, wervingsstatistieken voor rapportage over de arbeidswetgeving van de overheid en andere. De meeste integraties zijn Azure Functions die zijn geschreven in C# die worden gehost in een Kubernetes-cluster met Azure Arc in het datacenter van de organisatie. De meeste taken zijn goed uitgevoerd, maar als gevolg van een vertraging in de verwerking, maken een paar het team bang omdat soms kritieke gegevens niet beschikbaar zijn wanneer de HR-directeur dit nodig heeft.

Prestatieoptimalisaties prioriteren

Wijs toegewezen cycli toe voor prestatieoptimalisatie om te voldoen aan niet-functionele vereisten en optimalisaties in functionele gebieden. Doelen voor deze optimalisatie zijn resources, code, gegevensretentie, databasequery's en andere.

Door deze aanpak te gebruiken, kunt u een cultuur van optimalisatie op basis van prestaties bouwen. U houdt het team verantwoordelijk voor het proactief bewaken van prestatiepatronen en het verfijnen van de toepassing.

De uitdaging van Contoso

  • Het team is nogal sloop en hun achterstand is lang. Meestal werken ze in een 'fire and forget' mindset bij het schrijven en implementeren van integraties; de integraties worden geschreven, geïmplementeerd en vervolgens gaat het team verder met de volgende taak.
  • Het team is vaak opgeroepen voor kritieke problemen met incidentondersteuning omdat senior leidinggevenden niet tijdig toegang hebben tot gegevens.
  • Het team is er zeer op de hoogte dat er verbeteringen moeten worden aangebracht, maar dat er geen prioriteit is gegeven aan het aanbrengen van de benodigde wijzigingen.

De aanpak en resultaten toepassen

  • Het team wijst nu 20% van elke sprint toe voor technische schulden en andere optimalisatieactiviteiten. Dit is het kopen van de tijd van het technische team om prioriteit te geven aan kritieke gebieden en andere gebieden waar de impact het meest zinvol kan zijn.
  • Door deze aanpak te volgen, kan het team de benodigde tijd besteden om de prestatieproblemen op te lossen die vertragingen veroorzaken bij het verwerken van gegevens.

Zoeken naar ontwerpverbeteringen

Verbeter de architectuur met nieuwe ontwerppatronen en onderdelen, die de prestaties kunnen verbeteren, op manieren die u eerder niet hebt overwogen vanwege beperkte tijd of budget.

Nieuwe ontwerp- en onderdelen kunnen het systeem optimaliseren, wat leidt tot een betere gebruikerservaring en kostenbesparingen op de lange termijn. U kunt bijvoorbeeld caching gebruiken of een netwerkonderdeel voor contentlevering toevoegen.

De uitdaging van Contoso

  • Het team heeft al enkele jaren Azure Functions en op triggers gebaseerde stromen gebruikt en heeft nog geen tijd toegewezen om alternatieven voor deze aanpak te evalueren.

De aanpak en resultaten toepassen

  • Het team kijkt naar andere manieren om Azure Functions te gebruiken en vindt dat duurzame functies ondersteuning bieden voor een fan-outmodel waarmee ze een bepaalde salaristaak kunnen parallelliseren.
  • Het team neemt dit patroon op in hun ontwerpcatalogus voor toekomstig ontwerp. Het was ook een goede herinnering om te kijken naar andere manieren om inefficiënties in de prestaties aan te pakken dan alleen codeoptimalisaties en het opschonen van gegevens.

Gebruik bewakingshulpprogramma's om historische trends te analyseren en om de stromen en code-implementatiepaden te identificeren die het meeste profiteren van een optimalisatie van prestaties. Hiervoor raden we APM-hulpprogramma's (Application Performance Monitoring) en profilers aan. Daarnaast identificeert u dynamische paden voor bewerkingen en andere mogelijke knelpunten in het systeem.

Wanneer u de terugkerende problematische gebieden identificeert, kan het team zich richten op de hoogste winst.

De uitdaging van Contoso

  • Het team heeft alle functies geïnstrueerd met Azure-toepassing Insights.
  • Ze gebruiken meestal Application Insights voor problemen met onderbrekingen en voor de sink voor logboekregistratie.
  • In het verleden is hun benadering voor het richten van gebieden voor verbeteringen gebaseerd op feedback die afkomstig is van het senior leiderschapsteam.

De aanpak en resultaten toepassen

  • Hoewel de feedback belangrijk is, realiseert het team zich dat Application Insights een redelijk goede taak heeft om hotspots te detecteren in de toepassingen die door het team worden bewaakt.
  • Het team begint te profiteren van deze functionaliteit en te combineren met weten welke stromen belangrijk zijn, het wordt een waardevol hulpmiddel voor de 20% inspanning van het team op het vlak van technische verbeteringen en efficiëntie.
  • Met Behulp van Application Insights kan het team proactief een riskante integratie identificeren en ermee omgaan voordat een leidinggevende teamlid een probleem heeft ondervonden.

Test uw kennis

1.

Hoe heeft het Contoso-team het ontwikkelingsproces gewijzigd om lopende prestatieproblemen op te lossen?

2.

Welke van de volgende is een goede strategie om de efficiëntie van uw workload te verbeteren?

3.

Welk type hulpprogramma kan u helpen bij het analyseren van prestatietrends en het identificeren van knelpunten in de uitvoering?