DevOps distribuito - Pilastro dell'eccellenza operativa

DevOps distribuito

Il modello DevOps distribuito separa (o distribuisce) le operazioni di ingegneria delle applicazioni e le responsabilità operative degli ingegneri dell'infrastruttura tra i team di progettazione, secondo la metodologia COPE.

Gli ingegneri applicativi si occupano sia della progettazione sia del funzionamento dei propri carichi di lavoro. Analogamente, i tecnici dell'infrastruttura si occupano sia della progettazione sia del funzionamento delle piattaforme che utilizzano per supportare i team applicativi.

Diagramma del modello DevOps distribuito

DevOps distribuito

Per questo esempio, consideriamo la governance come centralizzata altrove all'interno dell'organizzazione. Gli standard sono distribuiti, forniti o condivisi ai team applicativi e della piattaforma.

Utilizza strumenti o servizi che consentono di gestire centralmente gli ambienti su più account, ad esempio AWS Organizations. Servizi come AWS Control Tower ampliano questa funzionalità di gestione consentendoti di definire blueprint (a supporto dei tuoi modelli operativi) per configurare gli account, applicare la governance continua tramite AWS Organizations e automatizzare il provisioning di nuovi account.

"Chi crea, esegue" non significa che il team applicativo sia responsabile dell'intero stack, della catena di strumenti e della piattaforma nel loro complesso.

Il team di progettazione della piattaforma fornisce un set standardizzato di servizi (ad esempio, strumenti di sviluppo, strumenti di monitoraggio, strumenti di backup e ripristino e rete) al team applicativo. Il team della piattaforma può anche fornire al team applicativo l'accesso a servizi di fornitori di servizi cloud approvati, configurazioni specifiche dello stesso o entrambi.

I meccanismi che forniscono funzionalità self-service per l'implementazione di servizi e configurazioni approvati, come Service Catalog, limitano i ritardi associati alle richieste di adempimento, applicando al contempo la governance.

Il team della piattaforma attiva la visibilità a stack completo, in modo che i team applicativi possano distinguere tra i problemi dei componenti dell'applicazione e i problemi dei componenti dei servizi e dell'infrastruttura utilizzati dalle applicazioni. Il team della piattaforma può inoltre fornire assistenza per la configurazione di questi servizi, nonché indicazioni su come migliorare le operazioni dei team applicativo.

Come illustrato in precedenza, è fondamentale che il team applicativo disponga di meccanismi per richiedere aggiunte, modifiche ed eccezioni agli standard, a supporto delle attività e dell'innovazione della loro applicazione.

Il modello DevOps distribuito fornisce cicli di feedback solidi ai team applicativi. Le operazioni quotidiane di un carico di lavoro aumentano il contatto con i clienti attraverso l'interazione diretta o indirettamente, attraverso richieste di supporto e funzionalità. Questa maggiore visibilità consente ai team applicativi di risolvere i problemi più rapidamente. Il coinvolgimento più profondo e la relazione più stretta forniscono informazioni sulle esigenze dei clienti e consentono un'innovazione più rapida.

Tutto ciò vale anche per il team della piattaforma che supporta i team applicativi, vedendo tali team come propri clienti.

Gli standard adottati possono essere pre-approvati per l'uso, riducendo la quantità di revisione necessaria per entrare in produzione. L'utilizzo di standard supportati e testati forniti dal team della piattaforma può ridurre la frequenza dei problemi relativi a tali servizi. L'adozione degli standard aiuta i team applicativi a concentrarsi sulla differenziazione dei propri carichi di lavoro.