Aanbevelingen voor het optimaliseren van stroomkosten

Is van toepassing op deze aanbeveling voor de controlelijst voor kostenoptimalisatie van Azure Well-Architected Framework:

CO:09 Stroomkosten optimaliseren. De kosten van elke stroom afstemmen met de stroomprioriteit. Wanneer u prioriteit geeft aan stromen, moet u rekening houden met de functies, functionaliteit en niet-functionele vereisten van elke stroom. Het optimaliseren van stroomuitgaven vereist vaak strategische compromissen.

In deze handleiding worden de aanbevelingen beschreven voor het optimaliseren van de kosten van elk van de stromen in uw workload. Kostenoptimalisatie van de stromen in een workload omvat het strategisch toewijzen en beheren van resources om de kosten te minimaliseren en de prestaties te behouden. Deze optimalisatie is van cruciaal belang omdat het zorgt voor een efficiënt gebruik van geïnvesteerde resources, onnodige uitgaven vermindert en het algehele rendement op investeringen voor de infrastructuur verbetert. Als u de stromen in een workload niet op kosten optimaliseert, loopt u het risico dat er te veel wordt besteed aan resources, wat resulteert in oplopende operationele kosten en verminderde winstgevendheid.

Definities

Termijn Definitie
Loskoppelen De strategie voor het verwijderen van een stroom uit een resource die meerdere stromen bevat en deze in een afzonderlijke resource plaatsen.
Stroom In een workload, de volgorde van acties waarmee een specifieke functie wordt uitgevoerd. Een stroom omvat de verplaatsing van gegevens en het uitvoeren van processen tussen onderdelen van de workload.
Systeemstroom De stroom van informatie en processen binnen een systeem. Het systeem volgt deze stroom automatisch om gebruikersstromen of workloadfunctionaliteit in te schakelen.
Gebruikersstroom De paden of reeksen van acties die gebruikers uitvoeren in een toepassing of systeem.

Belangrijke ontwerpstrategieën

Investeer meer in stromen met een hoge prioriteit dan in stromen met een lagere prioriteit. Bij het afstemmen van de stroomprioriteit en uitgaven kunnen stromen die momenteel dezelfde resource delen, worden ontkoppeld. Het kan ook gaan om het combineren van stromen die vergelijkbare vereisten hebben, maar die worden uitgevoerd op afzonderlijke resources. Stel dat u een webtoepassing hebt die meerdere stromen bevat, zoals gebruikersregistratie, aanmelding en gegevensverwerking. Deze stromen worden uitgevoerd op één server, ook al hebben ze verschillende resourcebehoeften. Als u zowel de kosten als de prestaties wilt optimaliseren, kunt u stromen scheiden of stromen combineren:

  • Afzonderlijke stromen. U kunt bijvoorbeeld de gebruikersregistratiestroom loskoppelen van de andere en deze verplaatsen naar een toegewezen, goedkopere server. Deze stroom is belangrijk, maar niet resource-intensief, dus het is een goede kandidaat voor een goedkopere server.

  • Stromen combineren. U kunt bijvoorbeeld de aanmeldings- en gegevensverwerkingsstromen combineren, die beide hogere resourcevereisten hebben, en ze samen uitvoeren op een server met hoge prestaties. Door deze stromen te combineren, kan de server efficiënt omgaan met de resource-intensieve behoeften van beide stromen. De prestaties en kosten worden geoptimaliseerd.

In een workload kunnen er verschillende soorten stromen of paden zijn waarmee u rekening moet houden. Deze handleiding is gericht op de volgende stroomtypen:

  • Systeemstromen. Het optimaliseren van systeemstromen omvat het stroomlijnen van de communicatie en interactie tussen systeemonderdelen, het minimaliseren van knelpunten en het garanderen van efficiënt resourcegebruik.

  • Gebruikersstromen. Het optimaliseren van gebruikersstromen omvat het verbeteren van de gebruikerservaring, het verminderen van wrijvingspunten en het garanderen van soepele navigatie en interactie binnen de toepassing of het systeem.

Een inventaris van stromen maken

