Share via


Compromessi per l'eccellenza operativa

L'eccellenza operativa offre la qualità del carico di lavoro attraverso l'implementazione di standard chiari del team, responsabilità e responsabilità comprensibili, attenzione ai risultati dei clienti e coesione del team. L'implementazione di questi obiettivi è radicata in DevOps, che consiglia di ridurre al minimo la varianza dei processi, ridurre l'errore umano e infine aumentare la restituzione del valore per il carico di lavoro. Tale valore non viene misurato solo in base ai requisiti funzionali serviti dai componenti del carico di lavoro. Viene anche misurato in base al valore che il team offre nel tentativo di miglioramento.

Durante la fase di progettazione di un carico di lavoro e nel corso del ciclo di vita, poiché vengono eseguiti passaggi di miglioramento continui, è importante considerare in che modo le decisioni basate sui principi di progettazione dell'eccellenza operativa e le raccomandazioni nell'elenco di controllo di revisione della progettazione per l'eccellenza operativa potrebbero influenzare gli obiettivi e le ottimizzazioni di altri pilastri. Alcune decisioni potrebbero trarre vantaggio da alcuni pilastri, ma costituiscono compromessi per gli altri. Questo articolo descrive i compromessi di esempio che un team del carico di lavoro potrebbe riscontrare durante la progettazione dell'architettura e delle operazioni del carico di lavoro.

Compromessi per l'eccellenza operativa con l'affidabilità

Compromesso: maggiore complessità. L'affidabilità assegna priorità alla semplicità, perché la progettazione semplice riduce al minimo la configurazione errata e riduce le interazioni impreviste.

  • Le strategie di distribuzione sicure richiedono spesso una certa quantità di compatibilità tra la logica dell'applicazione e i dati nel carico di lavoro. Questa complessità aggiuntiva aumenta il carico di test e può causare problemi di complessità o integrità con i dati del carico di lavoro.

  • Un'infrastruttura altamente stratizzata, modularizzata o con parametri può aumentare la possibilità di errori di configurazione accidentali a causa della complessità dell'interazione tra i componenti di codice.

  • I modelli di progettazione cloud che talvolta richiedono l'introduzione di componenti aggiuntivi, ad esempio l'uso di un archivio di configurazione esterno o il coordinamento delle distribuzioni sidecar in una piattaforma di applicazioni in contenitori. I componenti aggiuntivi aumentano i punti di interazione nel sistema, aumentando la superficie di attacco per malfunzionamenti o errori di configurazione.

  • I componenti del carico di lavoro progettati per evolversi in modo indipendente per supportare lo sviluppo agile e l'hosting introducono dipendenze dall'individuazione dei servizi o anche dns come livello di riferimento indiretto. L'individuazione dei servizi potrebbe non rispondere alle modifiche e il malfunzionamento può essere difficile da diagnosticare.

Compromesso: aumento delle attività potenzialmente destabilizzanti. Il pilastro Affidabilità incoraggia l'evitare attività o scelte di progettazione che possono destabilizzare un sistema e causare interruzioni, interruzioni o malfunzionamenti.

  • La distribuzione di modifiche incrementali di piccole dimensioni è una tecnica per ridurre i rischi, ma è previsto che anche le piccole modifiche vengano recapitate alla produzione più frequentemente. Le distribuzioni possono destabilizzare un sistema, in modo che il tasso di distribuzione aumenti, in modo da comportare questo rischio.

  • Una cultura che misura se stessa con metriche di velocità come le distribuzioni alla settimana e usa l'automazione che può facilitare l'introduzione di modifiche a un ritmo più rapido è probabilmente anche eseguire più distribuzioni in un periodo più breve.

  • L'aumento della densità per semplificare le operazioni riducendo il numero di superfici di controllo e osservabilità può anche causare un aumento del rischio di disponibilità perché il malfunzionamento o la configurazione errata aumenta il raggio di impatto di un evento destabilizzante.

