APIs und API Monitoring Grundlagen für Projekt Manager

Bist Du ein Entwickler, weißt Du mit Sicherheit alles über APIs. Wie auch immer, bist Du ein Verantwortlicher mit weniger technischem Hintergrund, hast Du unter Umständen nicht den umfassenden Einblick in die APIs Deines Unternehmens, um sinnvolle Entscheidungen zu diesem Bereich zu treffen. Mit diesem Artikel wollen wir Dir einige wichtige Grundlagen zu diesem Thema vermitteln. Was ihre Aufgabe ist, wie sie arbeiten, warum sie wichtig sind und was Du tun kannst, um die Zuverlässigkeit Deiner Service zu schützen, mit Blick auf API Performance und Erreichbarkeit.

APIs und Webservices: Was ist der Unterschied?

Du hast sicher schon beide Begriffe gehört. APIs und Webservices. Sie scheinen beide das gleiche zu bedeuten – bis zu einem gewissen Grad hast Du auch Recht. Sie sind aber nicht dasselbe. Für unsere Zwecke gehen wir aber einfach davon aus, dass API (Application Program Interface) und ein Webservice das gleiche sind. Bei Interesse die Unterschiede kennen zu lernen, lies die beiden folgenden Absätze, ansonsten überspringe diese einfach.

Was ist ein Webservice?

Ein Webservice ist ein Kommunikations-Standard, der HTML (Hypertext Modeling Language), XML (Extensible Markup Language), WSDL (Web Services Description Language), SOAP (Simple Objekt Access Protocol) oder REST (Representational State Transfer) verwendet, um die Kommunikation zwischen Geräte über das lokale Netzwerk oder das Internet zu ermöglichen. Zum Beispiel ermöglicht ein Webservice die Kommunikation zwischen einer App auf Deinem Handy und einem Internet Service wie Facebook.

Was ist eine API?

Wie bereits ausgeführt ist ein Webservice eine Art von API. Der Begriff API beschreibt ein breites Spektrum an Schnittstellen, die die Kommunikation über das Netzwerk oder innerhalb eines Gerätes umfasst. Eine API kann Webservice Technologien verwenden, aber auch eine Reihe anderer Kommunikations-Methoden, wie z.B. COM+ (Component Objekt Model), für die Kommunikation zwischen Applikationen auf demselben Gerät. Ein Beispiel sind Apps auf Deinem Handy, die mit dem GPS Sensor kommunizieren. Und hierfür sind die APIs verantwortlich (vorausgesetzt Du lässt dies zu).

Wie arbeiten APIs?

Benötigt eine Applikation auf einem Gerät Informationen, die eine API anbietet, wie zum Beispiel freie Zeitfenster eines Reservierungs-Systems, dann erzeugt die API einen Request. Die API fordert Informationen an und verwendet hierzu bekannte Formate, wie JSON oder XML. Diese beinhalten die Parameter des Requests. Ein Parameter ist eine Text Informationen, formatiert in Wertepaaren wie „name“ = „Peter Müller“. Die API parst die Wertepaare und gibt sie an interne Applikation weiter, die die Reservierung verwaltet. Die API wartet auf das vom Reservierungssystem erzeugte Ergebnis und sendet die Information zurück an die anfragende Applikation (zum Beispiel eine App auf einem Handy). Die Handy App bestätigt dem User die Reservierung oder fragt weiteren Informationen an.

Wer nutzt APIs?

Wir alle nutzen täglich eine Vielzahl an APIs, ohne uns dessen bewusst zu sein. Viele der Geräte und Services, die wir nutzen, benötigen APIs um zu funktionieren. Bezogen auf Deine geschäftlichen Aktivitäten spielen diese eine große Rolle. Haben sie ein Problem, hat das direkte negative Konsequenzen auf Dein Unternehmen oder den Geschäftserfolg. Dein Unternehmen nutzt mit Sicherheit bereits Tools, die auf eine API zurückgreifen oder bietet APIs an, damit Kunden Deine Services nutzen können.

  • Kommunikation

    Applikationen wie Slack bieten APIs an, um Nutzern die Möglichkeit zu bieten, diese Service an eigene Applikationen anzubinden. Ein Beispiel hierfür ist die Uptrends Slack Integration, über die Alarme aus Uptrends über Slack kommuniziert werden.

  • Produktivität

    Salesforce, MS Office 365 oder auch Google Docs nutzen APIs, um Daten zwischen Geräten auszutauschen.

  • Utilities

    Tools wie Anti-Viren Programme oder Betriebssysteme nutzen APIs, um hierüber regelmäßige Updates durchzuführen.

  • Social Media und Marketing

    Facebook, Twitter und jede andere Social Media Plattform bietet APIs an, um Posts zu ermöglichen.

