Managament , Fachartikel

Kein API ohne Management

Kein API ohne Management

Digitalisierung, Digitalisierung, Digitalisierung: An ihr kommt derzeit keine Organisation vorbei. Quasi über Nacht entstehen dank der rasend schnellen, agilen Vernetzung von Diensten, Daten und Anwendern neue Geschäftsmodelle. Im Kampf um die Marktspitze hat nur der die Nase vorn, der mit diesen Entwicklungssprüngen chancenorientiert arbeitet und sie nicht blockiert. Darum setzen moderne Organisationen auf Anwendungs-Programmierschnittstellen (engl. Application Programming Interfaces, APIs), die Systeme vergleichsweise einfach anbindbar bzw. anpassbar machen.

Digital nur mit Konzept

Einige Anbieter erstellen beispielsweise nur noch sogenannte „Micro Services“. Diese bieten zwar nur eine sehr begrenzte Funktionalität, allerdings lassen sie sich in Kombination zu einer Vielzahl neuer Anwendungen zusammensetzen.  Auf diese Weise können bestehende Angebote schneller auf neue Anwendungsformen oder auch Zielplattformen (mobile Geräte, Android, iOS, etc.) transformiert, bzw. flexiblere Anpassungen an neue Bedürfnisse oder neue Funktionen erfolgen. Im Gegensatz zu einem eher komplex auszuführenden Change in einem etablierten monolithischen Anwendungs-Stack sind neue Micro Services - oder Anpassungen an bereits bestehenden - einfach und unkompliziert.  Doch es ist nicht alles digitales Gold, was erfolgversprechend blinkt! Ohne ein umfassendes Management, eine Orchestrierung der APIs und Micro Services sowie konkrete Vorgaben für deren Interaktion, Authentisierung und Autorisierung – nicht zu vergessen zukunftsweisender Konzepte zur Versicherung und zum Transport zwischen Entwicklungs-umgebung, Testumgebung, Integration Umgebung und Produktion -  kommt es schnell zum Chaos.

Aufgrund der Flexibilität von Micro Services und APIs, sind diese eine bevorzugte Option, in einem agilen Entwicklungsumfeld schnell neue Versionen zu publizieren. Diese erheblich beschleunigte Kadenz neuer Versionen und die darüber hinausgehend engere Kooperation zwischen Entwicklern und Betriebsmannschaft, wird gemeinhin unter dem Fachbegriff „DevOps“ zusammengefasst. Auch auf menschlicher Kommunikationsebene bietet ein sauber konzipiertes API Management einen erheblichen Vorteil für die reibungslose Organisation von „DevOps“: Unter Nutzung spezifischer Benutzeroberflächen sowohl für die Betriebsmannschaft als auch für die Entwickler, können beide Parteien parallel die für sie jeweils notwendigen Informationen über die im Entwicklungsstatus, im Test, in der Integration oder im Betrieb befindlichen Services und APIs zugreifen.

API Management: zentrale Instanz!

Ähnlich wie bei der Interaktion zwischen menschlichen Nutzern und IT Anwendungen, müssen sich die handelnden Parteien gegenseitig identifizieren und authentisieren. Da Webservices und API für die Verwendung von Benutzername/Passwortschemata denkbar ungeeignet sind (diese Informationen müssten fest codiert werden, was ein erhebliches Sicherheitsrisiko darstellt), wird weitgehend auf eine Identifikation und Authentisierung unter Nutzung von Zertifikaten abgezielt. In einem Umfeld mit mehreren aktiven Produktionsservern, an mehreren Standorten über den Globus verteilt, sowie einer ebenfalls nicht geringen Anzahl an Serverinstanzen für Entwicklung, Test und Integrationsumgebungen, sinkt bereits bei einer knapp dreistelligen Anzahl an Services bzw. API die Übersichtlichkeit spürbar – ganz zu schweigen von einer möglichen Fehlersuche in der Konfiguration oder wo welches Zertifikat für welchen Service eingesetzt wird.  Um die für einen reibungslosen DevOps Prozess wichtige Übersicht zu behalten, ist es erforderlich die jeweiligen Informationen über die je Instanz im Einsatz befindlichen Services - sowie deren Konfiguration -  in einem Dashboard erfragen zu können. Zwar gibt es für eine Reihe von Cloud basierten Plattformen entsprechende Informationen, diese sind jedoch sowohl für die Entwickler als auch für die Betriebsmannschaft nur schwer zugänglich und erstrecken sich dabei vornehmlich auf die produktiven Instanzen. Um ein entsprechend umfassendes Reporting zu erhalten bedarf es daher zwingend einer flexibel einzubindenden zentralen API Management Instanz, die in der Lage ist, sowohl die verschiedenen produktiven Cluster als auch die einzelnen Instanzen der darunter angesiedelten Umgebungen zusammenzutragen und diese gemeinsam aufzubereiten.