Compromessi per l'eccellenza operativa con la sicurezza

Compromesso: aumento della superficie di attacco. Il pilastro Sicurezza consiglia una superficie di carico di lavoro ridotta in termini di componenti ed esposizione alle operazioni. Questa riduzione riduce al minimo i vettori di attacco e produce un ambito più piccolo per il controllo e il test di sicurezza.

  • I componenti che racchiudono il carico di lavoro e supportano le operazioni, ad esempio l'automazione o un piano di controllo personalizzato, devono essere inclusi anche nell'ambito della protezione avanzata e dei test di sicurezza normali.

  • Le operazioni di routine, ad hoc e di emergenza aumentano i punti di contatto con il carico di lavoro. Un approccio senza attendibilità richiede che questi processi siano considerati vettori di attacco e che siano inclusi nei controlli di sicurezza e nella convalida per il carico di lavoro.

  • La piattaforma di osservabilità del sistema raccoglie log e metriche sul carico di lavoro, che può essere una fonte preziosa di divulgazione di informazioni. Pertanto, la sicurezza del carico di lavoro deve estendersi per proteggere i sink di dati da minacce interne ed esterne.

  • Gli agenti di compilazione, la configurazione esterna e l'attivazione/disattivazione delle funzionalità e gli approcci di distribuzione side-by-side aumentano l'area di attacco dell'applicazione che richiede sicurezza.

  • Una frequenza di distribuzione più elevata causata da modifiche incrementali di piccole dimensioni o da tentativi di "recupero corrente, rimanere aggiornati" comporta un maggior numero di test di sicurezza nel ciclo di vita dello sviluppo software.

Compromesso: maggiore desiderio di trasparenza. Un carico di lavoro sicuro si basa sulle progettazioni che proteggono la riservatezza dei dati che passano attraverso i componenti del sistema.

Le piattaforme di osservabilità inseriscono dati di tutti i tipi per ottenere informazioni dettagliate sull'integrità e sul comportamento di un carico di lavoro. Man mano che i team cercano di ottenere una maggiore fedeltà nei dati di osservabilità, c'è un maggiore rischio che i controlli di classificazione dei dati, come il mascheramento dei dati, dei sistemi di origine non si estendono ai log e ai sink di log della piattaforma di osservabilità.

Compromesso: segmentazione ridotta. Un approccio di sicurezza chiave per isolare l'accesso e la funzione consiste nel progettare una strategia di segmentazione avanzata. Questa progettazione viene implementata tramite l'isolamento delle risorse e i controlli di identità.

  • La co-individuazione di componenti applicazione diversi nelle risorse di calcolo, rete e dati condivise per semplificare la segmentazione della gestione o rende più difficile la segmentazione basata sui ruoli. I componenti con percorso condiviso potrebbero anche dover condividere un'identità del carico di lavoro, che può causare l'over-assignment delle autorizzazioni o la mancanza di tracciabilità.

  • La raccolta di tutti i log da tutto il sistema in un sink di log unificato può semplificare l'esecuzione di query e la creazione di avvisi. Tuttavia, questa operazione può anche rendere più difficile o impossibile fornire sicurezza basata su righe per gestire i dati sensibili con i controlli di controllo necessari.

  • Semplificare la gestione della sicurezza basata su attributi o basata su ruoli riducendo la granularità dei ruoli e le relative assegnazioni possono causare autorizzazioni inappropriatamente estese.

Compromessi per l'eccellenza operativa con l'ottimizzazione dei costi

Il pilastro Dell'eccellenza operativa non consiglia mai attività che riducono la produttività o compromettono il ritorno di un carico di lavoro sugli investimenti. Le raccomandazioni che sembrano spostare l'attenzione dalle attività di recapito prendono in considerazione gli interessi migliori a lungo termine per il carico di lavoro e il team. Se il carico di lavoro sta per raggiungere la data di tramonto, probabilmente non ha senso investire molto nelle raccomandazioni che attivano questi compromessi.

