Compromessi in termini di efficienza delle prestazioni per Power Platform carichi di lavoro

Un carico di lavoro che soddisfa i propri obiettivi prestazionali senza provisioning eccessivo è efficiente. Le strategie chiave per l'efficienza delle prestazioni includono l'uso corretto delle ottimizzazioni del codice, dei modelli di progettazione e della pianificazione della capacità. Obiettivi prestazionali chiari e test sono alla base di questo pilastro.

Durante la fase di progettazione di un carico di lavoro, è importante considerare come le decisioni basate sui principi di progettazione dell'efficienza delle prestazioni e sulle raccomandazioni nella lista di controllo di revisione della progettazione per L'efficienza delle prestazioni potrebbe influenzare gli obiettivi e gli sforzi di ottimizzazione di altri pilastri. Alcune decisioni possono avvantaggiare alcuni pilastri, ma rappresentano dei compromessi per altri. Questo articolo elenca esempi di compromessi che un team del carico di lavoro potrebbe riscontrare durante la progettazione dell'architettura e delle operazioni del carico di lavoro per l'efficienza delle prestazioni.

Compromessi tra efficienza prestazionale e affidabilità

Compromesso: replica ridotta e maggiore densità. Un elemento fondamentale dell'affidabilità è garantire la resilienza utilizzando la replica e limitando il raggio d'azione dei malfunzionamenti.

  • Il consolidamento delle risorse del carico di lavoro può utilizzare la capacità in eccesso e migliorare l'efficienza. Tuttavia, aumenta il raggio d'azione di un malfunzionamento nel componente co-localizzato o nella piattaforma applicativa.

Compromesso: maggiore complessità. L'affidabilità dà priorità alla semplicità.

  • Il partizionamento e lo sharding dei dati aiutano a evitare problemi di prestazioni in set di dati di grandi dimensioni o ad accesso frequente. Tuttavia, l’implementazione di questi modelli aumenta la complessità perché è necessario mantenere la (eventuale) coerenza tra risorse aggiuntive.

  • La denormalizzazione dei dati per modelli di accesso ottimizzati può migliorare le prestazioni, ma introduce complessità perché è necessario mantenere sincronizzate più rappresentazioni dei dati.

  • I modelli di progettazione cloud incentrati sulle prestazioni a volte richiedono l'introduzione di componenti aggiuntivi. L'utilizzo di questi componenti aumenta la superficie del carico di lavoro. I componenti stessi devono quindi essere resi affidabili per mantenere affidabile l’intero carico di lavoro.

Compromesso: test e osservazione su ambienti attivi. Evitare l'uso non necessario dei sistemi di produzione è un approccio di autoconservazione dell'affidabilità.

  • Il test delle prestazioni in ambienti attivi comporta il rischio di causare malfunzionamenti dovuti alle azioni o configurazioni di test.

  • I carichi di lavoro dovrebbero essere dotati di un sistema di monitoraggio delle prestazioni delle applicazioni (APM) che consenta ai team di apprendere dagli ambienti attivi. Gli strumenti APM vengono installati e configurati nel codice dell'applicazione o nell'ambiente host. L'uso improprio, il superamento dei limiti o la configurazione errata dello strumento possono comprometterne la funzionalità e la manutenzione, minandone potenzialmente l'affidabilità.

Compromessi tra efficienza prestazionale e sicurezza

Compromesso: riduzione dei controlli di sicurezza. I controlli di sicurezza sono stabiliti su più livelli, a volte in modo ridondante, per fornire una difesa approfondita.

Una strategia di ottimizzazione delle prestazioni consiste nel rimuovere o ignorare componenti o processi che contribuiscono ai ritardi in un flusso, soprattutto quando il tempo di elaborazione non è giustificato. Tuttavia, questa strategia può compromettere la sicurezza e dovrebbe essere accompagnata da un’analisi approfondita dei rischi. Di seguito sono illustrati alcuni esempi:

  • La rimozione della crittografia in transito o a riposo per migliorare la velocità di trasferimento espone i dati a potenziali violazioni dell'integrità o della riservatezza.

  • La rimozione o la riduzione degli strumenti di scansione o ispezione di sicurezza per ridurre i tempi di elaborazione può compromettere la riservatezza, l'integrità o la disponibilità protette da tali strumenti.

  • La rimozione delle regole firewall dai flussi di rete per migliorare la latenza della rete può consentire comunicazioni indesiderate.

  • Ridurre al minimo la convalida dei dati per un'elaborazione più rapida dei dati potrebbe comprometterne l'integrità, soprattutto se gli input sono dannosi.

Compromesso: aumento della superficie del carico di lavoro. La sicurezza dà priorità a una superficie ridotta e contenuta per ridurre al minimo i vettori di attacco e ridurre la gestione dei controlli di sicurezza.