Das ist nur eine kleine Auswahl. Die Links bringen Dich zu den APIs, die diese Services anbieten, um Drittanbieter über APIs mit Ihren Diensten zu verbinden. Uptrends bietet ebenfalls eine API an, damit Kunden das Monitoring administrieren und Daten aus dem Monitoring in anderen Applikationen weiterverwenden können.

Wie schützt Du Deine APIs?

Genau wie Deine Webseite solltest Du Deine Business relevanten APIs kontinuierlich 24/7 auf Erreichbarkeit, Funktion und Performance überwachen. Uptrends bietet Dir verschiedene Überwachungen, um die Qualität Deiner APIs sicher zu stellen.

API Erreichbarkeit

Um ganz einfach die Erreichbarkeit Deiner API zu überwachen, bietet sich die Nutzung des Uptrends Webservice HTTP/S Monitorings an. Damit kannst Du einen einfachen Prozentwert (SLA Monitoring) für die Erreichbarkeit Deiner Services ermitteln.

Wie funktioniert ein Webservice HTTP/S Monitor?

In einer maximalen Frequenz von 1 Minute wird von jeweils einem der über 200 Monitoring Standorte ein Webservice Request an Deine API gesendet. Uptrends prüft die Antwort Deiner Schnittstelle auf den Status Code, die Response Zeit und den zurückgesendeten Inhalt. Wird ein unerwarteter Response Code gesendet, ist die Response Zeit länger als erwartet oder Größe bzw. Inhalte nicht entsprechend Deiner Erwartungen, dann erkennt Uptrends einen Fehler. Uptrends sendet dann unverzüglich einen identischen Request von einem weiteren, unabhängigen Standort. Liefert auch diese Überwachung einen Fehler, sendet Dir Uptrends sofort einen Alarm.

Wie wird API Erreichbarkeit kalkuliert?

Uptrends misst die Zeit zwischen dem ersten Fehler und dem Zeitpunkt ab dem der Service wieder verfügbar war. Anhand der Ausfallzeit wird dann in Bezug auf einen beliebigen Zeitraum eine Erreichbarkeit oder Ausfallzeit in Prozent ermittelt. Über das Uptrends Dashboard System kannst Du Erreichbarkeit- bzw. SLA-Übersicht Dashboards einsehen und individuell konfigurieren.

Webservice Überwachungen sind hervorragend dazu geeignet, dauerhaft die Qualität Deiner APIs im Auge zu behalten und APIs Deiner Dienstleister zu prüfen, Störungen zu erkennen und diese anhand konkreter Daten zu dokumentieren.

API Performance

Je schneller eine API antwortet, umso besser für alle Beteiligten. Langsame Antwortzeiten frustrieren die Nutzer. Gleichzeitig kann dies ein Hinweis auf Server Probleme, Infrastruktur-Störungen, Konfigurations- oder DNS-Probleme sein. Ein HTTPS Service liefert Informationen zur Response Zeit eines einzelnen Requests. Eine umfassende Performance Betrachtung der gesamten API Infrastruktur oder Landschaft ist damit nicht möglich.

Eine Webservice Überwachung kann die Response Zeit eines einzelnen Requests prüfen, wie eine Authentifizierung. Andere Schritten, wie eine Datenbankabfrage können trotzdem gleichzeitig ein Performance Problem haben, ohne dies zu erkennen.

Auch ist ein Webservice HTTP/S Request nicht dafür geeignet, um Redirects zu folgen oder mehrstufige Abfragen durchzuführen. Für diese Art von API Checks und Abfragen, in denen Response Daten in späteren Schritten wiederverwendet werden sollen bietet sich die Nutzung des Multi-Step-API Monitorings an.

Der Multi-Step-API Monitor erlaubt es, komplexe und Abfragen bestehend aus eine Reihe von Schritten zu erstellen. Gleichzeitig lässt sich jeder einzelne Schritt vielfältig prüfen, z.B. auf Inhalt, Status Code oder auch Response Zeit.

