Zum Inhalt springen
BlogBerechnen SieÜberspringen Sie die Komplexität: Akamai App Platform macht Kubernetes produktionstauglich - jetzt in der GA

Überspringen Sie die Komplexität: Akamai App Platform macht Kubernetes produktionsreif - jetzt in GA

MP-55222 Blog-Kopfzeilen und soziale Bilder_Blog-Kopfzeile_1920x1008

Kubernetes ist eine Plattform zum Aufbau von Plattformen. Initiativen zur Entwicklung von Kubernetes-Plattformen sind jedoch nicht immer eine Garantie für den Erfolg. Außerdem besteht eine gute Chance, dass die ursprünglichen Budgets überschritten werden. Und warum? Weil der Aufbau von Kubernetes-basierten Plattformen keine leichte Aufgabe ist! 

Die Entwicklung von Plattformen umfasst eine breite Palette von Tools und Technologien, deren Einrichtung und Pflege überwältigend und zeitaufwändig sein kann. Dies führt häufig dazu, dass sich Plattformteams hauptsächlich auf die technologischen Aspekte der Plattform konzentrieren und dabei den Wert, den die Plattform liefern sollte, aus den Augen verlieren (Verringerung der kognitiven Belastung der Entwickler und Vermeidung von Schattenplattformen).

Wie wäre es, wenn Sie die Entwurfsphase (Tag 0), die Bauphase (Tag 1) und sogar den Zeitaufwand für die Wartung (Tag 2) einer Kubernetes-basierten Plattform überspringen könnten - und stattdessen innerhalb von 20 Minuten eine einsatzbereite Plattform bereitstellen? Die Unterbrechung ist da. Mit Akamai App Platform in GA können Sie einen LKE-Cluster mit Akamai App Platform bereitstellen und innerhalb von 20 Minuten mit der Erstellung, Bereitstellung, Sicherung, Beobachtung und Verwaltung von containerisierten Anwendungen beginnen. Es entstehen keine zusätzlichen Kosten!

Was ist die Akamai App Platform?

Akamai App Platform ist ein hoch integrierter und vorkonfigurierter Stack von Open-Source-Kubernetes-Projekten, die mit einem Klick aktiviert werden können, kombiniert mit einer einfachen Selbstbedienungsmöglichkeit für Entwickler für die häufigsten Aufgaben bei der Verwendung von Kubernetes. 

Lassen Sie uns diese beiden Aspekte ein wenig näher beleuchten.

Ein integrierter und vorkonfigurierter Stack von Open-Source-Kubernetes-Projekten

Kubernetes allein ist wie ein leeres Rechenzentrum. Wenn es doch nur so einfach wäre, einen Kubernetes-Cluster einzurichten und einen kubectl apply-Befehl auszuführen, um alle Anwendungen bereitzustellen. Nein, es sind eine ganze Reihe zusätzlicher Funktionen erforderlich: Beobachtbarkeit, Netzwerkverschlüsselung, Richtliniendurchsetzung, Speicher, Netzwerkrichtlinien, Netzwerk-Gateways, Geheimhaltungsmanagement, GitOps, Automatisierung und vielleicht sogar die Erstellung eigener Operatoren. 

Die Auswahl der richtigen Werkzeuge für die jeweilige Aufgabe, das Erlernen dieser Werkzeuge und ihre Konfiguration, damit sie ihre Aufgabe erfüllen, ist eine zeitraubende Angelegenheit. Und noch komplizierter wird es, wenn diese Tools voneinander abhängig sind und zusammenarbeiten müssen. Aus diesem Grund verbringen Unternehmen mindestens 6 Monate damit, eine erste Konfiguration zu erstellen.

Für Akamai App Platform haben wir Tools (Open-Source-Software) für fast alle erforderlichen Funktionen einer Kubernetes-Plattform ausgewählt und sie mit einem Integrations-Framework kombiniert. Dem Framework hinzugefügte Tools können mit anderen Tools kombiniert werden. Verkettete Tools bieten eine kontinuierliche Bereitstellungspipeline, eine maßgeschneiderte K8s-Laufzeit und ein GitOps-Bereitstellungsmuster. Jedes Tool ist vorkonfiguriert, um die häufigsten Anwendungsfälle zu unterstützen und eine reibungslose Benutzererfahrung zu gewährleisten. Bei den verwendeten Tools handelt es sich fast ausschließlich um CNCF Graduated und Incubating Projects, die als stabil gelten und erfolgreich in Produktionsumgebungen eingesetzt werden. Die bekanntesten Tools, die in der Akamai App Platform zum Einsatz kommen, sind Harbor (zur Bereitstellung eines Container-Registry-Service), Argo CD und Gitea (für GitOps), Prometheus (für Metriken) und Kyverno (für Sicherheitsrichtlinien).

