Da wir für ein großes Unternehmen mit über 500 IT-Mitarbeitern und über 1.000 Servern arbeiten und jeder Server seine eigenen Geschäftsanwendungen ausführt, haben wir eine enorme Informations- und Koordinationsherausforderung, wenn wir wissen, welcher IT-Mitarbeiter für welchen Server erreichbar ist. Das Problem der Koordination verschärft sich, wenn verschiedene IT-Mitarbeiter für verschiedene Ebenen des IT-Stacks verantwortlich sind. Beispielsweise gibt es verschiedene Teams, die für Hardware, Virtualisierung, Betriebssysteme, Anwendungsserver und die Anwendungen selbst verantwortlich sind.
Angesichts dieser Herausforderung besteht in DevOps die Anforderung, alle Komponenten zu definieren und zu dokumentieren, die die verschiedenen Technologiepakete in einer IT-Umgebung ausmachen. Traditionell könnte dies mit einer ordnungsgemäßen CMDB-Lösung erreicht worden sein.
Ich habe typische CMDB-Lösungen wie BMC Atrium und andere für diesen Zweck untersucht. Das Problem ist jedoch, dass sie nicht mehr auf der Ebene der Dokumentation von IT-Ressourcen selbst auf hoher Ebene gemäß dem ITIL-Framework stattfinden, sondern nicht auf die Dokumentation eingehen des IT-Technologie-Stacks im Detail. Ich habe auch Tools wie Puppet , Ansible und Salt untersucht , aber diese Tools konzentrieren sich mehr auf die Softwarebereitstellung und -konfiguration und nicht auf die Personalkoordination in Bezug auf Software.
Eine praktikable Lösung würde zum Beispiel die verschiedenen Konzepte zusammen mit den Schlüsselattributen definieren, die für diese Konzepte wichtig sind:
- Hardware
- Virtualisierung
- Betriebssysteme
- Anwendungsserver
- Anwendungen
Diese Konzepte würden dann in ihren Beziehungen miteinander verknüpft, um Lösungen zu finden. ZB würde eine Anwendung von einem Anwendungsserver abhängen, der von einem Betriebssystem usw. abhängen würde. Zusammen würde diese Lösung im "Finanzsystem" definiert werden. Nachdem ein System definiert wurde, werden alle mit diesen Systemen verbundenen Metadaten erfasst, um die Koordination für jede Schicht im Stapel zu erleichtern. Dh die Koordination des technischen Supports für jede Schicht.
Der Zweck einer solchen Lösung besteht darin, verschiedene Abfragen für Technologiestacks durchzuführen, z.
- Um festzustellen, wer welche Komponenten unterstützt
- Welche Komponenten sind veraltet?
- Welche Komponenten müssen gepatcht werden?
Welche Open-Source-Tools gibt es vor diesem Hintergrund, um alle Komponenten eines IT-Technologie-Stacks einschließlich ihrer Beziehung zueinander in einer Grafikdatenbank wie Neo4J zu definieren?