Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Man mano che l'organizzazione cresce, è necessario tenere traccia della quantità di elementi necessari. Le organizzazioni spesso duplicano le attività interne perché i team non conoscono i progetti dell'altro. Man mano che le persone si spostano tra i team, nuove persone si uniscono all'azienda e altre la lasciano, i progetti possono diventare abbandonati. Gli inventari consentono di risolvere questi problemi e sono una parte fondamentale della progettazione della piattaforma.
Un inventario è uno strumento o un sistema usato per tenere traccia, gestire e organizzare le risorse tecniche di un'organizzazione. Questi asset includono codice, API, contenitori, macchine virtuali (VM), autorizzazioni del team e altro ancora.
Non tenere traccia delle risorse porta all'espansione tecnica e agli sprechi semplicemente perché non è possibile scoprire facilmente ciò che esiste già. Perdere traccia di ciò che esiste già è una sfida comune.
Abbiamo un gran numero di contenitori o istanze di [VM] in esecuzione. È possibile eliminare le macchine virtuali precedenti? Nessuno lo sa. Dobbiamo trovare un modo per pulire le vecchie cose e usare tag appropriati in modo che sappiamo chi è il proprietario o il team che può informarci su cosa possiamo fare e che cos'è il ciclo di vita. Non si sa se è possibile arrestare una determinata macchina virtuale perché non si è certi di cosa accadrà. - Martin, ingegnere DevOps, grande azienda logistica
Tenere traccia degli asset
È necessario un inventario per tenere traccia di tutto ciò che hai creato o creato nell'ecosistema e che i clienti interni possono visualizzare in modo comprensibile.
Un inventario può migliorare la sicurezza, promuovere il riutilizzo e in genere semplificare l'individuazione. Sono disponibili diversi strumenti per tenere traccia di diversi tipi di asset. Ognuno di questi strumenti fornisce un inventario che consente di gestire, tenere traccia e pulire gli sprechi.
Gli strumenti di rilevamento disponibili includono:
- Gli ambienti di distribuzione di Azure consentono di tenere traccia di un'infrastruttura complessa creata tramite l'infrastruttura come codice (IaC) come ambiente astratto.
- Il Centro API di Azure consente agli sviluppatori di individuare e usare le API.
- I registri pacchetti come GitHub Packages o Azure Artifacts (o altri inventari di pacchetti e SDK approvati) migliorano la sicurezza della supply chain.
Per ottenere visibilità sugli inventari, prendere in considerazione l'approccio migliore per l'organizzazione. Alcune organizzazioni consentono a tutti gli sviluppatori di visualizzare gli asset software, ma solo alcuni possono modificarli (in modo simile a una cucina aperta). Altri, in particolare nei settori regolamentati, limitano l'accesso più strettamente, talvolta anche limitando la visibilità ai nomi dei progetti a causa della sensibilità.
Migliorare l'individuabilità, la governance e il riutilizzo
Avere uno o più sistemi di inventario che consentano di tenere traccia di ciò che si possiede è fondamentale per le pratiche di progettazione della piattaforma ed evitare lo sprawl tecnico. Inizialmente, la presenza di un set di elenchi di inventario flat potrebbe essere sufficiente. Tuttavia, è possibile migliorare ulteriormente l'individuabilità aggiungendo relazioni tra asset diversi tra più inventari. Indipendentemente dal livello di visibilità richiesto, la presenza di un punto di aggregazione centralizzato consente ai team di cercare e individuare rapidamente tutti gli asset disponibili. In questo modo si promuove il riutilizzo, si riduce la ridondanza e si stabilisce un approccio coerente alla governance.
Si consideri la relazione tra una definizione API e il codice dell'applicazione distribuita che implementa l'interfaccia . Questo codice viene archiviato in un repository e gestito da un team e fornisce la documentazione sull'uso. Vengono creati ambienti di sviluppo, di test, di produzione e persino sandbox temporanee. Negli scenari nativi del cloud gli ambienti potrebbero essere distribuiti in un cluster Kubernetes condiviso. Il team di sviluppo che compila l'API e tutti i consumer interni di esso devono essere in grado di ottenere informazioni su ognuno di questi elementi, ma il modo in cui le risorse sono correlate non è ovvio.
Per iniziare, è possibile usare qualcosa di semplice come una pagina wiki per tenere traccia del modo in cui ogni cosa si riferisce l'una all'altra. Ma la documentazione invecchia rapidamente e può essere difficile sia da trovare che da analizzare. Idealmente, si dispone di un sistema con un grafico delle relazioni che consente alle interfacce utente di attraversare queste relazioni nell'inventario. Per migliorare realmente l'individuabilità, è necessario essere in grado di associare gli elementi archiviati in più tipi di inventario o grafici insieme. Potrebbe non essere necessario utilizzare direttamente gli inventari, ma è probabile che si voglia essere in grado di associarlo alle informazioni in un sistema di catalogo API.
Collegare inventari con grafici relazionali e cataloghi
Per usare l'analogia dell'archivio digitale, può anche essere utile associare gli elementi (modelli) nel catalogo al contenuto dell'inventario risultante. Ad esempio, se si rende conto che uno dei modelli crea una configurazione non sicura, è necessario trovare rapidamente tutte le risorse create con il modello per correggerle. I modelli di avvio rapido per applicazioni sono bundle kit di avvio in questo catalogo che sono collegati ad altri tipi di elementi del catalogo (ad esempio modelli IaC). Il rilevamento di queste associazioni consente di trovare in modo proattivo qualsiasi applicazione che faccia riferimento a un modello IaC non valido anche se non è ancora stato effettuato il provisioning dell'infrastruttura.
Una variante semplificata di questo grafico concettuale di piattaforma per sviluppatori di alto livello è disponibile in alcuni toolkit e prodotti oggi, sebbene il nome possa variare. Ad esempio, il toolkit del portale open source Backstage.io chiama questo catalogo software mentre altri prodotti usano termini diversi. Tuttavia, la maggior parte di questi prodotti e toolkit presuppone l'uso del set di funzionalità più ampio e richiede che il contenuto degli inventari venga duplicato all'interno di essi. Questa duplicazione indica che il contenuto del database del catalogo non è specifico dell'utente, può diventare obsoleto e non è controllato dai meccanismi di autorizzazione utente del sistema di origine effettivo. Tuttavia, questo potrebbe andare bene per la vostra organizzazione se seguite un approccio di cucina aperta.