I modelli di progettazione cloud incentrati sulle prestazioni a volte richiedono l'introduzione di componenti aggiuntivi. Questi componenti aumentano la superficie del carico di lavoro. I nuovi componenti devono essere protetti, possibilmente in modi che non sono già utilizzati nel sistema, e spesso aumentano l'ambito di conformità. Considera questi componenti comunemente aggiunti:

  • Introduzione di molteplici metodi diversi per gestire la logica aziendale, come flussi cloud e plug-in low-code, in base ai requisiti di prestazioni di ciascuna attività.

  • Scaricamento dell'elaborazione su processi in background o persino sull'elaborazione client.

Compromesso: rimozione della segmentazione. Il pilastro Sicurezza dà priorità a una forte segmentazione per consentire controlli di sicurezza dettagliati e ridurre il raggio dell'esplosione.

La condivisione delle risorse è un approccio per migliorare l’efficienza. Aumenta la densità per ottimizzare l'utilizzo della capacità. Ad esempio, riutilizzando plug-in low-code su più app Canvas e flussi cloud. L'aumento della densità può comportare i seguenti problemi di sicurezza:

  • Un'identità condivisa del carico di lavoro che viola il principio del privilegio minimo e oscura gli audit trail individuali nei log di accesso.

  • Controlli di sicurezza perimetrali, ad esempio regole di rete, ridotti per coprire tutti i componenti co-localizzati, offrendo ai singoli componenti un accesso maggiore del necessario.

Compromessi tra efficienza prestazionale e eccellenza operativa

Compromesso: osservabilità ridotta. Il monitoraggio è necessario per fornire un carico di lavoro con avvisi significativi e contribuire a garantire una risposta efficace agli incidenti.

  • La riduzione del volume dei log e delle metriche per ridurre il tempo di elaborazione impiegato per la raccolta dei dati di telemetria anziché per altre attività riduce l'osservabilità complessiva del sistema. Alcuni esempi dell'osservabilità ridotta risultante includono:

    • Limita i punti dati utilizzati per creare avvisi significativi.
    • Porta a lacune nella copertura delle attività di risposta agli incidenti.
    • Limita l'osservabilità nelle interazioni e nei confini sensibili alla sicurezza o alla conformità.
  • Quando vengono implementati modelli di progettazione delle prestazioni, la complessità del carico di lavoro spesso aumenta. I componenti vengono aggiunti ai flussi critici. La strategia di monitoraggio del carico di lavoro e il monitoraggio delle prestazioni devono includere tali componenti. Quando un flusso si estende su più componenti o limiti dell'applicazione, aumenta la complessità del monitoraggio delle prestazioni di tale flusso. Le prestazioni del flusso devono essere correlate tra tutti i componenti interconnessi.

Compromesso: maggiore complessità delle operazioni. Un ambiente complesso presenta interazioni più complesse e una maggiore probabilità di un impatto negativo da parte di operazioni di routine, ad hoc e di emergenza.

  • Migliorare l’efficienza delle prestazioni aumentando la densità aumenta il rischio nelle attività operative. Un errore in un singolo processo può avere un ampio raggio di esplosione.

  • Man mano che vengono implementati, i modelli di progettazione delle prestazioni influenzano le procedure operative come i backup, le rotazioni delle chiavi e le strategie di ripristino. Ad esempio, il partizionamento e lo sharding dei dati possono complicare le attività di routine quando i team cercano di garantire che tali attività non influiscano sulla coerenza dei dati.

Compromesso: stress culturale. L'eccellenza operativa è radicata in una cultura di irreprensibilità, rispetto e miglioramento continuo.

  • L'analisi delle cause profonde dei problemi prestazionali consente di identificare le carenze nei processi o nelle implementazioni che richiedono una correzione. Il team dovrebbe considerare l’esercizio un’opportunità di apprendimento. Se i membri del team vengono incolpati dei problemi, il morale può risentirne.

  • I processi di routine e ad hoc possono influire sulle prestazioni del carico di lavoro. Spesso è considerato preferibile svolgere queste attività durante le ore non di punta. Tuttavia, gli orari non di punta possono essere scomodi o essere al di fuori dell'orario normale per i membri del team responsabili o esperti in queste attività.

Compromessi tra efficienza delle prestazioni e ottimizzazione dell'esperienza

Compromesso: minore coinvolgimento degli utenti. Il pilastro Ottimizzazione dell'esperienza dà priorità a esperienze utente più coinvolgenti.

  • L'ottimizzazione delle prestazioni dà priorità all'utilizzo delle funzionalità della piattaforma rispetto alle personalizzazioni, il che riduce la priorità dei componenti personalizzati che potrebbero portare a un'esperienza utente più coinvolgente.

  • L'ottimizzazione delle prestazioni può concentrarsi troppo sulla riduzione al minimo della complessità, il che sminuisce la priorità delle funzionalità per esperienze utente più coinvolgenti, come componenti personalizzati e integrazioni.

  • Lo sviluppo dell'interfaccia utente viene spesso eseguito in iterazioni e cicli di spedizione più rapidi, il che può rendere più difficile il miglioramento continuo delle prestazioni.

Vedi anche