Il provisioning e la gestione dell'infrastruttura nell'ingegneria della piattaforma comportano l'evoluzione da processi manuali e incoerenti a approcci più automatizzati, scalabili e adattivi. Adottando processi automatizzati e standardizzati, le organizzazioni possono ridurre gli errori, migliorare l'efficienza e garantire una gestione coerente dell'infrastruttura.
Le aree di interesse includono la definizione dei processi di provisioning, la gestione dell'infrastruttura e le richieste di provisioning e il monitoraggio dell'allocazione delle risorse.
Manuale
Nella fase iniziale, l'organizzazione sottolinea flessibilità e risposte rapide alle esigenze dell'infrastruttura, con i team IT o Architecture che forniscono indicazioni tramite la documentazione. Gli sviluppatori configurano manualmente l'infrastruttura in base a queste linee guida, causando incoerenze quando i diversi team usano metodi diversi. Le richieste di accesso e provisioning vengono esaminate manualmente, causando ritardi e gli sviluppatori gestiscono autonomamente il provisioning, aumentando il rischio di errori. La mancanza di processi formalizzati e la dipendenza dai controlli manuali comportano operazioni silo, tempi di inattività maggiori e difficoltà nel mantenere un'infrastruttura scalabile, rendendo questo approccio insostenibile man mano che le richieste aumentano.
Definire i processi di provisioning: gli sviluppatori configurano manualmente l'infrastruttura caso per caso, spesso usando metodi e strumenti diversi per attività simili.
Rispondere e gestire le richieste di provisioning dell'infrastruttura e dei servizi: le richieste per l'infrastruttura vengono gestite manualmente in base alle esigenze, spesso tramite canali di comunicazione informali (ad esempio, posta elettronica, chat), con accesso gestito da revisioni manuali dai team IT o Architettura. I singoli team o sviluppatori sono responsabili del provisioning.
Monitorare l'allocazione delle risorse: Teams può basarsi su controlli manuali per assicurarsi che le risorse non esauriscano la capacità, ma spesso solo quando si verificano problemi.
Coordinato
Poiché l'organizzazione riconosce la necessità di operazioni più coerenti ed efficienti, i passaggi iniziali vengono eseguiti per centralizzare e standardizzare i processi di provisioning. Alcuni team iniziano ad allineare gli strumenti e i metodi, ma senza uno standard a livello di organizzazione, le variazioni persistono. I sistemi centralizzati, come i ticket, vengono introdotti per gestire le richieste di infrastruttura, ma questo approccio può introdurre colli di bottiglia, come approvazioni manuali e provisioning comportano un sovraccarico.
La transizione verso la centralizzazione e la standardizzazione, se necessario, può rallentare i cicli di sviluppo e distribuzione, evidenziando la necessità di una maggiore semplificazione.
Definire i processi di provisioning: alcuni team iniziano a usare e modificare strumenti e script simili, ma non esistono standard a livello di organizzazione. Alcuni team effettuano manualmente il provisioning delle risorse, alcuni team usano strumenti e script disponibili.
Rispondere e gestire le richieste di provisioning dell'infrastruttura e del servizio: le richieste vengono inviate tramite un sistema centralizzato (ad esempio, un sistema di ticketing) e un team IT o piattaforma centralizzato approva e effettua manualmente il provisioning dell'infrastruttura.
Monitorare l'allocazione delle risorse: Teams inizia a usare gli strumenti standard per raccogliere dati sull'utilizzo delle risorse, ma il monitoraggio viene in genere configurato per singoli servizi o progetti senza una visualizzazione olistica.
Pavimentato
L'organizzazione è incentrata sulla definizione di processi di provisioning formali e coerenti durante l'intera operazione. Tuttavia, man mano che aumenta il volume delle richieste di infrastruttura, il team della piattaforma potrebbe faticare a mantenere il passo, anche con flussi di lavoro strutturati. La sfida è la gestione della crescente domanda senza compromettere la qualità del servizio o l'efficienza, spingendo la necessità di soluzioni più scalabili.
Definire i processi di provisioning: i tecnici usano modelli IaC per effettuare il provisioning dei servizi. I processi di provisioning vengono formalizzati e standardizzati nell'organizzazione. Le procedure IaC (Infrastructure as Code) sono ampiamente adottate, con modelli e strumenti coerenti usati da tutti i team.
Rispondere e gestire le richieste di provisioning dell'infrastruttura e del servizio: le richieste vengono gestite tramite un flusso di lavoro strutturato, con modelli predefiniti e processi definiti per semplificare il provisioning (esempi: percorsi pavimentati, percorsi dorati). Le approvazioni possono essere necessarie per determinati tipi di richieste.
Monitorare l'allocazione delle risorse: viene monitorato un set completo di metriche, che offre una chiara visibilità sull'allocazione e sull'utilizzo delle risorse. I dashboard centralizzati monitorano l'uso delle risorse in tutti i servizi, fornendo informazioni dettagliate sulle prestazioni.
Automatizzato
Per risolvere i limiti dei processi manuali e migliorare l'efficienza, l'organizzazione si sposta verso l'automazione del provisioning e l'integrazione nelle pipeline CI/CD. L'automazione riduce il lavoro manuale e garantisce una distribuzione coerente, con controlli di governance e conformità integrati nel flusso di lavoro. Tuttavia, questo passaggio a "tutto come codice" richiede un livello superiore di esperienza nell'automazione, nello scripting e nella codifica. Inoltre, mentre i modelli semplificano molti processi, possono semplificare gli scenari complessi, richiedendo un perfezionamento continuo per gestire in modo efficace casi perimetrali univoci.
Definire i processi di provisioning: i processi di provisioning vengono automatizzati e integrati nelle pipeline CI/CD, consentendo una distribuzione rapida e coerente dell'infrastruttura. I controlli di governance e conformità sono integrati nei flussi di lavoro di provisioning.
Rispondere e gestire le richieste di provisioning dell'infrastruttura e del servizio: il team della piattaforma gestisce il processo di richiesta tramite una funzionalità self-service automatizzata, consentendo agli utenti di effettuare il provisioning delle risorse in modo indipendente all'interno di parametri controllati. Gli utenti autorizzati hanno accesso alle risorse di creazione dell'ambiente dedicate e condivise, standardizzate e preconfigurate.
Monitorare l'allocazione delle risorse: automatizzare il ridimensionamento in base ai modelli di utilizzo
Adattivo
L'organizzazione è incentrata sull'ottimizzazione dell'allocazione e delle prestazioni delle risorse tramite la gestione intelligente e proattiva. Il provisioning non è solo automatizzato, ma anche adattivo, con sistemi che prevedono e rispondono alle esigenze dell'infrastruttura in tempo reale. Questo approccio consente un equilibrio tra flessibilità e governance, assicurandosi che le risorse vengano allocate in modo efficiente mantenendo la conformità. La sfida a questo livello consiste nella gestione della complessità del bilanciamento della governance centralizzata con l'autonomia dei team decentralizzati, garantendo che gli standard di governance si evolvono insieme alle esigenze organizzative senza soffocare l'innovazione.
Definire i processi di provisioning: i processi di provisioning vengono automatizzati e integrati nelle pipeline CI/CD, consentendo una distribuzione rapida e coerente dell'infrastruttura. I controlli di governance e conformità sono integrati nei flussi di lavoro di provisioning.
Rispondere e gestire le richieste di provisioning dell'infrastruttura e dei servizi: le richieste vengono gestite automaticamente da un sistema intelligente che prevede le esigenze e effettua il provisioning delle risorse in modo proattivo, offrendo flessibilità mantenendo al contempo la governance.
Monitorare l'allocazione delle risorse: stimare la domanda di risorse in base ai dati cronologici e ai modelli di utilizzo correnti, effettuare automaticamente il provisioning o deallocare le risorse per mantenere prestazioni ottimali ed efficienza dei costi.