Was sind interne APIs?

Interne APIs (private APIs) verbinden Systeme und Teams innerhalb eines Unternehmens. Funktionsweise, Beispiel, typische Fehler und Tests.

Was sind interne APIs?

Eine interne API, auch private API genannt, ist eine Schnittstelle, die nur die eigenen Systeme, Teams und Anwendungen eines Unternehmens aufrufen sollen. Sie wird nicht für externe Entwickler veröffentlicht. Damit spricht etwa der Abrechnungsdienst mit dem Nutzerdienst oder eine mobile App mit ihrem Backend, über einen dokumentierten Vertrag statt über gemeinsame Datenbanken oder Einzellösungen.

So funktionieren interne APIs

Eine interne API ist eine ganz normale API: meist HTTP mit JSON (REST) oder gRPC, mit Endpunkten, Authentifizierung und versioniertem Vertrag. Intern macht sie nicht die Technik, sondern die Frage, wer sie aufrufen darf. Der Zugriff wird durch die Netzwerkplatzierung (privates Netz oder VPN), ein API-Gateway und Zugangsdaten für Dienste und Teams begrenzt. Gute Setups nutzen alle drei. Interne APIs sind der Kitt von Microservices: Jeder Dienst besitzt seine Daten und gibt sie nur über seine API an andere weiter.

Man unterscheidet meist drei Zielgruppen: interne APIs für die eigenen Teams, Partner-APIs für namentlich bekannte Geschäftspartner mit Vertrag und öffentliche APIs für jeden, der sich registriert.

Beispiel: Checkout in einem Onlineshop

Ein Shop betreibt getrennte Dienste für Bestellungen, Lager und Zahlung. Beim Checkout ruft der Bestelldienst GET /inventory/items/42 beim Lagerdienst und POST /payments beim Zahlungsdienst auf. Keiner von beiden ist aus dem Internet erreichbar, die Checkout-Seite spricht nur mit dem Bestelldienst. Baut ein anderes Team einen Retourendienst, liest es dieselben Verträge, statt einen Datenbankexport anzufordern.

Häufige Fehler

  • Intern mit sicher verwechseln. Die Netzwerkplatzierung ist keine Autorisierung. Wird ein Dienst kompromittiert, steht jede interne API ohne eigene Prüfung offen. Die OWASP API Security Top 10 (2023) nennen Broken Object Level Authorization und Improper Inventory Management, beides gilt auch hinter der Firewall. Siehe API-Sicherheit.
  • Kein Inventar. Alte Versionen, Testendpunkte und undokumentierte Routen sammeln sich an. Das ist API Sprawl, und mit API Discovery finden Sie, was bereits existiert.
  • Kein Vertrag, keine Versionierung. Ein von einem Team umbenanntes Feld bricht den Dienst eines anderen Teams ohne Vorwarnung.
  • Keine Limits. Ein einzelner lauter interner Client kann einen gemeinsamen Dienst erschöpfen. Setzen Sie auch zwischen Diensten Ratenlimits und Timeouts.
  • Nur die Vordertür testen. Öffentliche Seiten werden getestet, die Aufrufe dahinter nicht.

Interne APIs testen und überwachen

Interne APIs fallen in Ketten aus: Ein langsamer Lageraufruf macht den Checkout langsam. Prüfen Sie pro Endpunkt Statuscode, Antwortinhalt und Antwortzeit und testen Sie ihn unter gleichzeitiger Last. LoadFocus API-Monitoring führt solche Prüfungen zeitgesteuert aus (im kostenlosen Tarif alle 5 Minuten) und alarmiert bei Fehlern, mit Lasttests belasten Sie einen Endpunkt mit gleichzeitigen Nutzern. Ein Endpunkt, der nur im privaten Netz erreichbar ist, lässt sich nicht aus dem öffentlichen Internet prüfen. Richten Sie die Prüfungen daher auf eine Staging-Kopie oder eine geschützte, erreichbare Route. Für authentifizierte Endpunkte hilft der Leitfaden zu API-Performance-Tests mit OAuth2.

Häufige Fragen: Interne APIs

Sind interne APIs dasselbe wie private APIs?

Im üblichen Sprachgebrauch ja. Beide Begriffe meinen eine API, die nur für die eigenen Systeme und Teams der Organisation gedacht ist.

Brauchen interne APIs eine Authentifizierung?

Ja. Ein privates Netz allein genügt nicht. Dienste sollten sich ausweisen, und jeder Aufruf sollte danach geprüft werden, was der Aufrufer darf.

Was ist der Unterschied zwischen internen, Partner- und öffentlichen APIs?

Die Zielgruppe. Interne APIs bedienen die eigenen Teams, Partner-APIs namentlich bekannte Partner mit Vertrag, öffentliche APIs jeden Entwickler, der sich registriert.

Kann eine interne API öffentlich werden?

Ja, aber dafür braucht es mehr als eine neue URL: Dokumentation, Zusagen zur Versionierung, Ratenlimits, strengere Autorisierung und Support.

Sollte man interne APIs lasttesten?

Ja. Gemeinsame Dienste bekommen Verkehr von vielen Aufrufern, und ein nie getestetes Limit zeigt sich oft als Verlangsamung im Produkt eines anderen Teams.

Wie schnell ist Ihre Website?

Steigern Sie ihre Geschwindigkeit und SEO nahtlos mit unserem kostenlosen Geschwindigkeitstest.

Kostenloser Websitespeed-Test

Analysieren Sie die Ladegeschwindigkeit Ihrer Website und verbessern Sie ihre Leistung mit unserem kostenlosen Seitengeschwindigkeits-Checker.