Lavorando per una grande azienda con oltre 500 dipendenti IT e oltre 1.000 server, con ogni server che esegue le proprie applicazioni aziendali, abbiamo una tremenda sfida di informazione e coordinamento nel sapere quale membro dello staff IT contattare per quale server. Il problema del coordinamento è aggravato dal fatto che il personale IT diverso è responsabile dei diversi livelli dello stack IT. Ad esempio, ci sono diversi team responsabili dell'hardware, della virtualizzazione, dei sistemi operativi, dei server delle applicazioni e delle applicazioni stesse.
Considerando questa sfida, all'interno di DevOps è necessario definire e documentare tutti i componenti che costituiscono i vari stack tecnologici all'interno di un ambiente IT. Tradizionalmente, ciò avrebbe potuto essere realizzato con una soluzione CMDB proprietaria.
Ho studiato soluzioni CMDB tipiche come BMC Atrium e altre a questo scopo, ma il problema è che si fermano a livello di documentazione delle risorse IT stesse, ad alto livello, come per il framework ITIL, ma per non affrontare la documentazione dello stack IT Technology in dettaglio. Ho anche studiato strumenti come Puppet , Ansible e Salt , ma questi strumenti si concentrano maggiormente sulla distribuzione e configurazione del software e non sul coordinamento delle persone attorno al software.
Una soluzione praticabile, ad esempio, definirebbe i vari concetti, insieme agli attributi chiave importanti per questi concetti:
- Hardware
- virtualizzazione
- Sistemi operativi
- Server delle applicazioni
- applicazioni
Questi concetti verrebbero quindi associati tra loro in termini di relazioni al fine di formare soluzioni. Ad esempio, un'applicazione dipenderebbe da un server delle applicazioni, che dipenderebbe da un sistema operativo, ecc. Insieme, questa soluzione sarebbe definita nel "Sistema finanziario". Dopo aver definito un sistema, tutti i metadati associati a questi sistemi verrebbero catturati al fine di facilitare il coordinamento per ogni livello nello stack. Vale a dire il coordinamento del personale di supporto tecnico per ogni livello.
Lo scopo di tale soluzione sarebbe di fare varie domande contro stack tecnologici, come:
- Per determinare chi supporta quali componenti
- Quali componenti non sono aggiornati
- Quali componenti devono essere patchati
Con questo in mente, quali strumenti open source esistono per definire tutti i componenti di uno stack di tecnologia IT, inclusa la loro relazione reciproca, in un database grafico come Neo4J?