Mit der Einführung von DevOps haben Unternehmen erkannt, dass sie Risiken in ihren Entwicklungsprojekten identifizieren und senken können, wenn sie Entscheidungen und Aufgaben auf einen früheren Zeitpunkt im Entwicklungszyklus verlagern. Dieser Vorgang wird oft als „Linksverschiebung“ bezeichnet. Daher müssen moderne Entwickler mehr tun, um Funktionen an ihre Kunden ausliefern zu können. Von ihnen wird erwartet, dass sie skalierbare Softwarearchitekturen entwerfen, sicheren und leistungsfähigen Code entwickeln, Infrastruktur einrichten, Tests durchführen, ihre Anwendungen bereitstellen und überwachen und vieles mehr. Dieser Ansatz bietet zwar viele Vorteile, gibt Entwicklern aber auch weniger Zeit, sich auf das Schreiben von Code zu konzentrieren, was zu unerwünschten Auswirkungen auf die Softwarequalität oder zu Verzögerungen bei der Veröffentlichung neuer Funktionen führen kann.
So wie sich DevOps-Entwickler auf die Optimierung der Softwarebereitstellung für externe Kunden konzentrieren, liegt Ihr Fokus als Platform Engineer auf dem Aufbau einer Plattform, um Ihren internen Kunden (mit anderen Worten: den Entwickelnden) konsistente nahtlose Erfahrungen zu bieten. Wie sieht der Aufbau einer internen Plattform aus? Ihre tägliche Aufgabe sollte es sein, standardisierte User Experiences für Ihre Entwickelnden zu schaffen, die Autonomie ermöglichen. So verringern Sie die kognitive Überlastung Ihrer internen Kunden bei der Entwicklung und Bereitstellung neuer Dienste. Eine interne Entwicklerplattform bettet bestimmte Entscheidungen, Standards und Prozesse ein, um goldene Pfade für Entwickler zu schaffen. So können sich Ihre Entwickelnden auf das Programmieren konzentrieren, wodurch sie bessere Softwareerlebnisse für ihre Kunden entwickeln können. Anders ausgedrückt sollten Unternehmen nicht nur nach links, sondern auch nach unten verschieben und mehr Verantwortung in ihre Plattform drängen:
Wenn Sie APIs entwickeln, damit Ihre Entwickler die Vorteile Ihrer Plattformen voll ausschöpfen können, sollten Sie Folgendes beachten:
Eine gute Anwendung liefert durchdachte und einheitliche Lieferung von Waren und Dienstleistungen. Es verbirgt Komplexität und sorgt für eine nahtlose und angenehme Nutzung. Das Endziel sollte immer darin bestehen, den Nutzenden ein großartiges Erlebnis zu bieten. Unternehmen, die erfolgreiche Produkte entwickeln, beginnen immer von außen und berücksichtigen in erster Linie ihre Nutzenden. Eine hervorragende User Experience wird dadurch erreicht, dass Entwickler in die Lage versetzt werden, inspirierende Anwendungen zu erstellen. Um das zu erreichen, ist es von entscheidender Bedeutung, ihnen erstklassige APIs zur Verfügung zu stellen. Hervorragende APIs abstrahieren die Komplexität einer Organisation, sodass sich Entwickler auf den Aufbau der User Experience konzentrieren können. Hervorragende APIs wirken jedoch nicht einfach unvermittelt. Diese Organisationen behandeln ihre APIs auch wie digitale Produkte, wobei ganze Teams der Erstellung und Verwaltung als zentrales Element ihrer Plattformen widmen.
Die Plattform, die ein Entwickler zum Entwickeln digitaler Produkte nutzt, muss auch als Produkt behandelt werden. Daher sollten die Entwicklerteams der Plattform auch einen „Outside-In“-Ansatz mit ihren Nutzern verfolgen – die Entwickelnden. – um ihre Anforderungen zu verstehen und ihnen ein positives Erlebnis zu bieten. Als Plattformentwickler liegt es in Ihrer Verantwortung, interne Vorlagen und Tools zu erstellen, zu erstellen und zu vereinheitlichen, die Ihre Entwickler für die Softwareentwicklung nutzen – unabhängig davon, ob sie Frontend-Apps und Backend-Dienste entwickeln oder APIs erstellen und nutzen. Die Aufgabe Ihres Teams besteht darin, festzulegen, wie die von Ihrem Unternehmen erstellte Software getestet, gesichert, bereitgestellt und verwaltet werden soll. Die Beseitigung von Silos ermöglicht eine bessere API-Erstellung.
Genau wie bei anderen Aspekten der Softwareentwicklung sollte Ihr Team Entwickler davon abraten, Elemente von API-Architekturen, die übergreifende Aspekte betreffen, einzeln neu zu erstellen. Bieten Sie ihnen stattdessen eine Reihe einfacher Tools und Konfigurationsoptionen an, die sofort verwendet werden können. Hier sind einige Aspekte der API-Verwaltung, die am besten von Ihrer Plattform gehandhabt werden können:
Apigee ist eine API-Verwaltungsplattform, die Plattformteams und deren internen Kunden eine Reihe von Funktionen für die Erstellung, Verwaltung und den effizienten Betrieb von APIs bietet:
Apigee unterstützt API-Ersteller beim Erstellen und Verwalten der APIs, die ihre Geschäftslogik offenlegen, indem es Entwicklern zusätzliche Sicherheitsebenen, Erkennungs- und Beobachtbarkeitsebenen bietet. Produktteams können ihre APIs als flexible „Produkte“ mit unterschiedlichem Nutzungsverhalten bündeln und veröffentlichen. Mit Apigee können API-Nutzer außerdem leicht herausfinden, welche API-Produkte verfügbar sind, die Dokumentation durchsuchen und sich schnell in die Entwicklung von Anwendungen mit minimalem Aufwand einarbeiten. Mithilfe von generativer KI wird jetzt auch die Entwicklung von APIs neu definiert, sodass sowohl erfahrene als auch neue Entwicklerinnen und Entwickler die Kommunikation zwischen ihren Systemen einfacher verwalten können.
Die Verwaltung von APIs in Apigee beginnt mit dem Erstellen von API-Proxys. Ein API-Proxy stellt die Schnittstelle zur Verfügung, mit der Entwickler auf Back-End-Dienste zugreifen. Anstatt diese Dienste direkt zu nutzen, greifen sie auf einen vom Ersteller erstellten Apigee API-Proxy zu. Mit einem Proxy können Sie Ihr Back-End von der eigentlichen API entkoppeln, was Ihren Kunden ein zuverlässigeres Erlebnis bietet. So können Sie Ihr Backend aktualisieren und ändern, ohne den Kunden zu beeinträchtigen. API-Teams können die vom Proxy bereitgestellten Funktionen nutzen, um das Verhalten ihrer APIs zu sichern und zu steuern. Damit ein API-Programm mit steigender Anzahl von Produktions- und Nutzerteams erfolgreich skaliert werden kann, muss die Plattform goldene Pfade über nahtlose Automatisierungspipelines und wiederverwendbare Funktionen ermöglichen.
Angenommen, Ihr Unternehmen möchte neue APIs erstellen, mit denen es Einnahmen erzielen kann. Ihr Team trifft sich mit den Entwicklern, um eine umfassende Strategie zur Entwicklung dieser neuen APIs zu entwickeln. Die Aufgabe Ihres Teams ist es nun, diese Anforderungen in Form von eigenen API-Vorlagen mit allgemeinen Richtlinien, Traffic-Routing-Steuerung und Fehlerbehandlungskonventionen zu standardisieren. Je nach Anwendungsfall können mehrere Vorlagen für jeden Anwendungsfall vorhanden sein. Ein häufiger Anwendungsfall könnte die Bereitstellung von Caching- oder Transformationsrichtlinien für Legacy-Back-Ends sein, die in lokalen Umgebungen ausgeführt werden. Das Repository Apigee-Beispiele ist ein guter Ausgangspunkt. Unser DevRel-Repository enthält auch Beispiel-Proxyvorlagen zu Referenzzwecken. Zusätzlich zu den Richtlinienvorlagen können Ihre Plattformteams auch die Pipelines standardisieren, die Ihre Entwickler zum Erstellen und Bereitstellen ihrer Proxys verwenden. Apigee bietet Management-APIs und -Tools, mit denen Sie CI/CD-Pipelines erstellen können, die diese goldenen Pfade unterstützen. Wir haben Referenzimplementierungen veröffentlicht, die du als Ausgangspunkt verwenden kannst.
Eine MVP-API-Proxy-Pipeline aus Quellcode könnte etwa so aussehen:
Die Pipeline kann einen Schritt weiter gehen und die API in einem internen Katalog wie dem API-Hub von Apigee registrieren. Der API-Hub ist ein Tool, mit dem Organisationen Informationen zu ihren APIs dokumentieren, suchen und veröffentlichen können. Die in den Hub integrierte Registry enthält detaillierte Informationen zu jeder API-Version im Verlauf ihres Lebenszyklus, einschließlich der zugehörigen Spezifikationen, aktuellen Bereitstellungen, Eigentums- und Kontaktdaten, Abhängigkeiten und vieles mehr. Zusätzlich zu integrierten Properties können Kunden ihre eigenen Taxonomien definieren, nach denen Nutzer suchen und filtern können. Zur weiteren Förderung von Qualität und Konsistenz bietet der API-Hub auch Kurzübersichten, mit denen Entwickler besser nachvollziehen können, inwieweit ihre API-Designs den erwarteten Standards entsprechen. Die Registry des API-Hubs kann mit internen Entwicklerportalen wie Backstage oder anderen internen Entwicklerplattformen synchronisiert werden.
Für externe Nutzer kann die Pipeline API-Produkte zusammen mit einer zusätzlichen Dokumentation und Nutzerhandbüchern in einem öffentlich zugänglichen API-Portal veröffentlichen – alles mit benutzerdefiniertem Stil und Branding.
Beim Erstellen von APIs in großem Maßstab empfiehlt es sich, gemeinsame Richtlinien wiederzuverwenden, um die Entwicklung zu beschleunigen und die Lieferdauer zu verkürzen. In Apigee können Sie mit freigegebenen Abläufen Standardisierung und Konsistenz für Ihre APIs erzwingen. Bei freigegebenen Abläufen können Sie Richtlinien und Ressourcen kombinieren und mithilfe einer FlowCallout-Richtlinie oder von Flow-Hooks zwischen mehreren API-Proxys teilen. Freigegebene Abläufe werden oft getrennt von API-Proxys entwickelt, in der Regel vom Plattformteam oder von Fachleuten, die für bestimmte Bereiche verantwortlich sind. Sie können beispielsweise einen gemeinsamen Ablauf entwickeln, der einen Standardsatz von Anfrage- und Antwortfeldern erfasst und in Cloud Logging schreibt. Eine weitere Möglichkeit ist ein Fehlerbehandlungsablauf, bei dem standardisierte Fehlermeldungen und Codes ausgegeben werden, oder ein Authentifizierungsvorgang, der sich in einen externen Identitätsanbieter integrieren lässt. Die Entwicklung von freigegebenen Abläufen kann mit denselben Tools und Konzepten wie API-Proxys automatisiert, getestet und bereitgestellt werden. Weitere Beispiele für gängige freigegebene Abläufe finden Sie hier.
GitOps wurde während des Aufstiegs von DevOps immer beliebter. Dieses Framework nutzt Best Practices wie die Versionsverwaltung über Git, Pull-Anfragen, CI/CD-Pipelines, Automatisierung und Compliancerichtlinien. In diesem Blog werden die Best Practices für die API-Bereitstellung ausführlich beschrieben. Diese Praktiken können in goldenen Pfaden für Entwickelnde verankert werden. Entwickler können beispielsweise eine API mit Duet-KI entwerfen, um eine OpenAPI-Spezifikation zu erstellen, bevor sie sie an einen Funktionszweig übertragen, wodurch eine Pull-Anfrage ausgelöst wird. Nachdem die Pull-Anfrage genehmigt und zusammengeführt wurde, wird dadurch automatisch die CI/CD-Pipeline gestartet und der Prozess wird für jede Umgebung wiederholt. In Apigee können Ihre Plattformteams separate Organisationen und Umgebungen erstellen, um Proxys im Laufe des Entwicklungszyklus bereitzustellen und zu testen. Mit einer GitOps-Strategie kann jeder Zweig des Git-Repositorys einer Apigee-Umgebung zugeordnet werden.
Kunden, die das „Pay as you go“-Modell von Apigee verwenden, können zwischen verschiedenen Umgebungstypen mit unterschiedlichen Funktionen wählen und eine Reihe von Umgebungstypen für unterschiedliche Anwendungsfälle erstellen.
Wenn Sie Ihren Proxy und freigegebenen Ablaufcode in Quell-Repositories hosten und GitOps verwenden, können Sie gut durchdachte goldene Pfade für Ihre API-Entwickler ertellen, damit sie sich auf das Entwerfen großartiger APIs und die Implementierung der zugrunde liegenden Geschäftslogik konzentrieren können. Außerdem können Entwickler mit dem Cloud Code-Plug-in für VS Code lokal entwickeln und testen.
Durch die intensivere Zusammenarbeit zwischen dem Entwicklerteam und dem Plattformteam entfällt die mühsame Arbeit des Entwicklers. Da die Komplexität reduziert wird, können sich die Entwickler auf das konzentrieren, was sie am besten können, was zu einer besseren User Experience führt. Wenn Sie Ihre APIs und Ihre Plattform als Produkte Ihrer Organisation behandeln, werden Autonomie, Geschwindigkeit, Qualität und Innovation gesteigert. Mit den oben beschriebenen Strategien können Sie den Aufwand für Ihre Entwickler reduzieren und sie bei der Entwicklung besserer APIs unterstützen. Startbereit? Sie können sich registrieren und kostenlos mit dem Erstellen in Ihrer eigenen kostenlosen Sandbox beginnen. Möchtest du mehr über die Preise erfahren? Sehen Sie sich die neuen Apigee-Preise und unsere Ressourcen an, um die API-Verwaltung in Ihre Entwicklerplattform einzubetten.