Avveininger for ytelseseffektivitet for Power Platform arbeidsbelastninger
En arbeidsbelastning som oppfyller ytelsesmålene uten overklargjøring, er effektiv. Nøkkelstrategier for ytelseseffektivitet inkluderer riktig bruk av kodeoptimaliseringer, designmønstre og kapasitetsplanlegging. Tydelige resultatmål og testing underbygger denne pilaren.
I utformingsfasen av en arbeidsbelastning er det viktig å vurdere hvordan beslutninger basert på designprinsippene og anbefalingene for ytelseseffektivitet i sjekklisten for utformingsgjennomgang for ytelseseffektivitet kan påvirke målene og optimaliseringsinnsatsen til andre pilarer. Visse beslutninger kan være til fordel for noen pilarer, men representere avveininger for andre. Denne artikkelen viser eksempler på avveininger som et arbeidsbelastningsteam kan støte på når de utformer arbeidsbelastningsarkitektur og operasjoner for ytelseseffektivitet.
Avveininger av ytelseseffektivitet med pålitelighet
Avveining: Redusert replikering og økt tetthet. En hjørnestein i pålitelighet er å sikre motstandskraft ved å bruke replikering og begrense eksplosjonsradiusen for funksjonsfeil.
- Konsolidering av arbeidsbelastningsressurser kan bruke overflødig kapasitet og forbedre effektiviteten. Det øker imidlertid eksplosjonsradiusen for en funksjonsfeil i den samlokaliserte komponenten eller applikasjonsplattformen.
Avveining: Økt kompleksitet. Pålitelighet prioriterer enkelhet.
Datapartisjonering og fragmentering bidrar til å unngå ytelsesproblemer i store eller ofte brukte datasett. Implementeringen av disse mønstrene øker imidlertid kompleksiteten fordi (eventuell) konsistens må opprettholdes på tvers av flere ressurser.
Denormalisering av data for optimaliserte tilgangsmønstre kan forbedre ytelsen, men det introduserer kompleksitet fordi flere representasjoner av data må holdes synkronisert.
Ytelsessentrerte skydesignmønstre krever noen ganger innføring av flere komponenter. Bruken av disse komponentene øker overflaten på arbeidsmengden. Komponentene må da selv gjøres pålitelige for å holde hele arbeidsmengden pålitelig.
Avveining: Testing og observasjon av aktive miljøer. Å unngå unødvendig bruk av produksjonssystemer er en selvbevaringstilnærming for pålitelighet.
Ytelsestesting i aktive miljøer medfører risiko for å forårsake funksjonsfeil på grunn av testhandlingene eller konfigurasjonene.
Arbeidsbelastninger bør instrumenteres med et APM-system (Application Performance Monitoring) som gjør det mulig for team å lære av aktive miljøer. APM-verktøyet installeres og konfigureres i applikasjonskode eller i vertsmiljøet. Feil bruk, overskridelse av begrensninger eller feilkonfigurasjon av verktøyet kan kompromittere funksjonaliteten og vedlikeholdet, og potensielt undergrave påliteligheten.
Avveininger for ytelseseffektivitet med sikkerhet
Avveining: Reduksjon av sikkerhetskontroller. Sikkerhetskontroller etableres på tvers av flere lag, noen ganger redundant, for å gi forsvar i dybden.
En strategi for ytelsesoptimalisering er å fjerne eller omgå komponenter eller prosesser som bidrar til forsinkelser i en flyt, spesielt når behandlingstiden ikke er berettiget. Denne strategien kan imidlertid kompromittere sikkerheten og bør ledsages av en grundig risikoanalyse. Tenk deg følgende eksempler:
Fjerning av kryptering under overføring eller i hvile for å forbedre overføringshastighetene utsetter dataene for potensielle integritets- eller konfidensialitetsbrudd.
Hvis du fjerner eller reduserer sikkerhetsskanning eller inspeksjonsverktøy for å redusere behandlingstiden, kan det kompromittere konfidensialiteten, integriteten eller tilgjengeligheten som disse verktøyene beskytter.
Hvis du fjerner brannmurregler fra nettverksflyter for å forbedre nettverksventetiden, kan det tillate uønsket kommunikasjon.
Minimering av datavalidering for raskere databehandling kan kompromittere dataintegriteten, spesielt hvis inndata er skadelige.
Avveining: Økt arbeidsbelastningsareal. Sikkerhet prioriterer et redusert og begrenset overflateareal for å minimere angrepsvektorer og redusere administrasjonen av sikkerhetskontroller.
Ytelsessentrerte skydesignmønstre krever noen ganger innføring av flere komponenter. Disse komponentene øker overflaten på arbeidsmengden. De nye komponentene må sikres, muligens på måter som ikke allerede brukes i systemet, og de øker ofte samsvarsomfanget. Vurder disse komponentene som ofte legges til:
Vi introduserer flere forskjellige metoder for håndtering av forretningslogikk, for eksempel skyflyter og plugin-moduler med lav kode, basert på ytelseskravene til hver oppgave.
Avlastning av behandling til bakgrunnsjobber eller til og med klientdatabehandling.
Avveining: Fjerning av segmentering. Sikkerhetssøylen prioriterer sterk segmentering for å muliggjøre finkornede sikkerhetskontroller og redusere eksplosjonsradius.
Deling av ressurser er en tilnærming for å forbedre effektiviteten. Det øker tettheten for å optimalisere kapasitetsbruken. Du kan for eksempel bruke plugin-moduler med lite kode på tvers av flere lerretsapper og skyflyter. Den økte tettheten kan føre til følgende sikkerhetsproblemer:
En delt arbeidsbelastningsidentitet som bryter med prinsippet om minste rettighet og skjuler individuelle revisjonsspor i tilgangslogger.
Perimetersikkerhetskontroller, for eksempel nettverksregler, som er redusert til å dekke alle samlokaliserte komponenter, noe som gir individuelle komponenter mer tilgang enn nødvendig.
Avveininger av ytelseseffektivitet med Operational Excellence
Avveining: Redusert observerbarhet. Overvåking er nødvendig for å gi en arbeidsbelastning med meningsfull varsling og bidra til å sikre vellykket svar på hendelser.
Reduksjon av logg- og metrikkvolum for å redusere behandlingstiden brukt på innsamling av telemetri i stedet for andre oppgaver reduserer den generelle observerbarheten til systemet. Noen eksempler på den resulterende reduserte observerbarheten inkluderer:
- Det begrenser datapunktene som brukes til å bygge meningsfulle varsler.
- Det fører til hull i dekningen for hendelser svar aktiviteter.
- Det begrenser observerbarheten i sikkerhetssensitive eller samsvarssensitive interaksjoner og grenser.
Når ytelsesdesignmønstre implementeres, øker ofte kompleksiteten i arbeidsbelastningen. Komponenter legges til kritiske strømmer. Strategien for arbeidsbelastningsovervåking og ytelsesovervåking må inkludere disse komponentene. Når en flyt strekker seg over flere komponenter eller programgrenser, øker kompleksiteten ved å overvåke ytelsen til denne flyten. Flytytelsen må korreleres på tvers av alle de sammenkoblede komponentene.
Avveining: Økt kompleksitet i operasjoner. Et komplekst miljø har mer komplekse interaksjoner og større sannsynlighet for en negativ innvirkning fra rutine-, ad hoc- og nødoperasjoner.
Forbedring av ytelseseffektiviteten ved å øke tettheten øker risikoen i driftsoppgaver. En feil i en enkelt prosess kan ha en stor eksplosjonsradius.
Etter hvert som ytelsesdesignmønstre implementeres, påvirker de operasjonelle prosedyrer som sikkerhetskopier, nøkkelrotasjoner og gjenopprettingsstrategier. Datapartisjonering og fragmentering kan for eksempel komplisere rutineoppgaver når team prøver å sikre at disse oppgavene ikke påvirker datakonsistensen.
Avveining: Kulturelt stress. Operational Excellence er forankret i en kultur av skyldløshet, respekt og kontinuerlig forbedring.
Gjennomføring av rotårsaksanalyse av ytelsesproblemer identifiserer mangler i prosesser eller implementeringer som krever korrigering. Teamet bør betrakte øvelsen som en læringsmulighet. Hvis teammedlemmer får skylden for problemer, kan moralen bli påvirket.
Rutinemessige og ad hoc-prosesser kan påvirke arbeidsbelastningsytelsen. Det anses ofte som å foretrekke å utføre disse aktivitetene utenom rushtiden. Utenom rushtiden kan imidlertid være upraktisk eller utenfor vanlig arbeidstid for teammedlemmene som er ansvarlige for eller dyktige i disse oppgavene.
Avveininger for ytelseseffektivitet med opplevelsesoptimalisering
Avveining: Redusert brukerengasjement. Opplevelsesoptimalisering-pilaren prioriterer mer engasjerende brukeropplevelser.
Optimalisering for ytelse prioriterer bruk av plattformfunksjoner fremfor tilpassinger, som nedprioriterer egendefinerte komponenter som kan føre til en mer engasjerende brukeropplevelse.
Optimalisering for ytelse kan fokusere for mye på å minimere kompleksiteten, noe som nedprioriterer funksjoner for mer engasjerende brukeropplevelser, for eksempel tilpassede komponenter og integrasjoner.
Utvikling av brukergrensesnitt gjøres ofte i raskere iterasjoner og forsendelsessykluser, noe som kan gjøre det vanskeligere å forbedre ytelsen kontinuerlig.