Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een workload die voldoet aan de prestatiedoelen 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 die zijn gebaseerd op de ontwerpprincipes voor prestatie-efficiëntie en aanbevelingen in de checklist voor ontwerpbeoordeling voor prestatie-efficiëntie de doelen en optimalisatie-inspanningen van andere pijlers kunnen beïnvloeden. Bepaalde beslissingen kunnen gunstig zijn voor sommige 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 reikwijdte van storingen te beperken.
- Door het consolideren van werklastbronnen 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 leidt echter tot meer complexiteit, omdat er uiteindelijk consistentie moet worden gehandhaafd over aanvullende bronnen.
Het denormaliseren van gegevens voor geoptimaliseerde toegangspatronen kan de prestaties verbeteren, maar het introduceert ook complexiteit omdat meerdere representaties van gegevens gesynchroniseerd moeten blijven.
Prestatiegerichte cloudontwerppatronen vereisen soms de introductie van extra componenten. Door gebruik te maken van deze componenten wordt het werklastoppervlak 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 hostingomgeving. Onjuist gebruik, overschrijding van de beperkingen of een verkeerde configuratie van de tool kunnen de functionaliteit en het onderhoud ervan in gevaar brengen, wat de betrouwbaarheid kan ondermijnen.
Prestatie-efficiëntie-afwegingen met beveiliging
Afweging: Vermindering van beveiligingsmaatregelen. Beveiligingsmaatregelen worden op meerdere lagen geïmplementeerd, soms zelfs redundant, om een diepgaande verdediging te bieden.
Eén strategie voor prestatie-optimalisatie is het verwijderen of omzeilen van componenten of processen die bijdragen aan vertragingen in een stroom, met name wanneer hun verwerkingstijd 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 beperken van beveiligingsscans of inspectietools om verwerkingstijden te verkorten, kan de vertrouwelijkheid, integriteit of beschikbaarheid van deze tools in gevaar brengen.
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 afgesloten oppervlak om aanvalsvectoren te minimaliseren en het beheer van beveiligingsmaatregelen te vereenvoudigen.
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 toegepast, en ze vergroten vaak de nalevingsomvang. Overweeg deze vaak toegevoegde componenten:
Introductie van meerdere verschillende methoden voor het verwerken van bedrijfslogica, zoals cloudflows en low-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 low-code plugins te hergebruiken in meerdere canvas-apps en cloudflows. De verhoogde dichtheid kan leiden tot de volgende beveiligingsproblemen:
Een gedeelde werklastidentiteit die het principe van minimale privileges schendt en individuele audit trails in toegangslogboeken verbergt.
Beveiligingscontroles op 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 zichtbaarheid. Monitoring is noodzakelijk om een werklast zinvolle waarschuwingen te geven en te zorgen voor een succesvolle reactie op incidenten.
Door het log- en metrische volume te verkleinen en zo de verwerkingstijd te verkorten die nodig is voor het verzamelen van telemetrie ten behoeve van andere taken, wordt de algehele zichtbaarheid van het systeem verminderd. Enkele voorbeelden van de resulterende verminderde waarneembaarheid zijn:
- Het beperkt de datapunten die worden gebruikt om zinvolle waarschuwingen op te stellen.
- Het leidt tot hiaten in de dekking van activiteiten op het gebied van incidentrespons.
- Het beperkt de zichtbaarheid bij 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 bevatten. Wanneer een stroom meerdere componenten of toepassingsgrenzen omvat, neemt de complexiteit van het bewaken van de prestaties van die stroom toe. De stroomprestaties moeten over alle onderling verbonden componenten gecorreleerd zijn.
Nadeel: Toenemende complexiteit van de werkzaamheden. Een complexe omgeving brengt complexere interacties met zich mee en een grotere kans op negatieve gevolgen 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. Eén fout in één proces kan een grote explosieradius tot gevolg hebben.
Wanneer prestatieontwerppatronen worden geïmplementeerd, hebben ze invloed op operationele procedures zoals back-ups, sleutelrotaties en herstelstrategieën. Zo kunnen bijvoorbeeld gegevenspartitionering en sharding 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 continue 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 daarin gekwalificeerd zijn, kunnen daluren echter hinderlijk zijn of buiten de reguliere werktijden vallen.
Prestatie-efficiëntie-afwegingen met ervaringsoptimalisatie
Nadeel: Minder betrokkenheid van de gebruiker. De pijler Optimalisatie van de Ervaring geeft prioriteit aan aantrekkelijkere gebruikerservaringen.
Bij het optimaliseren voor prestaties wordt prioriteit gegeven aan platformfuncties boven aanpassingen. Aangepaste componenten die voor een aantrekkelijkere gebruikerservaring kunnen zorgen, krijgen hierdoor minder prioriteit.
Bij het optimaliseren voor prestaties kan de focus te veel liggen op het minimaliseren van de complexiteit. Hierdoor gaat er minder prioriteit naar functies die aantrekkelijker zijn voor gebruikerservaringen, zoals aangepaste componenten en integraties.
De ontwikkeling van gebruikersinterfaces gebeurt vaak in snellere iteraties en verzendcycli, waardoor het lastiger kan zijn om de prestaties voortdurend te verbeteren.