Veröffentlicht: 18. Januar 2024
Mitwirkende: Keith O'Brien, Michael Goodwin
Bei der Abhängigkeitszuordnung geht es um die Identifizierung, das Verständnis und die Visualisierung der Beziehungen zwischen Anwendungen, Systemen und Prozessen innerhalb des IT-Betriebs eines Unternehmens.
Moderne IT-Umgebungen umfassen viele verschiedene Arten von Software, Hardware, Netzwerkgeräten und Virtualisierungstechnologien. Sie nutzen eine Mischung aus lokaler Infrastruktur und Cloud-Umgebungen. Die Identifizierung all dieser Systeme und das Verständnis ihrer Abhängigkeiten ist ein wichtiger, aber anspruchsvoller Prozess, der Unternehmen dabei hilft, ihr IT-Ökosystem zu rationalisieren und zu optimieren.
Dieser Prozess hilft einem Unternehmen, Schwachstellen aufzudecken, die sofort behoben werden müssen, und Ineffizienzen zu finden, bei denen unabhängige Prozesse vorteilhafter wären. Dadurch kann ein Unternehmen seine Entscheidungsfindung verbessern und besser verstehen, wie sich ein Ausfall oder ein Problem in einer Komponente auf den Rest des IT-Ökosystems auswirken wird. Die Abhängigkeitszuordnung umfasst in der Regel eine visuelle Darstellung von IT-Assets in einer gesamten IT-Umgebung durch Visualisierungen wie Gantt-Diagramme.
Abhängigkeiten können entweder vertikal sein, d. h. Abhängigkeiten zwischen verschiedenen Arten von IT-Komponenten, z. B. zwischen Services und Anwendungen, oder horizontal, d. h. Abhängigkeiten zwischen ähnlichen Komponenten, z. B. zwischen Anwendungen.
In einem abhängigen Ökosystem kann ein Vorfall oder ein Problem mit einer Komponente – z. B. ein Softwarefehler oder eine Fehlfunktion im Code – die ganze Kette der Abhängigkeiten in Gefahr bringen und zu Ausfällen im gesamten System führen. Dies wird häufig als „Abhängigkeitshölle“ bezeichnet. Unternehmen versuchen, diese Szenarien zu minimieren, indem sie verstehen, wie ihre Abhängigkeiten funktionieren und unnötige Abhängigkeiten beseitigen.
Die Identifizierung von Abhängigkeiten durch einen Ad-hoc- oder manuellen Prozess kann ein langwieriger, zeitaufwändiger Prozess sein, bei dem nicht garantiert ist, dass die Mitglieder des IT-Teams am Ende ein umfassendes Bild über die Komplexität eines Systems haben. Aus diesem Grund setzen Unternehmen häufig Tools zur Abhängigkeitszuordnung und Automatisierung ein, um die Beziehungen zwischen Anwendungen, Daten und Aufgaben zu visualisieren.
Die Abhängigkeitszuordnung – eine Kernkomponente der Observability-Praktiken – wird angesichts der gegenseitigen Abhängigkeit moderner IT-Services in Unternehmen immer wichtiger. Observability hilft Unternehmen, verteilte Anwendungen zu visualisieren, um die Leistung zu optimieren und Probleme schneller und automatisch zu erkennen und zu lösen.
Die Zuordnung von Abhängigkeiten ist eine kritische Komponente des IT-Projektmanagements und des Änderungsmanagements, denn ein Unternehmen muss wissen, wie seine Systeme miteinander interagieren und voneinander abhängig sind, um laufende Projekte und organisatorische Änderungen effektiv zu verwalten.
Erfahren Sie, wie intelligente Automatisierung Ihre Geschäftsabläufe zu einem Wettbewerbsvorteil machen kann.
Registrieren Sie sich für das E-Book über Beobachtbarkeitsmythen
Es gibt verschiedene Arten von Abhängigkeiten und Abhängigkeitszuordnungen, die sich auf die umfassende Strategie eines Unternehmens auswirken. Eine Aufschlüsselung der Abhängigkeiten nach Typ kann einem Unternehmen helfen, die wichtigsten Abhängigkeiten in seinen IT-Systemen leichter zu verstehen und sie zu verbessern.
Die Abhängigkeitszuordnung von Anwendungen, auch bekannt als Application Discovery und Abhängigkeitszuordnung, befasst sich speziell mit Abhängigkeiten zwischen Anwendungen. Die Abhängigkeitszuordnung von Anwendungen hilft einem Unternehmen, Engpässe bei der Anwendungsleistung zu beseitigen und Wege zu finden, wie seine Anwendungen zuverlässiger und effizienter ausgeführt werden können.
Dazu gehört das Verständnis der Abhängigkeiten zwischen Servern, Netzwerken, Datenbanken und Speichersystemen. Durch die Abhängigkeitszuordnung von Infrastrukturen wird beispielsweise ermittelt, wie sich der Ausfall eines Servers auf andere Server auswirkt oder welche Folgen der Ausfall einer Datenbank auf die gesamte Datenspeicherung des Unternehmens hat. Dies ist besonders hilfreich, um Einblick in die Betriebszeit und die Notfallwiederherstellung zu erhalten.
Dieser Bereich identifiziert die internen Komponenten eines Systems und die bestehenden Abhängigkeiten sowie die Abhängigkeiten zwischen einzelnen Systemen innerhalb des Unternehmens. Sie kann auch externe Abhängigkeiten innerhalb der Branche eines Unternehmens umfassen. Welche Systeme in diese Abhängigkeitszuordnung einbezogen werden, hängt von der Branche oder dem Schwerpunkt eines Unternehmens ab.
Dabei kann es sich zum Beispiel um Finanzsysteme für Banken, intelligente Stromnetze für Energieerzeuger oder Informationssysteme für Gesundheitsorganisationen handeln.
Diese einfache Methode pingt IP-Adressen, um aus den Antworten zu erfahren, welcher Gerätetyp gepingt wurde. Dies kann Unternehmen bei einfachen Netzaudits helfen, bietet aber keine Echtzeiterkenntnisse zu Abhängigkeiten, insbesondere in agilen Umgebungen.
Diese Art der Abhängigkeitszuordnung betrifft die physische und logische Anordnung von Knoten und Verbindungen in einem Netzwerk.
Moderne IT-Umgebungen umfassen in der Regel eine Mischung aus internen und externen SaaS- und Open-Source-Lösungen. Ein umfassendes Verständnis der internen und externen Abhängigkeiten und des Zusammenspiels von Lösungen hilft Unternehmen dabei, ihren Stakeholdern einen größeren Mehrwert zu bieten.
Dabei handelt es sich um Abhängigkeiten innerhalb der internen IT-Infrastruktur eines Unternehmens, z. B. zwischen Software, Servern und anderen Tools in lokalen Rechenzentren und Private Clouds.
Hierbei handelt es sich um Abhängigkeiten innerhalb von Anwendungen, Prozessen und Systemen, die ein Unternehmen kontrolliert und bei denen das Unternehmen eingreifen kann, um ein Problem zu lösen oder Abhängigkeiten zu beseitigen oder zu stärken.
Hierbei handelt es sich um Abhängigkeiten zwischen Anwendungen und Systemen, die außerhalb der vollständigen Kontrolle eines Unternehmens liegen, beispielsweise solche, die auf Public-Cloud-Services gehostet werden oder die auf externe APIs oder Open-Source-Software angewiesen sind. In diesen Szenarien ist ein Unternehmen möglicherweise nicht in der Lage, Störungen direkt zu kontrollieren, was zu Problemen wie Leistungseinbußen, Ausfällen, Datenlecks und der Offenlegung von Zugangsdaten führen kann.
Es gibt mehrere Gründe für Abhängigkeiten in der Softwareentwicklung und Netzwerkinfrastruktur in heutigen IT-Umgebungen. Dazu gehören:
Moderne Unternehmen verwenden eher Open-Source-Software, wodurch eine Kommunikation zwischen den eigenen Anwendungen und einer dritten Partei erforderlich ist, die Updates und andere Änderungen an der Open-Source-Software verwaltet.
Unternehmen müssen schnell handeln, um erfolgreich zu sein. Daher setzen sie auf geschäftliche Agilität, d. h. auf die Fähigkeit, Services schnell neu zu konfigurieren und neue Lösungen einzuführen, um auf Veränderungen der Nachfrage oder der Kundengewohnheiten zu reagieren.
Um agiler zu werden, verwenden Unternehmen die Microservices-Architektur. Damit erstellen sie Anwendungen, die in unabhängige Services aufgeteilt sind und über APIs kommunizieren. Dieser Ansatz ermöglicht es verschiedenen Teams, an verschiedenen Services innerhalb der Anwendung zu arbeiten, was letztendlich den Softwareentwicklungsprozess beschleunigt.
Während Komponenten von Microservices unabhängig voneinander arbeiten und im Idealfall jede Microservice-Lösung vollständig autonom ist, verfügen Microservice-Lösungen häufig über Komponentenservices, die über APIs mit anderen Microservices im Netzwerk kommunizieren. Dadurch können Abhängigkeiten entstehen.
Unternehmen, die Public Clouds nutzen, haben Daten, Services und Anwendungen, die extern gehostet werden. Um den Betrieb effektiv zu verwalten und die Skalierungsvorteile von Cloud Computing zu nutzen, müssen Unternehmen unbedingt verstehen, wie ihre Cloud-Services von ihren lokalen Services abhängig sind und umgekehrt. Viele Cloud-Provider bieten Tools zur Darstellung dieser Abhängigkeiten an.
Die Abhängigkeitszuordnung und die verbesserte Observability, die damit einhergeht, können Unternehmen in den folgenden Bereichen helfen:
Unternehmen, die einen vollständigen Überblick über ihre IT-Abhängigkeiten haben und verstehen, wie ein Problem ein anderes Problem zur Folge haben kann – wie z. B. ein Problem mit der SSL-Bibliothek zu Sicherheitslücken im gesamten Netzwerk führen kann oder wie eine Änderung in einer externen API-Konfiguration dafür sorgen kann, dass eine Anwendung offline geht – sind besser in der Lage, eine Katastrophe von vornherein zu verhindern.
Wenn man weiß, wie sich jede Änderung der Abhängigkeiten auf das Gesamtsystem auswirkt, können sich Unternehmen besser auf zukünftige Angriffe oder Probleme vorbereiten.
Unternehmen mit einer soliden Abhängigkeitszuordnung sind besser in der Lage, Prioritäten zu setzen und ihre Protokolle für die Reaktion auf Vorfälle zu optimieren, um größtmögliche Betriebszeit sicherzustellen.
Mithilfe der Abhängigkeitszuordnung können Unternehmen ein entdecktes Problem auf das ursprüngliche Problem oder den ursprünglichen Fehler zurückführen. Dies hilft, die Grundursache zu identifizieren und das gesamte System zu stärken.
Abhängigkeiten sind nicht per se schlecht; sie können sogar von Vorteil sein. Abhängigkeiten können beispielsweise die Möglichkeit bieten, vorhandenen Code für die Wiederverwendung in anderen Komponenten zu nutzen, wodurch der Bedarf an Neuentwicklungen minimiert wird. Aber nicht alle Abhängigkeiten sind notwendig.
Eine ganzheitliche Sicht auf Abhängigkeiten kann Unternehmen dabei helfen zu entscheiden, welche Abhängigkeiten zwingend erforderlich oder nützlich sind und welche beseitigt werden sollten.
Wenn Unternehmen kritische Abhängigkeiten verstehen, können sie ihre Ressourcen effektiver zuweisen. Durch die Sicherstellung, dass Komponenten, von denen andere Teile eines Systems abhängen, ordnungsgemäß mit Ressourcen ausgestattet und überwacht werden, können Unternehmen Maßnahmen ergreifen, um die Möglichkeit umfassender Leistungsverschlechterungen oder eines Ausfalls zu verringern.
IBM Instana demokratisiert die Observability, indem es eine Lösung bereitstellt, mit der jeder in den Bereichen DevOps, SRE, Plattform, ITOps und Entwicklung die gewünschten Daten mit dem benötigten Kontext abrufen kann. Die Plattform wurde speziell für die Cloud entwickelt und ist technologieunabhängig. Sie liefert automatisch und kontinuierlich Daten mit hoher Genauigkeit (mit einer Granularität von 1 Sekunde und End-to-End-Traces) sowie den Kontext logischer und physischer Abhängigkeiten in den Bereichen Mobile, Web, Anwendungen und Infrastruktur.
IBM Instana wurde für die Cloud entwickelt und bietet Ihnen die nächste Stufe der APM-Intelligenz: vollständige Observability für Unternehmen, die Ihnen einen schnellen, automatisierten und kontextbezogenen Einblick in den Zustand und die Verfügbarkeit Ihrer gesamten Anwendungsumgebung ermöglicht. Damit können Ihre Teams Diagnosen durchführen, Reaktionszeiten verkürzen, die Anwendungsleistung optimieren und CI/CD-Pipelines beschleunigen.
In diesem Einsteigerhandbuch erfahren Sie, was Observability ist und wie Sie in drei einfachen Schritten mit Observability in Ihrem Unternehmen beginnen können.
Erfahren Sie, wie die vollständig automatisierte Plattform für Observability in Echtzeit von IBM Instana Leistungsdaten in einen Kontext stellt, um Probleme zu vermeiden und schnell zu beheben.
Für Rebendo, einen Entwickler von Leistungsmanagementlösungen, ermöglichte die Integration mit Instana die Echtzeitüberwachung von App-Prozessen, um einen reibungsloseren Betrieb zu fördern.
Erfahren Sie, was Observability für Unternehmen bedeutet, was notwendig ist, um sie zu erreichen, und wie IBM Instana Observability die gesamte Palette an Überwachungs- und Observability-Lösungen bietet, die Teams benötigen, um in einer schnelllebigen, auf Microservices ausgerichteten Welt erfolgreich zu sein.
Überwachung und Observability sind zwei Möglichkeiten, um die Ursache von Problemen zu ermitteln – wie unterscheiden sie sich voneinander?
Durch den Einsatz geeigneter Tools und Praktiken können Unternehmen komplexe Microservices-Umgebungen effektiv verwalten und gleichzeitig die Anwendungsbereitstellung optimieren.