Suchen

Roman Borovits von F5 Networks über moderne Software-Entwicklung Wie Microservices und APIs das Development verändern

| Autor / Redakteur: Roman Borovits * / Stephan Augsten

Mit Microservice-orientierten Anwendungen hat auch die Nutzung von APIs zugenommen. Roman Borovits von F5 Networks hat sich mit der Frage befasst, wie sich die Software-Entwicklung durch Programmierschnittstellen verändert hat.

Firma zum Thema

APIs sind zwar nicht neu, aber sie bringen nun alle Einzelkomponenten moderner Anwendungen zusammen.
APIs sind zwar nicht neu, aber sie bringen nun alle Einzelkomponenten moderner Anwendungen zusammen.
(© kirill_makarov - stock.adobe.com)

Per APIs verbundene Microservices ermöglichen einen modulareren Aufbau der Apps. Viele kleine Komponenten sorgen gemeinsam für eine einheitliche User Experience. Dabei ist entscheidend, dass die einzelnen Microservices je nach Roadmap und User-Feedback in ihrem eigenen Tempo weiterentwickelt werden.

Dieses Maß an Freiheit geht weit über die Möglichkeiten hinaus, mit denen Software-Entwickler bislang die Funktionalität ihrer Services erweitert haben. Mit APIs können sie sich die Entwicklungsumgebung aussuchen sowie die verwendeten Instrumente und Sprachen frei wählen. Jede Anwendung lässt sich mit vielen unterschiedlichen Sprachen erstellen. Das ermöglicht schnellen Zugriff auf jeweils genau die Werkzeuge, die für eine bestimmte Aufgabe optimal sind.

Strategie nötig

Die Entscheidung für das auf Microservices basierende Entwicklungsmodell bedeutet jedoch, dass vorab eine Anwendungsstrategie festzulegen ist. Diese verhindert, dass die Lösung bereits in der Anfangsphase der Entwicklung mit Funktionalität überfrachtet wird. APIs ermöglichen vor allem schnelle, inkrementelle Verbesserungen, weil man nach und nach die Bedürfnisse der User besser versteht. Und weil man Updates für einzelne Services herausbringen kann, steigt das Innovationstempo, während das Risiko abnimmt.

Eine einzelne Anwendung kann unter Umständen auf Hunderte oder gar Tausende APIs zurückgreifen. Daher ist das Management von zentraler Bedeutung. Manche Microservices sind dabei Teil der Kernanwendung, aber immer mehr werden Cloud-basiert sein. Damit stellt sich nicht nur die Vertrauensfrage, sondern es muss auch sichergestellt werden, dass sich Updates nicht negativ auf die Gesamtstabilität auswirken. API-Gateways spielen hier eine entscheidende Rolle, weil sie die zentrale Drehscheibe für Integration, Monitoring und Sicherheit sind.

Transparenz und Vertrauen

Ein positiver Nebeneffekt von per „shared by design“ entwickelten Anwendungen ist, dass die Programmierer gewissenhafter auf die Auskommentierung ihres Codes achten. Allen ist jetzt klar, wie wichtig es ist, dass andere nachvollziehen können, wozu einzelne Code-Teile gedacht sind. Derart transparente und kooperative Ansätze sind in traditionellen monolithischen Entwicklungsumgebungen keineswegs an der Tagesordnung.

Aus Entwicklerperspektive gibt es jedoch einige neue Herausforderungen sowie eine veränderte Herangehensweise. Hierzu gehört insbesondere das Vertrauen, dass andere APIs stabil sind sowie zuverlässige und schnelle Ergebnisse liefern. Dieses Vertrauen muss man aufbauen. So ist es zum Beispiel vielfach bewährte Praxis, die Authentifizierungs- und Zugangskontrolle ins Gateway auszulagern, statt sie in jeder API hart zu codieren. Dadurch wird das Gesamtsystem auch besser skalierbar: Wenn sich etwas in der Authentifizierungslogik ändert, muss man es nicht in Tausenden von APIs einzeln nachbilden.

Sicherheit und Geschwindigkeit

Doch diese Vorteile gibt es nicht umsonst. Während ein Funktionsaufruf in einer monolithischen Anwendung normalerweise in puncto Geschwindigkeit und Sicherheit davon profitiert, dass sich alles im Speicher derselben Hardware abspielt, gehen API-Aufrufe an das Netzwerk – meist an entfernte Systeme. Das bedeutet, dass ein neuer Sicherheitsansatz nötig ist, der auch außerhalb eines geschlossenen Systems funktioniert. Außerdem muss das Gateway so schnell wie möglich sein. Selbst geringfügige Latenzprobleme auf Gateway-Ebene steigern sich exponentiell und beeinträchtigen die Performance der Anwendung.

APIs haben das Innovationstempo der Softwareentwicklung deutlich erhöht, sowohl bei Anwendungen für Konsumenten als auch für Unternehmen. In Teams, die einzelne Microservices mit vielfältigen Einsatzmöglichkeiten optimieren, gibt es einen enormen Anreiz, neue Anwendungsfälle zu finden und die Performance zu erhöhen. Doch dabei ist der Versuchung zu widerstehen, den Wandel um des Wandels willen durchzuführen. Stattdessen sollten sich Entwickler fragen, was sie konkret erreichen wollen.

Roman Borovits ist Senior Systems Engineer bei F5 Networks.

(ID:46827828)