Een stroominventaris is een uitgebreide lijst en beschrijving van alle reeksen acties, gegevensovergangen en systeeminteracties binnen een workload. Een stroominventaris is de eerste stap om ervoor te zorgen dat investeringen overeenkomen met de prioriteit van stromen. U moet stromen alleen optimaliseren wanneer u het doel en de afhankelijkheden ervan volledig begrijpt. Hier volgen de stappen voor het maken van een inventarisatie van workloadstromen:

  1. Documentstromen. Begin met het documenteren en vermelden van alle bestaande stromen in uw workload om inzicht te krijgen in de uitgebreide status van het systeem. Neem elke reeks acties, gegevensovergangen en systeeminteracties op. Maak uzelf vertrouwd met elk onderdeel, zoals externe services, databases, middleware en integraties van derden. Daarnaast kunt u het aantal aanvragen in de loop van de tijd bijhouden of schatten.

  2. Stromen visualiseren. Als u een duidelijker perspectief wilt krijgen, kunt u uw bevindingen visueel weergeven, mogelijk in stroomdiagrammen of diagrammen. Visualisaties helpen u de onderlinge afhankelijkheden tussen onderdelen te zien. Overweeg om een hulpprogramma zoals Visio te gebruiken om u te helpen met de visualisaties.

  3. Stromen categoriseren. Bundel vergelijkbare stromen, waarbij rekening wordt gehouden met kenmerken zoals hun functionaliteit (bijvoorbeeld verificatie, gegevens ophalen en transactieverwerking), kritiek voor het bedrijf of de resources die ze gebruiken (CPU, geheugen of bandbreedte).

Prioriteit geven aan stromen

Prioriteitstelling van stromen is het classificeren van stromen op basis van hun invloed op bedrijfsresultaten, gevolgen voor de gebruikerservaring en de resources die ze verbruiken. Kritieke stromen vereisen vaak hogere beschikbaarheidsniveaus, snellere hersteltijden en betere prestaties om te voldoen aan de workloaddoelstellingen. Door stromen prioriteit te geven, kunt u de uitgaven beter afstemmen op de stroomprioriteit. Overweeg de volgende stappen om prioriteit te geven aan stromen:

  • De waarde van de stroom identificeren. Wanneer u de kosten van de workloadstroom optimaliseert, moet u de stroom identificeren die de meeste waarde biedt. U wilt niet meer uitgeven dan een stroom waard is. In plaats van alleen de kosten te verlagen, kunt u overwegen om de kosten te verschuiven om prioriteit te geven aan de waardevollere stromen. Uw betaalstroom is bijvoorbeeld essentieel voor bedrijven, maar de aankoopgeschiedenis niet. U moet meer resources en budget toewijzen aan de betaalstroom.

    Stromen met lage prioriteit hebben lagere verwachtingen voor beschikbaarheid, herstel en prestaties. U kunt de kosten verlagen door goedkopere configuraties te gebruiken om de uitgaven voor prestaties, beschikbaarheid of bedrijfscontinuïteit te verminderen.

  • Houd rekening met metrische gegevens over de stroom. Als u moeite hebt om prioriteit te geven aan uw stromen, moet u rekening houden met de beschikbaarheids- en hersteldoelen die u eraan hebt toegewezen. Kritieke stromen hebben vaak vereisten voor hoge beschikbaarheid en service level agreements (SLA's). Stromen die zijn gekoppeld aan een lagere RPO en RTO zijn belangrijker dan stromen met een hogere RPO en RTO.

Onafhankelijke stromen optimaliseren

Soms worden uw stromen al uitgevoerd op verschillende resources. In dergelijke gevallen kunt u uitgaven eenvoudiger evalueren en optimaliseren. Evalueer de onderdelen en processen die betrokken zijn bij elke onafhankelijke stroom om te bepalen of er manieren zijn om deze te optimaliseren of te vereenvoudigen. Als u onafhankelijke stromen wilt optimaliseren, kunt u deze stappen uitvoeren:

  • Overbodige onderdelen verwijderen. Verwijder overbodige elementen die niet bijdragen aan de kernfunctionaliteit van de stroom, waardoor de complexiteit en kosten worden verminderd.

  • Ontwerp de stroom opnieuw. Overweeg om de architectuur van de stroom opnieuw te ontwerpen om de efficiëntie te verbeteren. U kunt bijvoorbeeld de volgorde van bewerkingen wijzigen, de latentie verminderen of de snelheid van gegevensoverdracht verbeteren.

  • Kies een geschikte prestatielaag. Verschillende stromen kunnen verschillende vereisten hebben op het gebied van verwerkingssnelheid, geheugen of andere metrische resourcegegevens. Zorg ervoor dat u een resourcelaag kiest die goed is afgestemd op de specifieke vereisten van elke stroom.

  • Schaalinstellingen aanpassen. Als een stroom een variabele vraag ondervindt, kunt u overwegen automatische schaalaanpassing te implementeren om resources dynamisch aan te passen aan realtime behoeften, waardoor de kosten worden geoptimaliseerd.

  • Configuraties verfijnen. Stem andere instellingen, zoals netwerk- of gegevensopslagopties, af om beter af te stemmen op de prestatie- en budgetvereisten van de stroom.

Ongelijksoortige stromen scheiden

Het scheiden van ongelijksoortige stromen over verschillende resources is een proces waarbij afzonderlijke taken met verschillende rekenbehoeften worden toegewezen aan toegewezen resources. Ongelijksoortige stromen zijn stromen met verschillende kenmerken. Deze kenmerken kunnen bestaan uit rekenvereisten, gegevensafhankelijkheden, I/O-bewerkingen, latentiegevoeligheid, beveiligingsbehoeften en nalevingsvereisten. Het is vaak rendabeler om verschillende soorten stromen uit te voeren op afzonderlijke resources. Dit maakt nauwkeurige toewijzing van resources aan elke stroom mogelijk, waardoor onnodige uitgaven worden verminderd en maximale efficiëntie wordt gegarandeerd.

Overweeg om ongelijksoortige stromen te scheiden die momenteel worden gecombineerd. Deze scheiding verhoogt de schaalbaarheid, fouttolerantie en het aanpassingsvermogen en stroomlijnt ook de kosten. Door ervoor te zorgen dat elke stroom onafhankelijk werkt, vermindert u interferentierisico's en kunt u resources rendabeler toewijzen op basis van de prioriteit van elke stroom. Stel dat u CRM (gebruikersstroom) samenvoegt met een gegevensengine (gegevensstroom). Gebruikersverkeer naar het CRM-systeem tijdens kantooruren kan de gegevensengine vertragen. Wanneer u stromen loskoppelt, kan de gegevensengine elk onderdeel of elke service onafhankelijk schalen op basis van de workloadvraag. Deze ontkoppeling optimaliseert de toewijzing van resources en verlaagt de kosten.

Vergelijkbare stromen combineren

Het combineren van vergelijkbare stromen in één resource is een proces van het consolideren van taken of processen met vergelijkbare kenmerken en het gebruik van gedeelde resources voor deze stromen. Deze strategie elimineert redundantie en zorgt voor een efficiënter gebruik van resources, wat leidt tot aanzienlijke kostenbesparingen. Vergelijkbare typen stromen delen vergelijkbare kenmerken. U kunt dezelfde kenmerken overwegen die u bekijkt wanneer u verschillende stromen scheidt: rekenvereisten, gegevensafhankelijkheden, I/O-bewerkingen, latentiegevoeligheid, beveiligingsbehoeften en nalevingsvereisten. Hier volgen enkele voorbeelden waarbij het combineren van vergelijkbare workloadstromen voor het gebruik van dezelfde resource tot aanzienlijke besparingen kan leiden:

  • Webservers. In plaats van afzonderlijke webservers voor elke toepassing toe te wijzen, kunt u overwegen deze samen te voegen, met name als het verkeer niet consistent hoog is. Een gedeelde webserver, gekoppeld aan een omgekeerde proxy, kan verkeer effectief beheren en routeren naar meerdere toepassingen.

  • API-gateways. In plaats van afzonderlijke API-gateways te onderhouden voor afzonderlijke microservices of toepassingen, kunt u een gecentraliseerde API-gateway gebruiken om aanvragen te stroomlijnen en deze naar de relevante service te sturen. Dit maakt het beheer eenvoudiger en verlaagt ook de kosten.

  • Logboekverwerking. In plaats van meerdere toepassingen of services te hebben die elk hun eigen logboekverwerkingsexemplaren uitvoeren, kunt u overwegen om ze allemaal om te leiden naar een gedeeld hulpprogramma voor logboekverwerking. Deze aanpak minimaliseert het aantal actieve exemplaren, wat zich vertaalt in directe kostenbesparingen.

  • Verificatieservices. Als meerdere toepassingen hun eigen afzonderlijke verificatiemechanismen implementeren, wordt redundantie geïntroduceerd. Het integreren van een oplossing voor eenmalige aanmelding (SSO) of een gemeenschappelijke verificatieservice vermindert deze duplicatie en optimaliseert het resourcegebruik, waardoor de kosten worden verlaagd.

Risico: vergis je niet van toeval met ontwerp. Twee stromen die op elkaar lijken, hebben niet noodzakelijkerwijs hetzelfde doel. U moet de functie en het ontwerp van elke stroom begrijpen voordat u deze samenvoegt of wijzigt. Een verkeerde interpretatie van een stroom door zich alleen op het uiterlijk ervan te richten, kan leiden tot onbedoelde gevolgen en de service of het proces dat wordt ondersteund, verstoren. Als meerdere stromen dezelfde functie hebben en er geen waarneembare verschillen zijn in het ontwerp of de intentie, kunt u overwegen deze samen te stellen.

Stromen continu bewaken

De aard van stromen en workloads kan in de loop van de tijd veranderen, dus u moet de stroomuitgaven bekijken om ervoor te zorgen dat de kosten overeenkomen met de prioriteiten. Evalueer het resourcegebruik van elke stroom door het reken-, opslag- en netwerkgebruik te analyseren dat aan elke stroom is gekoppeld. Identificeer inefficiënties of gebieden waar resources te weinig worden gebruikt. Deze analyse helpt u bij het vaststellen van mogelijkheden voor kostenoptimalisatie. Hier volgen enkele overwegingen waarmee u rekening moet houden wanneer u het stroomgebruik bekijkt:

  • Gebruikspatronen analyseren. Analyseer de gebruikspatronen van de stromen. Sommige stromen zijn mogelijk actiever op bepaalde tijdstippen van de dag of maand, terwijl andere mogelijk een consistente belasting hebben. Door deze patronen te begrijpen, kunt u resourcebehoeften voorspellen en de toewijzing aanpassen om knelpunten en overprovisioning te voorkomen.

  • Bewaak relevante metrische gegevens. Bepaal de metrische gegevens die u kunnen helpen bij het beoordelen van de efficiëntie en kosteneffectiviteit van elke stroom. Denk aan CPU-gebruik, kosten voor gegevensoverdracht, transactiekosten en opslagvoetafdruk. Gebruik bewakingshulpprogramma's om gedetailleerde metrische gegevens over resourcegebruik en prestaties te verzamelen.

  • Overweeg doorlopend onderhoud. Houd rekening met de onderhoudskosten, met name wanneer u infrastructure-as-a-service-oplossingen zoals virtuele machines gebruikt. U moet rekening houden met activiteiten zoals patching, upgrades, back-ups, bewaking en beveiliging.

Identificeer tijdens uw analyse inefficiënties of gebieden waar resources niet effectief worden gebruikt. Overweeg niet-actieve rekenprocessen, ongebruikte gegevens en lage netwerkbandbreedte. Deze inefficiënties kunnen wijzen op mogelijkheden voor kostenoptimalisatie.

Azure-facilitering

Stromen prioriteren, optimaliseren en bewaken: Het hulpprogramma Gebruikersstroom in Application Insights biedt een visuele weergave van gebruikersnavigatie op de pagina's en functies van uw site. Dit hulpprogramma helpt bij het identificeren van gebieden waar gebruikers vaak vertrekken, acties herhalen of specifieke paden volgen. Door het werkelijke gebruikersgedrag te vergelijken met de verwachte resultaten en doelstellingen, kunt u kritieke stromen identificeren. U kunt hiermee ook potentiële problemen optimaliseren, zoals een hoog verloop, terugkerende acties of ontwerpfouten. Het hulpprogramma maakt ook het filteren van aangepaste eigenschappen door dimensies mogelijk, waardoor een meer op maat gemaakte analyse wordt geboden.

Met Azure Monitor krijgt u inzicht in de prestaties en status van uw toepassingen. Het biedt mogelijkheden voor bewaking en diagnose. Met deze mogelijkheden kunt u prestatieknelpunten identificeren, het resourcegebruik optimaliseren en problemen detecteren en oplossen die van invloed kunnen zijn op de kosten.

Log Analytics is een hulpprogramma waarmee u logboekgegevens uit verschillende bronnen kunt verzamelen, analyseren en visualiseren. Met behulp van Log Analytics kunt u inzicht krijgen in uw toepassings- en infrastructuurlogboeken, trends identificeren en kosten optimaliseren door gebruik en gegevensretentie te beheren. Overweeg logboeken te verplaatsen en speciale oplossingen te gebruiken in plaats van gedeelde oplossingen om de kosten beter te beheren.

Controlelijst voor kostenoptimalisatie

Raadpleeg de volledige set aanbevelingen.