Die detaillierten Prüfobjektprotokolle liefern exakte Informationen zu den einzelnen Schritten. Die verschiedenen Kacheln und Dashboards liefern Dir eine Übersicht zu den Durchschnittswerten, bezogen auf einzelne Schritte oder auch die Gesamtzeit.

API Funktion

Performance und Verfügbarkeit sind wichtig. Gute Performance und Erreichbarkeit sind aber kein Garant für die dauerhafte Funktion der API. Wenn Deine API keine korrekten Daten liefert, funktionieren die angebundenen Services nicht mehr. Mit dem Webservice HTTP/S Request kannst Du Response Größe, erwartete Response Codes und Inhalte prüfen. Mit dem Multi-Step-API Monitor kannst Du dagegen auch funktionale Fehler erkennen, die erst zu einem viel späteren Zeitpunkt in Deiner Request Kette und auch nur unter bestimmten Bedingungen auftreten können.

Welche API Überwachung für welche Aufgabenstellung?

Der optimale Monitor Typ richtet sich nach der Art der API und dem Detailgrad der Prüfung.

Businesskritische APIs

APIs in einem eCommerce Umfeld müssen rund um die Uhr funktionieren. Ist die API nicht erreichbar, langsam oder liefert falsche Daten, willst Du umgehend alarmiert werden. Hier willst Du unter Umständen beide API Überwachungen nutzen.

Erreichbarkeit und SLA (Service Level Agreement) Prüfung

Hierfür bietet sich die Nutzung der Webservice HTTP/S Überwachung an. In einer Minutenfrequenz wird die Erreichbarkeit des Service geprüft und in einem Report gegen die vereinbarten SLA Ziele gemessen.

Performance und Funktion

Nutze Multi-Step-API Überwachungen zur Prüfung von Performance und Funktion kompletter API Interaktionen. Du erhältst ein detailreicheres Reporting und in der kombinierten Nutzung mit HTTP/S Webservice Überwachungen kannst Du die Multi-Step-API Monitore in einer geringeren Frequenz nutzen und damit die Serverlast reduzieren.

APIs mit moderatem und geringen Einfluss

Für nicht-kritische API Interaktionen muss Du für Dich entscheiden, wie relevant diese für Deine Services oder Apps sind. In einer Reihe von Fällen kann ein günstiger Webservice HTTP/S Monitor die ausreichenden Informationen zur Erreichbarkeit der API liefern.

APIs als Service Angebot

Stellst Du Deinen Kunden und Nutzern eine API zur Verfügung, ist es Deine Verantwortung, dass diese zu jeder Zeit von allen Anwendern genutzt werden kann. Interne Test hinter der Firewall reichen dann nicht mehr aus. Ein 3rd Party Service, der Deine API von extern, aus Sicht Deiner Nutzer prüft, ist dann notwendig. Indem Du das Uptrends Checkpoint Netzwerk nutzt, erhältst Du ein vollständiges Bild der API User Experience Deiner Nutzer. Multi-Step-API Monitoring misst jeden einzelnen Schritt, prüft die Response zu jedem Request mittels Assertions und ist in der Lage, Daten aus vorherigen Schritten in späteren Abfragen zu nutzen.

Nutzung von Web Applikationen

Hierüber haben wir bereits vorher gesprochen. Tools wie z.B. Salesforce, Office 365 und Uptrends stellen Dir APIs zur Verfügung. Diese APIs erlauben es Dir die Daten aus diesen Tools in Deine eigenen Applikationen zu integrieren. Nutzt Du Daten aus Salesforce in Deiner eigenen Applikation und die Salesforce API hat eine Störung, dann wirst Du auch eine Störung in Deinen Services haben. Oder Du nutzt eine API, um zentrale Daten an Niederlassungen weiter zu leiten. Ein Unternehmen wie Amazon könnte APIs nutzen, um Logistik Informationen an seine weltweiten Distributionszentren zu verteilen.

