Roman Borovits, Senior Systems Engineer bei F5, erklärt, wie sich die Software-Entwicklung durch APIs verändert hat
München, 25. August 2020 – APIs sind zwar nicht neu, aber sie bringen nun alle Einzelkomponenten moderner Anwendungen zusammen. Dadurch hat sich auch die Art und Weise der Software-Entwicklung verändert. 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.
Über F5 Networks
F5 (NASDAQ: FFIV) gibt den weltweit größten Unternehmen, Dienstleistern, Behörden und Verbrauchermarken die Freiheit, jede App sicher, überall und mit Vertrauen bereitzustellen. F5 bietet Cloud- und Sicherheitslösungen, die es Unternehmen ermöglichen, die von ihnen gewählte Infrastruktur zu nutzen, ohne Geschwindigkeit und Kontrolle zu beeinträchtigen. Weitere Informationen finden Sie unter f5.com. Sie können uns auch auf LinkedIn und Facebook besuchen, um weitere Informationen über F5, seine Partner und Technologien zu erhalten.
Fink & Fuchs AG Michaela Ferber und Kirsten Gnadl Tel.: +49 89-589787-14 | F5 Networks Claudia Kraus Tel.: +49 89-94383-0 |