Compromesso: aumento della spesa per le risorse. Un importante driver di costo per un carico di lavoro è il costo delle risorse. La distribuzione di meno risorse, il ridimensionamento corretto delle risorse e la riduzione del consumo in genere consente di ridurre i costi.

  • L'implementazione di procedure di distribuzione sicure, anche se le modifiche sono relativamente piccole, può comportare un aumento del numero di risorse distribuite contemporaneamente. Questi modelli richiedono la distribuzione di più istanze simultanee dell'applicazione o del componente dell'infrastruttura in modo che il traffico possa essere spostato in modo controllato. Questo aumento è più pronunciato in un carico di lavoro che usa un approccio dell'infrastruttura non modificabile.

  • Il team potrebbe dover introdurre componenti aggiuntivi del carico di lavoro per implementare modelli di progettazione cloud o automazione del carico di lavoro allineati in modo operativo. Ad esempio, per supportare l'agilità di distribuzione, è possibile aggiungere un componente di routing del gateway. Per supportare una migliore gestione della configurazione, è possibile aggiungere un archivio di configurazione esterno. Per supportare gli eventi del ciclo di vita del tenant, è possibile creare un piano di controllo. Queste risorse influiscono anche sui costi degli ambienti di preproduzione.

  • L'aumento del numero di ambienti di preproduzione per migliorare l'esperienza di sviluppo e test tramite l'isolamento aumenta anche il numero di risorse. Queste risorse, che non vengono usate per fornire l'offerta rispetto alla domanda di produzione, aumentano il costo della soluzione.

  • L'aumento della parità degli ambienti di preproduzione con l'ambiente di produzione, in termini di numero di risorse, SKU e volumi di dati, migliora il processo di controllo della qualità. Il costo aumenta man mano che aumenta la parità.

  • Anche se i dati di telemetria non sono direttamente una risorsa, per abilitare l'efficacia delle piattaforme di osservabilità, questi dati devono essere salvati in modo permanente. La maggior parte degli archivi dati operativi ha prezzi basati su una combinazione di velocità di inserimento e volume. In genere, man mano che aumenta la quantità di dati di telemetria a bassa latenza, aumentano anche i costi. Per le distribuzioni in più aree, si prevede che questi sink di dati operativi vengano distribuiti per ogni area, quindi tutti i costi per risorsa diventano un fattore.

Compromesso: minore attenzione alle attività di consegna. I membri del team del carico di lavoro offrono un maggiore valore del carico di lavoro eseguendo in modo efficiente attività allineate alle proprie funzionalità.

  • I team del carico di lavoro che dedicano tempo a creare e perfezionare una struttura di supporto sana e responsabile e la risposta agli eventi imprevisti forniscono un servizio prezioso agli utenti del carico di lavoro. Man mano che il supporto aumenta (ad esempio, rotazioni formali su chiamata), in genere a causa di una modifica della criticità aziendale, i costi di queste attività aumentano. Questo aumento dei costi può essere il risultato di un aumento del personale o può essere indirettamente indotto sotto forma di attenzione che viene spostata dalle attività di consegna alle funzioni di supporto.

  • La formazione è una parte fondamentale del processo di miglioramento continuo personale di un team del carico di lavoro. Questa formazione può essere formale o auto-diretta durante il tempo di arricchimento personale. Man mano che aumenta la quantità di tempo di training, la quantità di tempo disponibile per lo sviluppo diretto del carico di lavoro diminuisce. L'investimento nella formazione è diminuito quando la formazione non è basata sui ruoli o specificamente rilevante per il carico di lavoro o il suo futuro.

  • Le attività operative di routine standardizzate per proteggere l'affidabilità, la sicurezza e l'efficienza delle prestazioni di un carico di lavoro richiedono tempo per definire, perfezionare ed eseguire. Questa volta non viene impiegato direttamente per la consegna. Alcuni esempi di queste attività sono l'analisi completa dell'impatto sulle modifiche, i processi di controllo delle modifiche, i test approfonditi e la gestione delle patch. Man mano che aumenta la frequenza, la completezza o il carico operativo di queste attività, aumenta anche il tempo investito.

