Knative
Kubernetes-basierte Plattform zum Erstellen, Bereitstellen und Verwalten moderner serverloser Arbeitslasten
Wichtige Basisprimitive für alle
Knative wurde ursprünglich von Google in Zusammenarbeit mit mehr als 50 verschiedenen Unternehmen entwickelt. Der Dienst bietet verschiedene grundlegende Komponenten zum Erstellen und Ausführen von serverlosen Anwendungen in Kubernetes. Knative bietet Features wie die Skalierung auf null, Autoscaling, In-Cluster-Builds und Eventing-Frameworks für cloudnative Anwendungen in Kubernetes. Ob lokal, in der Cloud oder im Rechenzentrum eines Drittanbieters – Knative setzt Best Practices um, die erfolgreichen, auf Kubernetes basierenden Frameworks gemeinsam sind. Der Hauptvorteil von Knative besteht jedoch darin, dass sich Entwickler auf das Schreiben von Code konzentrieren können, ohne sich um mühselige Aufgaben beim Erstellen, Bereitstellen und Verwalten einer Anwendung kümmern zu müssen.
Entwicklerfreundliche Software
Knative bietet eine Reihe wiederverwendbarer Komponenten, die vorrangig der Lösung vieler alltäglicher, aber schwieriger Aufgaben dienen, z. B. zur Erstellung von Anwendungen vom Quellcode bis hin zu Container-Images, zur Weiterleitung und Verwaltung von Traffic während des Deployments, zur automatischen Skalierung von Arbeitslasten oder zur Anbindung laufender Dienste an ein wachsendes System von Ereignisquellen. Knative erkennt Container-Images als Deployment-Einheit. Entwickler können daher jede Sprache und jedes Framework verwenden, mit dem sie vertraut sind.
Unterstützung gängiger Entwicklungsmuster
Der Schwerpunkt bei Knative ist eine idiomatische Entwicklererfahrung. Knative unterstützt gängige Entwicklungsmuster wie GitOps, DockerOps, ManualOps sowie Tools und Frameworks wie Django, Ruby on Rails, Spring und viele mehr.
Das Beste aus zwei Welten: Flexibilität und Kontrolle
Knative wurde für eine problemlose Einbindung in bestehende Build- und CI/CD-Toolchains entwickelt. Wenn Unternehmen ihren Schwerpunkt auf Open-Source-First-Technologien legen, die für jede Cloud und jede von Kubernetes unterstützte Infrastruktur geeignet sind, können sie ihre Arbeitslasten dorthin verlagern, wo sie am effektivsten sind. Hierdurch erhalten Kunden die benötigte Flexibilität und Kontrolle, um das System an ihre speziellen Anforderungen anzupassen.
Ausführung serverloser Arbeitslasten zu Ihren Bedingungen
Knative bietet eine offene API- und Laufzeitumgebung, mit der Sie serverlose Arbeitslasten überall ausführen können: vollständig verwaltet in Google Cloud, in Google Kubernetes Engine (GKE) oder in Ihrem eigenen Kubernetes-Cluster. Knative ermöglicht einen einfachen Einstieg in Cloud Run und einen späteren Wechsel zu Cloud Run for Anthos. Alternativ können Sie mit Ihrem eigenen Kubernetes-Cluster beginnen und später zu Cloud Run migrieren. Durch die Verwendung von Knative als zugrunde liegende Plattform können Sie Ihre Arbeitslasten frei zwischen den Plattformen verschieben und gleichzeitig die durch den Wechsel entstehenden Kosten erheblich senken.
Knative-Komponenten
Build
Konfigurierbarer und flexibler Ansatz zum Erstellen von Quellcode in Containern
Modularer Ansatz unter Verwendung von Dockerfiles oder erstellten Vorlagen
Keine Cross-Kompilierung oder Notwendigkeit lokaler Build-Tools
Unterstützung für im Cache gespeicherte Artefakte für schnellere Builds
Nutzung freier Kapazitäten für eine bessere Ressourcennutzung
Serving
Detaillierte Abstraktion, einfache Einordnung des Objektmodells
Nahtlose automatische Skalierung basierend auf HTTP-Anfragen
Gestaffelte Rollouts für neue Überarbeitungen
Automatische Integration von Netzwerken und Service Meshes
Modularität: eigene Logging- und Monitoring-Plattform verbinden
Eventing
Allgemeines Abo sowie allgemeine Bereitstellung und Verwaltung von Ereignissen
Erstellen von lose gekoppelten ereignisbezogenen Systemen mit detaillierten Objekten
Deklarative Bindung zwischen Ereignisproduzenten und ereignisbeanspruchenden Diensten
Skalierbar von wenigen Ereignissen bis hin zu Livestreams
Benutzerdefinierte Ereignispipelines zum Herstellen einer Verbindung mit Ihren eigenen bestehenden Systemen
"Knative hilft unseren Entwicklern, sich auf den Aufbau der Geschäftslogik zu konzentrieren, statt sich mit Basisfunktionen der Plattform wie Builds, Deployment, Autoscaling, Monitoring und Beobachtbarkeit beschäftigen zu müssen. Beispielsweise war unsere in Java/Vert.x entwickelte Anwendung für die T-Mobile-Filialsuche mit Knative leicht in Google Cloud zu migrieren. Wir haben das in nur einem Schritt erledigt, da Knative viele Funktionen auf Plattformebene zur Verfügung gestellt und unsere Entwickler so entlastet hat.
— Ram Gopinathan, Principal Technology Architect bei T-Mobile
Ressourcen
Serverlose Arbeitslasten mit Knative erstellen, bereitstellen und verwalten Für einen schnellen Einstieg in Knative folgen Sie der Kurzanleitung zu Cloud Run. Wer eine Knative-Umgebung bereitstellen möchte, kann sich eine Installationsanleitung auf GitHub ansehen.
Serverlose Arbeitslasten mit Knative erstellen, bereitstellen und verwalten Für einen schnellen Einstieg in Knative folgen Sie der Kurzanleitung zu Cloud Run. Wer eine Knative-Umgebung bereitstellen möchte, kann sich eine Installationsanleitung auf GitHub ansehen.