Einfache Selbstbedienung für Entwickler

Wenn alle erforderlichen Funktionen eingerichtet sind, kann der Plattformadministrator ein so genanntes "Team" in Akamai App Platform erstellen. Ein Team ist ein isolierter Mieter auf der Plattform. Die Mitglieder eines Teams erhalten Zugriff auf das Self-Service-Portal, das es ihnen ermöglicht, ihre Quellcode-Repositories zu registrieren, Container-Images zu erstellen, diese Images bereitzustellen, Secrets zu erstellen, Anwendungen öffentlich zugänglich zu machen, Netzwerkrichtlinien zu erstellen und Zugriff auf gemeinsame Plattformfunktionen zu erhalten, um Protokolle, Metriken und Traces anzuzeigen. Die Selbstbedienungsformulare bieten eine niedrige Einstiegsstufe für die Nutzung von Kubernetes, auch für Entwickler mit weniger Erfahrung in der Plattformtechnik.

Aber eine der vielleicht leistungsfähigsten Funktionen des Self-Service-Portals ist der Katalog. Der Katalog ist eine Sammlung von Golden-Path-Vorlagen, die Entwickler für die Bereitstellung ihrer Anwendung verwenden können. Bei der Erstinstallation der App-Plattform wird der Katalog mit einer Reihe von Einstiegsvorlagen für die Erstellung eines Deployments vorbefüllt. Sie können einen Redis-Cluster, einen PostgreSQL-Cluster und einen RabbitMQ-Cluster bereitstellen. Die vorgefertigten Vorlagen können auch angepasst oder sogar durch organisationsspezifische Vorlagen ersetzt werden. Dies ermöglicht den Austausch von Best Practices und standardisiert die Bereitstellung von Anwendungen.

Die Architektur

Die Akamai App Platform basiert auf einer Kombination aus GitOps- und Configuration as Code (CaC)-Prinzipien. GitOps verwendet Git-Repositories als eine einzige Quelle der Wahrheit sowohl für die Infrastruktur als auch für die Anwendungsbereitstellung und ermöglicht so eine kontinuierliche Bereitstellung und Implementierung. CaC hingegen ist eine Praxis, bei der Anwendungs- und Umgebungskonfigurationen als Code definiert und in der Versionskontrolle gespeichert werden. Das Herzstück der Plattform ist die Plattform-API. Die API verwaltet das in einem Git-Repository gespeicherte CaC. Ein Kubernetes-Operator holt in regelmäßigen Abständen die Änderungen aus dem Git-Repository, kompiliert alle Dateien zu einem Datenblob, erstellt Argo-CD-Anwendungsmanifeste und stellt sie dann dem Kubernetes-Cluster zur Verfügung. Die aktualisierte Argo-CD-Anwendung wird vom Argo-CD-Controller abgeholt und stellt das angeforderte Helm-Diagramm mit den entsprechenden Werten bereit.

Das Git-Repository "Configuration as Code" enthält die Konfiguration sowohl für die Infrastruktur (die im Cluster bereitgestellt wird) als auch für spezifische Konfigurationen von Plattformanwendungen. Änderungen an der Konfiguration von Plattformanwendungen wie Keycloak (für die Identitäts- und Zugriffsverwaltung), Harbor (der selbst gehostete Container-Registrierungsdienst) und Gitea (der selbst gehostete Git-Dienst) werden von benutzerdefinierten Kubernetes-Operatoren unter Nutzung der Anwendungs-APIs bereitgestellt.

Schauen wir uns ein Beispiel an: Der Plattformadministrator nutzt das Self-Service-Portal, um Harbor zu aktivieren, weil Teams auf der Plattform private Container-Registries verwenden möchten. Die Plattform-API wird zunächst die erforderlichen Änderungen im CaC-Git-Repository vornehmen. Da Harbor aktiviert ist, werden neue Argo-CD-Anwendungsmanifeste gerendert und bereitgestellt, um Harbor, die (CloudNativePG) PostgreSQL-Datenbanken und den Harbor-Operator der Plattform zu installieren. Wenn der Plattform-Harbor-Operator ausgeführt wird, erhält er die Konfigurationsanweisungen, um Harbor zu konfigurieren. In diesem Fall erstellt der Operator Projekte für alle Teams auf der Plattform, konfiguriert OIDC, erstellt Robot-Konten und erstellt Push- und Pull-Secrets in den Namespaces der Teams. Nach nur wenigen Minuten haben alle Teams Zugriff auf ihre Projekte in Harbor und können über das Self-Service-Portal Container-Images erstellen, die automatisch in Harbor gespeichert werden.