Compromesso: aumento delle esigenze e della diversità degli strumenti. Il pilastro Ottimizzazione costi consiglia la riduzione della trazione degli strumenti, il consolidamento dei fornitori e un approccio di dimensioni corrette a tutti gli acquisti di strumenti.

Un team del carico di lavoro acquista strumenti e hardware per supportare le attività eseguite durante l'intero ciclo di vita di sviluppo software (SDLC), tra cui pianificazione e progettazione, sviluppo e test e monitoraggio. Il marketplace per gli strumenti in questo spazio è in crescita. Gli strumenti vengono offerti a vari punti di prezzo che in genere corrispondono alle funzionalità e alle funzionalità degli strumenti. Ad eccezione delle offerte gratuite, questi strumenti comportano costi iniziali di licenza, che potrebbero essere per sede o a livello di sito. Spesso richiedono anche contratti di manutenzione in corso. Potrebbe essere necessario stabilire nuove relazioni fornitore. Di seguito sono riportati alcuni esempi di spesa prevista per strumenti o hardware associati ai principi di eccellenza operativa:

  • Requisiti e gestione del backlog
  • Strumenti di progettazione dell'architettura
  • Strumenti di progettazione dell'interfaccia utente/esperienza utente
  • Hosting di codice e asset
  • Codice e ambienti di sviluppo con poco codice
  • Strumenti di automazione
  • Workstation di controllo di sviluppo e qualità
  • Pipeline di sviluppo e distribuzione
  • Esecuzione e rilevamento dei test
  • Strumenti di osservabilità

Compromessi per l'eccellenza operativa con l'efficienza delle prestazioni

Compromesso: aumento dell'utilizzo delle risorse. Il pilastro Efficienza delle prestazioni consiglia l'allocazione della quantità massima possibile di calcolo e rete disponibili ai requisiti del carico di lavoro.

  • Il framework di osservabilità di un carico di lavoro richiede che i componenti nell'architettura allocano tempo e risorse per creare, raccogliere e trasmettere log e metriche. Questi punti dati consentono di garantire che gli avvisi e il monitoraggio efficaci siano possibili per affidabilità, sicurezza e prestazioni. Con l'aumentare del livello di strumentazione, la tensione sulle risorse di sistema potrebbe anche aumentare.

  • Alcuni modelli di distribuzione, ad esempio la distribuzione blu/verde, che un carico di lavoro potrebbe usare per la distribuzione sicura, potrebbe introdurre distribuzioni side-by-side nella piattaforma dell'applicazione di produzione. Queste distribuzioni richiedono il ridimensionamento anticipato per fornire un'offerta sufficiente per soddisfare la domanda futura o lasciare una distribuzione prevalentemente inattiva per un periodo di tempo per supportare il rollback.

Compromesso: aumento della latenza. Per creare carichi di lavoro efficienti, i team cercano modi per ridurre il tempo e le risorse utilizzate dai carichi di lavoro per eseguire le attività.

  • Molti modelli di distribuzione richiedono l'uso dei modelli di accesso al routing del gateway, che possono introdurre latenza. Questa latenza si basa sul budget di destinazione delle prestazioni per i flussi correlati.

  • Alcuni modelli di progettazione cloud che supportano approcci "modifiche indipendenti nel tempo" per supportare gli ideali di miglioramento incrementale possono introdurre latenza a causa dell'attraversamento di componenti aggiuntivi. Questa latenza può essere introdotta da gateway, broker di messaggistica o livelli anti-danneggiamento.

Esplorare i compromessi per gli altri pilastri: