Prestatie-efficiëntie-afwegingen voor Power Platform werklasten
Een workload die de prestatiedoelen haalt zonder overprovisioning, is efficiënt. Belangrijke strategieën voor prestatie-efficiëntie zijn onder meer het juiste gebruik van code-optimalisaties, ontwerppatronen en capaciteitsplanning. Duidelijke prestatiedoelstellingen en testen vormen de basis van deze pijler.
Tijdens de ontwerpfase van een workload is het belangrijk om te overwegen hoe beslissingen op basis van de ontwerpprincipes voor prestatie-efficiëntie en aanbevelingen in de controlelijst voor ontwerpbeoordeling voor prestatie-efficiëntie de doelen en optimalisatie-inspanningen van andere pijlers kunnen beïnvloeden. Bepaalde beslissingen kunnen gunstig zijn voor bepaalde pijlers, maar voor andere pijlers juist nadelen met zich meebrengen. In dit artikel worden voorbeelden gegeven van afwegingen die een werklastteam kan tegenkomen bij het ontwerpen van werklastarchitectuur en -bewerkingen voor prestatie-efficiëntie.
Prestatie-efficiëntie-afwegingen met betrouwbaarheid
Afweging: Minder replicatie en meer dichtheid. Een hoeksteen van betrouwbaarheid is het garanderen van veerkracht door replicatie te gebruiken en de explosieradius van storingen te beperken.
- Door werklastbronnen te consolideren, kunt u overtollige capaciteit benutten en de efficiëntie verbeteren. Het vergroot echter wel de reikwijdte van een storing in het gelijktijdig geplaatste component of applicatieplatform.
Afweging: Verhoogde complexiteit. Betrouwbaarheid geeft prioriteit aan eenvoud.
Met gegevenspartitionering en sharding kunt u prestatieproblemen in grote of vaak gebruikte datasets voorkomen. De implementatie van deze patronen verhoogt echter de complexiteit, omdat (uiteindelijk) consistentie moet worden gehandhaafd over aanvullende bronnen.
Het denormaliseren van gegevens voor geoptimaliseerde toegangspatronen kan de prestaties verbeteren, maar het brengt ook complexiteit met zich mee omdat meerdere representaties van gegevens gesynchroniseerd moeten blijven.
Prestatiegerichte cloudontwerppatronen vereisen soms de introductie van extra componenten. Door het gebruik van deze componenten wordt het werkoppervlak vergroot. Vervolgens moeten de componenten zelf betrouwbaar worden gemaakt om de gehele werklast betrouwbaar te houden.
Afweging: Testen en observeren in actieve omgevingen. Het vermijden van onnodig gebruik van productiesystemen is een zelfbehoudbenadering voor betrouwbaarheid.
Bij prestatietests in actieve omgevingen bestaat het risico dat er storingen optreden als gevolg van de testacties of -configuraties.
Werklasten moeten worden voorzien van een systeem voor applicatieprestatiebewaking (APM) waarmee teams kunnen leren van actieve omgevingen. De APM-tooling wordt geïnstalleerd en geconfigureerd in de applicatiecode of in de hosting omgeving. Onjuist gebruik, overschrijding van de beperkingen of verkeerde configuratie van de tool kan de functionaliteit ervan in gevaar brengen en onderhoud de betrouwbaarheid ervan ondermijnen.
Prestatie-efficiëntie-afwegingen met beveiliging
Afweging: Vermindering van beveiligingsmaatregelen. Beveiligingsmaatregelen worden op meerdere lagen geïmplementeerd, soms redundant, om diepgaande verdediging te bieden.
Eén strategie voor prestatieoptimalisatie is het verwijderen of omzeilen van componenten of processen die bijdragen aan vertragingen in een stroom, vooral wanneer de verwerkingstijd ervan niet gerechtvaardigd is. Deze strategie kan echter de veiligheid in gevaar brengen en moet gepaard gaan met een grondige risicoanalyse. Bekijk de volgende voorbeelden.
Het verwijderen van encryptie tijdens het transport of in rust om de overdrachtssnelheid te verbeteren, stelt de gegevens bloot aan mogelijke integriteits- of vertrouwelijkheidsschendingen.
Het verwijderen of verminderen van beveiligingsscans of inspectietools om verwerkingstijden te verkorten, kan de vertrouwelijkheid, integriteit of beschikbaarheid van die tools in gevaar brengen beveiligen.
Het verwijderen van firewallregels uit netwerkstromen om de netwerklatentie te verbeteren, kan ongewenste communicatie mogelijk maken.
Het minimaliseren van gegevensvalidatie ten behoeve van snellere gegevensverwerking kan de integriteit van de gegevens in gevaar brengen, vooral als de invoer schadelijk is.
Afweging: groter werklastoppervlak. Beveiliging geeft prioriteit aan een kleiner en ingeperkt oppervlak om aanvalsvectoren te minimaliseren en het beheer van beveiligingsmaatregelen te verminderen.
Prestatiegerichte cloudontwerppatronen vereisen soms de introductie van extra componenten. Deze componenten vergroten het werklastoppervlak. De nieuwe componenten moeten worden beveiligd, mogelijk op manieren die nog niet in het systeem worden gebruikt, en ze vergroten vaak de nalevingsomvang. Denk aan de volgende vaak toegevoegde componenten:
Introductie van meerdere verschillende methoden voor het verwerken van bedrijfslogica, zoals cloudstromen en weinig code-plug-ins, op basis van de prestatievereisten van elke taak.
Het uitbesteden van verwerking aan achtergrondtaken of zelfs aan clientcomputers.
Afweging: Segmentatie verwijderen. De pijler Beveiliging geeft prioriteit aan sterke segmentatie om gedetailleerde beveiligingscontroles mogelijk te maken en de explosieradius te verkleinen.
Het delen van middelen is een manier om de efficiëntie te verbeteren. Het verhoogt de dichtheid om het capaciteitsgebruik te optimaliseren. Bijvoorbeeld door weinig code-plugins te hergebruiken in meerdere canvas-apps en cloudflows. De toegenomen dichtheid kan leiden tot de volgende veiligheidsproblemen:
Een gedeelde werklastidentiteit die het principe van minimale privileges schendt en individuele audittrails in toegangslogboeken verbergt.
Beveiligingscontroles aan de perimeter, bijvoorbeeld netwerkregels, die zijn teruggebracht tot alle componenten die zich op dezelfde locatie bevinden, waardoor afzonderlijke componenten meer toegang krijgen dan nodig is.
Prestatie-efficiëntie-afwegingen met operationele excellentie
Nadeel: verminderde waarneembaarheid. Monitoring is noodzakelijk om een werklast te voorzien van zinvolle waarschuwingen en om te helpen een succesvol incident respons te garanderen.
Door het log- en metrische volume te verkleinen en zo de verwerkingstijd te verkorten die nodig is voor het verzamelen van telemetriegegevens ten behoeve van andere taken, wordt de algehele zichtbaarheid van het systeem verminderd. Enkele voorbeelden van de hieruit voortvloeiende verminderde waarneembaarheid zijn:
- Het beperkt de datapunten die worden gebruikt om zinvolle waarschuwingen te maken.
- Dit leidt tot hiaten in de dekking voor incident respons-activiteiten.
- Het beperkt de zichtbaarheid in interacties en grenzen die gevoelig zijn voor beveiliging of naleving.
Wanneer prestatieontwerppatronen worden geïmplementeerd, neemt de complexiteit van de werklast vaak toe. Componenten worden toegevoegd aan kritische stromen. De strategie voor werklastbewaking en prestatiebewaking moeten deze componenten omvatten. Wanneer een stroom meerdere componenten of toepassingsgrenzen omvat, neemt de complexiteit van het bewaken van de prestaties van die stroom toe. De stroomprestaties moeten gecorreleerd zijn over alle onderling verbonden componenten.
Afweging: Verhoogde complexiteit in de operaties. Een complexe omgeving heeft complexere interacties en een grotere kans op een negatieve impact van routinematige, ad-hoc- en noodoperaties.
Het verbeteren van de prestatie-efficiëntie door het verhogen van de dichtheid verhoogt het risico bij operationele taken. Een fout in één proces kan een grote explosieradius tot gevolg hebben.
Naarmate prestatieontwerppatronen worden geïmplementeerd, hebben ze invloed op operationele procedures zoals back-ups, sleutelrotaties en herstelstrategieën. Zo kunnen bijvoorbeeld het partitioneren en sharden van gegevens routinetaken ingewikkelder maken als teams ervoor willen zorgen dat die taken de consistentie van de gegevens niet beïnvloeden.
Afweging: Culturele stress. Operationele excellentie is geworteld in een cultuur van onberispelijkheid, respect en voortdurende verbetering.
Door een analyse van de grondoorzaak van prestatieproblemen uit te voeren, worden tekortkomingen in processen of implementaties geïdentificeerd die moeten worden gecorrigeerd. Het team moet de oefening als een leermoment beschouwen. Als teamleden de schuld krijgen van problemen, kan dat de moraal beïnvloeden.
Routinematige en ad-hocprocessen kunnen de werklastprestaties beïnvloeden. Vaak wordt het als beter beschouwd om deze activiteiten buiten de spitsuren uit te voeren. Voor de teamleden die verantwoordelijk zijn voor deze taken of die er vaardigheden in hebben, kunnen daluren echter onhandig zijn of buiten de reguliere werktijden vallen.
Prestatie-efficiëntie-afwegingen met Experience Optimization
Nadeel: Minder betrokkenheid van de gebruiker. De pijler Optimalisatie van de ervaring geeft prioriteit aan boeiendere gebruikerservaringen.
Bij het optimaliseren voor prestaties wordt prioriteit gegeven aan platformfuncties boven aanpassingen. Aangepaste componenten die juist voor een aantrekkelijkere gebruikerservaring kunnen zorgen, krijgen hierdoor minder prioriteit.
Optimaliseren voor prestaties kan te veel gericht zijn op het minimaliseren van de complexiteit, waardoor functies die de gebruikerservaring aantrekkelijker maken, zoals aangepaste componenten en integraties, minder prioriteit krijgen.
De ontwikkeling van gebruikersinterfaces verloopt vaak Gereed in snellere iteraties en verzendcycli, waardoor het lastiger kan zijn om de prestaties continu te verbeteren.