Für wen ist die Akamai App Platform gedacht?

Seien wir ehrlich. Das obige Beispiel zeigt, wie Sie mit der Akamai App Platform in nur wenigen Minuten einen vollautomatischen Container-Registrierungsdienst einrichten können. Dies manuell zu tun, wäre ein riesiges Unterfangen. Wenn sich Ihr Unternehmen mehr auf die Bereitstellung von Kundennutzen als auf den Aufbau einer internen Plattform konzentriert, dann ist die Akamai App Platform definitiv etwas für Sie. Konkret denken wir, dass die Akamai App Platform vor allem für sich schnell entwickelnde Softwareunternehmen interessant ist, z. B. für kleine bis mittelgroße SaaS-Unternehmen.

Warum sollten Sie die Akamai App Platform nutzen?

Die Akamai App Platform bietet alle Funktionen, die eine Kubernetes-Plattform benötigt. Und alles wird auf vorkonfigurierte und vollständig automatisierte Weise angeboten. Dies macht die App Platform zu einer idealen Plattform für die Erstellung, Bereitstellung, Überwachung und Sicherung von containerisierten Microservices-Architekturen in der Produktion.

Aber die Akamai App Platform kann für weit mehr als das verwendet werden. Da die Plattform automatisch auf LKE installiert werden kann, können Sie die Plattform innerhalb von etwa 10 Minuten nutzen. Und da die Plattform mit einer umfassenden Suite von CNCF Graduated und Incubating Projects geliefert wird, ist die Akamai App Platform ideal für Ausbildungszwecke.

Ein unterbelichtetes Thema, über das wir nicht gesprochen haben, ist die Multi-Tenancy. Verwenden Sie die Teams-Funktion der Plattform, um unbegrenzt viele Mandanten (ohne Berücksichtigung der erforderlichen Cluster-Ressourcen) in denselben Cluster einzubinden. Jedes Team erhält seinen eigenen, isolierten Bereich auf der Plattform und wird automatisch in die gemeinsam genutzten Anwendungen eingebunden (wie Harbor in dem Beispiel, das ich zuvor genannt habe). 

Wenn Ihre Entwickler Kubernetes nutzen möchten, aber nicht wissen, wo sie anfangen sollen, dann probieren Sie doch einfach die Akamai App Platform aus. Aktivieren Sie die Funktionen, die Sie ausprobieren möchten, und erstellen Sie Teams für einzelne Entwickler, Projekte oder ganze Entwicklerteams. In manchen Fällen ist die Akamai App Platform vielleicht nicht die ideale Plattform für Sie. Aber in diesem Fall kann sie definitiv als Referenzarchitektur verwendet werden.

Was kommt als Nächstes?

Jetzt, da Akamai App Platform GA ist, bedeutet das nicht, dass wir fertig sind. Die Technologie rund um Kubernetes entwickelt sich nicht nur blitzschnell, sondern wir sehen auch noch viele Verbesserungen, die wir für ein noch besseres Nutzererlebnis liefern möchten. In den kommenden Sprints werden wir einige Updates veröffentlichen, um zu zeigen, dass wir es ernst meinen, angefangen mit einigen Updates im Self-Service-Portal. Wenn Sie die Akamai App Platform bereits nutzen, werden die Updates automatisch im Plattform-Dashboard des Portals angezeigt.

Eine weitere spannende Sache, an der wir arbeiten, ist die Integration einiger zentraler KI-Funktionen wie KI-Inferencing und Retrieval-Augmented Generation (RAG). Diese Fähigkeiten werden auch genutzt, um KI-Selbstbedienungsfunktionen wie die Ausführung von großen Sprachmodellen (LLMs) zu ermöglichen, Teams den Zugriff auf die auf der Plattform bereitgestellten LLMs zu ermöglichen, eine Vektordatenbank bereitzustellen und Wissensdatenbanken (RAG) zu erstellen, indem Einbettungen in der Vektordatenbank auf der Grundlage einer Sammlung von Dokumenten, Daten und anderen Informationen erstellt werden, die dann von einem großen Sprachmodell (LLM) verwendet werden können, um seine Antworten zu verbessern.

Sind Sie bereit für die ersten Schritte mit App Platform? Lesen Sie unsere Dokumentation

Vielleicht interessiert Sie auch ...

Kommentare

Kommentar abgeben

Ihre E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit *gekennzeichnet