Travaillant pour une grande entreprise avec plus de 500 informaticiens et plus de 1000 serveurs, chaque serveur exécutant ses propres applications métier, nous avons un énorme défi en matière d'information et de coordination pour savoir quel membre du personnel informatique contacter pour quel serveur. Le problème de la coordination est aggravé par le fait que différents informaticiens sont responsables des différentes couches de la pile informatique. Par exemple, différentes équipes sont responsables du matériel, de la virtualisation, des systèmes d'exploitation, des serveurs d'applications et des applications elles-mêmes.
Compte tenu de ce défi, au sein de DevOps, il est nécessaire de définir et de documenter tous les composants qui constituent les différentes piles technologiques dans un environnement informatique. Traditionnellement, cela aurait pu être accompli avec une solution CMDB propriétaire.
J'ai étudié des solutions CMDB typiques telles que BMC Atrium et d'autres à cet effet, le problème est cependant qu'elles s'arrêtent au niveau de la documentation des actifs informatiques eux-mêmes, à un niveau élevé, conformément au cadre ITIL, mais pour ne pas traiter la documentation de la pile des technologies de l'information en détail. J'ai également étudié des outils tels que Puppet , Ansible et Salt , mais ces outils se concentrent davantage sur le déploiement et la configuration des logiciels, et non sur la coordination des personnes autour des logiciels.
Une solution viable, par exemple, définirait les différents concepts, ainsi que les attributs clés importants pour ces concepts:
- Matériel
- Virtualisation
- Systèmes d'exploitation
- Serveurs d'applications
- Applications
Ces concepts seraient alors associés les uns aux autres en termes de leurs relations afin de former des solutions. Par exemple, une application dépendrait d'un serveur d'application, qui dépendrait d'un système d'exploitation, etc., Ensemble, cette solution serait définie au niveau du "Système financier". Après avoir défini un système, toutes les métadonnées associées à ces systèmes seraient capturées afin de faciliter la coordination pour chaque couche de la pile. C'est-à-dire la coordination du personnel de support technique pour chaque couche.
Le but d'une telle solution serait d'effectuer diverses requêtes sur les piles technologiques, telles que:
- Pour déterminer qui prend en charge quels composants
- Quels composants sont obsolètes
- Quels composants doivent être patchés
Dans cet esprit, quels outils open source existent pour définir tous les composants d'une pile de technologies informatiques, y compris leur relation les uns avec les autres, dans une base de données graphique telle que Neo4J?