Die Verbindungen zu den verschiedenen verteilten Standorten aufrecht zu erhalten, kann eine große Herausforderung darstellen. Die Überwachung von Funktion, Performance und Verfügbarkeit dieser APIs ist für Dich unternehmenskritisch. Mit dem API Monitoring kannst Du jegliche aus dem Internet erreichbare API aus weltweit 65 Ländern überwachen, von jedem Kontinent. Mit dem Multi-Step-API Monitoring behältst Du jeden Einbruch von Verfügbarkeit, Performance und Funktionsfähigkeit im Blick.

Interne APIs

Mit dem Uptrends Checkpoint Netzwerk stellst Du sicher, dass Deine API auch außerhalb Deiner Firewall erreichbar und funktional ist. Das externe Monitoring wiederum kann aber nicht sicherstellen, dass externe oder 3rd Party APIs innerhalb Deines Netzwerks funktionieren. Um das zu testen benötigst Du Uptrends „Private Checkpoints“.

Ein „Private Checkpoint“ ist ein Uptrends Checkpoint, der sich physikalisch innerhalb Deines Netzwerks befindet. Ein „Private Checkpoint“ besteht aus vier Servern (virtuell oder real) an einem Standort. Der „Private Checkpoint“ steht nur Dir als Auswahl in Deinem Monitoring Account zur Verfügung. Der „Private Checkpoint“ erlaubt es Dir, alle Uptrends Monitoring Arten innerhalb Deines Netzwerks zu nutzen, inklusive dem API Monitoring.

Alternativen zum API Monitoring

Multi-Step-API Monitoring ist nicht immer die beste Lösung, um Deine APIs zu überwachen. Zum Beispiel könnte ein Web-Application-Monitoring (Uptrends Transaktions-Monitoring) die Funktion der API im Rahmen eines Gesamtprozesses überwachen. Wie in einem Checkout, wo die Zahlung über einen 3rd Party API Call eingebunden ist. Über diese Art des Monitorings überwachst Du nicht nur isoliert den Zahlungsanbieter, sondern die Gesamtheit des Prozesses.

Bonus: Benutzerdefinierte Metriken

Ein zusätzlicher Mehrwert des Multi-Step-API Monitoring ist die Möglichkeit, numerische Werte aus beliebigen Systemen an Deine API zu übergeben und extern weiter zu nutzen. Du greifst den Wert ab und speicherst ihn als Variable. Uptrends speichert diesen Wert dann als weitere Metrik, die Du dann in Deinen Dashboards darstellen kannst. Erfahre hier mehr über Benutzerdefinierte Metriken.

Fazit

APIs und das API Monitoring sind wichtige Aspekte Deines IT Betriebs. Das Thema APIs umfasst vielfältige Bereiche, die sich nicht alle in einem Blockpost erfassen lassen. ProgramableWeb hat einen umfassenden Bericht zum Thema APIs verfasst. Schau ihn Dir an, wenn Du ein besseres Verständnis zu dieser Technologie gewinnen willst. Wir hoffen, Dir mit diesem Beitragen einen guten Überblick in Bezug auf die Wichtigkeit von APIs gegeben zu haben. Welche Notwendigkeit und welchen Mehrwert ein Monitoring hat.

Zusammengefasst lässt sich feststellen, für einfache APIs und das SLA-Monitoring bietet sich der Webservice HTTP/S Check an. Für komplexe APIs und zur Überwachung der Performance ist das Multi-Step-API Monitoring die beste Wahl. Beide Überwachungen kannst Du über unser weltweites Monitoring Netzwerk, mit 216+ Standorten, oder die Private Checkpoints nutzen.

Schlussfolgerungen

  • APIs ermöglichen den Austausch von Informationen zwischen unterschiedlichen Systemen und Geräten, auf demselben Gerät und innerhalb von Netzwerken.
  • Für nahezu alles, was Du im Internet machst (Apps oder Websites) werden APIs für den Austausch von Daten verwendet.
  • Die Überwachung von APIs ist unerlässlich, um den reibungslosen Betrieb Deiner Geschäftsprozesse sicher zu stellen.
  • Die Nutzung eines 3rd Party Monitorings, um die Qualität, Performance und Erreichbarkeit Deiner APIs sicher zu stellen, ist Deine Verantwortung.
  • Nur, weil Deine API hinter einer Firewall arbeitet, garantiert dies nicht, dass Sie außerhalb ebenfalls einwandfrei funktioniert.
  • Du kannst das Uptrends API Monitoring 30 Tage kostenlos und unverbindlich testen (ausgenommen Private Checkpoints).