Datenbereitstellung dank API

Anschaulich wird die Thematik auch bei der Bereitstellung von Daten aus der Produktion im Umfeld der Industrie 4.0. Bislang verlief etwa der Informationsaustausch über die Bereitstellung von Zuliefererprodukten für die Montage über Standards wie EDI und EDIfakt. Im Zuge der Digitalisierung ganzer Fertigungsabläufe und dem Wunsch nach der Verfügbarkeit von deutlich größeren Datenmengen für jedes Bauteil (etwa Daten aus dem Qualitätssicherungssystem, hochauflösende Fotos von Produktdetails oder eine komplette Beschreibung des Produktes als so genannter digitaler Zwilling) kommen diese etablierten, EDIbasierten Datenübertragungen an ihre Grenzen. Hersteller von Bauteilen etwa, streben danach diese spezifischen Daten in einer einheitlichen Form, beispielsweise über API, den Kunden zugänglich zu machen. Dies hat den Vorteil einer erheblichen Komplexitätsreduktion sowie die Möglichkeit, Datenformate zu übertragen und die Inhalte anzupassen. Schließlich lassen sich sogar mehrere Versionen einer API parallel betreiben. Somit ist es dem Kommunikationspartner freigestellt, ab wann er die neue Version einer API verwendet. Unterschiedliche Entwicklungsgeschwindigkeiten bei Lieferant und Kunden-unternehmen oder auch innerhalb der Produktion und der IT lassen sich so optimal in Einklang bringen. Und dennoch steht der Betreiber von API Gateways vor der Herausforderung, die unterschiedlichen Versionen parallel zu pflegen und gleichzeitig den Überblick zu behalten, welcher Kommunikationspartner bereits auf die neueste Version migriert hat, und welche Partner noch auf alten Versionen arbeiten. Zudem muss mit Hilfe technischer Maßnahmen sichergestellt sein, dass die jeweiligen Partner nur auf die für sie bestimmten Datensätze Zugriff erhalten.

Wichtige Nebenrolle: Identity & Access Management

In diesem Umfeld spielt das bislang meist fehlende Industrial Identity & Access Management eine gewichtige Rolle: Neben einer eindeutigen Identifikation der handelnden Personen, Organisationen bzw. interagierenden Maschinen (M2M Kommunikation), gilt es sicherzustellen, dass die jeweiligen Produkte sich eindeutig identifizieren und zuordnen lassen. Dementsprechend müssen sowohl API Gateways als auch die darüber liegenden API Management Funktionen ein umfassendes Repertoire an etablierten und neuen Standards sowie Sicherheitsprotokolle unterstützen. So kann etwa die Registrierung eines neuen Kommunikationspartners unter Nutzung des Protokolls OIDC (OpenIDConnect) erfolgen, während die eigentlichen Zugriffe auf Ressourcen erst nach Austausch entsprechender Token-Informationen mittels OAuth 2.0 (insbesondere für mobile Endgeräte und Maschinen) oder per Föderation mittels SAML 2.0 (eher für die Zugriffe durch menschliche Kommunikationspartner aus anderen Organisationen) freigeschaltet werden. Aus Sicherheitsperspektive ist es also unabdingbar, dass neue Funktionen für die Absicherung der Kommunikation Unterzugriffe auf Basis etablierter Konzepte vertrauenswürdiger Identitäten und deren Berechtigungen basieren. Die Werkzeuge für das API Management und die API Gateways sollten dementsprechend auf die Kompatibilität mit diesen Protokollen und Funktionen hin geprüft werden. Es sollte sichergestellt sein, dass über entsprechende Plugins und Konnektoren eine Anbindung an bestehende Quellen für Identitäten und/oder Berechtigungen erfolgt. Hierbei ist es sinnvoll das Rad nicht neu erfinden zu wollen, sondern auf etablierte Technologien wie Verzeichnisdienste und Datenbanken zurückzugreifen.

Fazit

Es steht außer Frage, dass Mehrwerte digitaler Netze nur dann zur Effizienzsteigerung beitragen, wenn die Nutzung von Micro Services und APIs durch entsprechende Managementfunktionen und Werkzeuge zur Automatisierung der Publikation dieser Services ergänzt werden. Ohne eine sorgfältige Planung der entsprechenden Infrastrukturen mit Hilfe adäquat ausgebildeter Experten würden die agilen Ansätze von DevOps und die dabei versprochene Beschleunigung bei der Bereitstellung neuer Dienste schnell im Chaos versinken. Die Experten der APIIDA AG beispielsweise erfahren in ihrer täglichen Arbeit immer wieder, warum es so wichtig ist, die Digitalisierung und deren Wertschöpfung in die Hände von IT Experten und fundierter Lösungen zu legen.