Cloud-Datenbanken sind Datenbankdienste, die auf Cloud-Computing-Ressourcen ausgeführt werden und über eine Internetverbindung zugänglich sind. Cloud-Datenbanken bieten die gleiche Funktionalität wie Datenbanken, die auf einer Infrastruktur vor Ort ausgeführt werden, bieten aber auch Kosteneinsparungen und sind besser skalierbar.
Kubernetes ist eine Open Source-Plattform zur Ausführung von Anwendungen in Containern. Der Name leitet sich vom griechischen Wort für Steuermann oder Pilot ab. Die Abkürzung für Kubernetes, K8s, ergibt sich aus der Anzahl Buchstaben zwischen dem „K“ und dem „s“.
Der Quellcode für das Kubernetes-Projekt wurde 2014 von Google veröffentlicht. Kubernetes ist das Ergebnis von mehr als 15 Jahren Erfahrung bei Google bei der Ausführung von skalierbaren Produktions-Workloads mit branchenführenden Ideen und Praxiserfahrung aus der Community.
Vor der Einführung von Cloud-Computing führten Unternehmen Anwendungen auf physischen Servern aus. Es gab keine Möglichkeit, auf einem physischen Server Ressourcengrenzen für Anwendungen zu definieren, was zu Problemen bei der Ressourcenzuweisung führte.
Als Lösung wurde Virtualisierung eingeführt. Damit können mehrere virtuelle Maschinen (VMs) auf der CPU eines einzelnen physischen Servers simuliert werden. Durch die Virtualisierung wird die Isolierung von Anwendungen zwischen VMs gewährleistet. Daraus ergibt sich ein hohes Sicherheitsniveau, da die Informationen einer Anwendung vor dem Zugriff durch andere Anwendungen geschützt sind.
Container ähneln VMs, verfügen jedoch über weniger strenge Isolationseigenschaften, um das Betriebssystem (OS) gemeinsam mit anderen Anwendungen nutzen zu können. Daher gelten Container als leichtgewichtig. Ähnlich wie eine VM verfügt ein Container über ein eigenes Dateisystem, einen Anteil der CPU, des Arbeitsspeichers, eigenen Prozessspeicherplatz und mehr. Da die Container von der zugrunde liegenden Infrastruktur entkoppelt sind, können diese über Clouds und BS-Distributionen hinweg übertragen werden.
Die Bereitstellung, Verwaltung und Skalierung containerisierter Anwendungen ist ein schwieriger und zeitaufwändiger Prozess. Obwohl Kubernetes die Containerorchestrierung drastisch optimiert, kann die Konfiguration und der Betrieb von Kubernetes für viele IT-Teams eine Herausforderung darstellen. Durch eine Managed-Kubernetes-Lösung wird diese Komplexität beseitigt, indem die Verantwortung für einige oder alle Einstellungen, Konfigurationen und den Betrieb von Kubernetes-Umgebungen ausgelagert wird.
Was sind Container?
Container sind leichtgewichtige, portable Softwarekomponenten, die mit erforderlichen Bibliotheken und Abhängigkeiten verpackt sind. Hierdurch ist es möglich, Anwendungen überall und auf jedem Computer auszuführen. Als effiziente Methode zum Erstellen, Testen und Implementieren von Anwendungen in mehreren Umgebungen verbessern Container die Effizienz von DevOps-Arbeiten und sorgen für mehr Konsistenz in allen IT-Ökosystemen. Neben Microservices sind Container ein wichtiger Bestandteil cloud-nativer Anwendungen.
Wie funktioniert Kubernetes?
Kubernetes (K8s) orchestriert containerisierte Anwendungen und vereinfacht die Verwaltung von Clustern. Mithilfe einer Infrastruktur vor Ort oder einer Public Cloud-Infrastruktur automatisiert Kubernetes die Bereitstellung und Verwaltung von containerisierten, cloud-nativen Anwendungen und verteilt Workloads über einen Kubernetes-Cluster. Ein Cluster besteht aus Knoten, bei denen es sich um einzelne virtuelle oder physische Rechnerhosts handelt. Für maximale Effizienz optimiert Kubernetes die Bereitstellung von Containern über diese Knoten hinweg. Kubernetes weist ausgeführten Containern außerdem Speicher zu, verwaltet die automatische Skalierung, führt Lastausgleiche durch und unterstützt Selbstreparaturprozesse, um eine hohe Verfügbarkeit zu gewährleisten. In einer selbstverwalteten Kubernetes-Implementierung verwalten Entwickler Clustervorgänge mit kubectl, einer Befehlszeilenschnittstelle (CLI), die mit der Kubernetes-API kommuniziert.
Wie funktioniert Managed Kubernetes?
Bei der Verwendung von Kubernetes müssen IT-Teams Hostfunktionen konfigurieren und verwalten. Dazu gehört die Konfiguration getrennter Anmeldeinformationen, Selbstreparatur, Batch-Ausführung, Workload-Management, progressive Anwendungsbereitstellung, und mehr. Bei der manuellen Konfiguration dieser Funktionen kann jeder einzelne Aspekt von Kubernetes viel Zeit in Anspruch nehmen und erfordert daher umfangreiche Fachkenntnisse. Ein Managed-Kubernetes-Service übernimmt viele dieser Aufgaben oder führt IT-Teams durch den Entscheidungsprozess. Managed Kubernetes unterstützt außerdem die Automatisierung von Routineprozessen für Updates, Lastausgleiche, Skalierung und Überwachung. Ein erstklassiges Managed-Kubernetes-Angebot ist dazu in der Lage, eine nutzerfreundliche Steuerungsebene, einfache Bereitstellungsoptionen und fortlaufende Wartung bereitzustellen. Dadurch können Nutzer Anwendungen schneller auf den Markt bringen.
Welche Funktionen bietet Managed Kubernetes?
- Integrierte Authentifizierungs- und Zugriffskontrollen tragen dazu bei, den Zeitaufwand für das Nutzer- und Sicherheitsmanagement zu minimieren.
- Fortlaufende Verwaltung stellt sicher, dass die Infrastruktur von Kubernetes jederzeit vollständig unterstützt wird und dass Updates und Sicherheitspatches vom Eigentümer mit optimaler Schrittfrequenz präsentiert oder angewendet werden.
- Ein browserbasiertes Dashboard bietet IT-Teams Einblick in die Kubernetes-Implementierung und in unterschiedlichem Maße die Möglichkeit, Anwendungen zu verwalten.
- Nahezu unbeschränkte Skalierbarkeit wird dadurch ermöglicht, bei Bedarf jederzeit zusätzliche Cluster online zu stellen.
- Hybrid-Cloud-Funktionen sind bei einigen Managed-Kubernetes-Anbietern erhältlich. Diese unterstützen die Managed Services sowohl auf ihrer eigenen Infrastruktur als auch auf der Infrastruktur vor Ort.
- Automatisierte Überwachung und Protokollierung ermöglicht sowohl einfaches Auditing als auch Performanceverifizierung.
Welche Vorteile bietet Managed Kubernetes?
- Skalierbarkeit. Die entkoppelte Architekturunterstützung von Kubernetes macht es einfach, containerisierte Anwendungen zu skalieren, um Geschäftsanforderungen zu erfüllen.
- Beschleunigte Bereitstellung. Mit Managed Kubernetes können Teams einen Cluster innerhalb von Minuten einsatzbereit machen. Dabei werden alle Konfigurationsaufgaben vom Kubernetes-Anbieter übernommen.
- Minimierter Verwaltungsaufwand. Ein Managed-Kubernetes-Anbieter übernimmt alle Wartungsaufgaben, um einen Kubernetes-Cluster auf dem neuesten Stand zu halten und einfach zu skalieren.
- Entlastete Entwickler. Die richtige Managed-Kubernetes-Lösung gibt Entwicklern die Möglichkeit, sich auf die Generierung von Mehrwert für das Unternehmen zu konzentrieren, anstatt auf die Fehlerbehebung bei Kubernetes-Implementierungen.
- Vorhersehbare Kosten. Mit einer verwalteten Lösung können IT-Teams die monatlichen Kosten für die Ausführung einer Kubernetes-Implementierung besser vorhersagen.
- Niedrigere Gesamtbetriebskosten. Durch ein verwaltetes Angebot können letztendlich die Gesamtbetriebskosten im Vergleich zu den Kosten für die Einrichtung und Konfiguration einer Kubernetes-Implementierung mit internen Ressourcen und Fachwissen reduziert werden.
- Verbesserte Sicherheit. Managed Kubernetes-Anbieter bieten Know-how in Cloud-basierter Sicherheit und tragen so zum Schutz der erweiterten Angriffsfläche bei, die durch Container entstehen kann.
Häufig gestellte Fragen (FAQ)
Mit Vanilla Kubernetes ist ein Kubernetes-Setup gemeint, das so einfach wie möglich aufgesetzt ist. Es enthält die wichtigsten Komponenten, die für den Betrieb von Kubernetes erforderlich sind, aber nichts darüber hinaus. Eine Vanilla Kubernetes-Installation gibt Nutzern mehr Kontrolle über ihre Konfigurationsoptionen, erfordert aber auch viel Zeit für die Konfiguration und die Anpassung an die Betriebsabläufe.
Kubernetes bietet viele der gleichen Funktionen wie eine Platform as a Service (PaaS)-Lösung. Dazu gehören eine einfache Implementierung, ein automatisiertes Infrastrukturmanagement und Tools für die Orchestrierung von Anwendungen. Kubernetes bietet jedoch weder integrierte Entwicklungstools noch Tools zum Schreiben oder Testen von Code.
Warum entscheiden sich Kunden für Akamai?
Akamai unterstützt und schützt das digitale Leben. Führende Unternehmen weltweit setzen bei der Erstellung, Bereitstellung und beim Schutz ihrer digitalen Erlebnisse auf Akamai. So unterstützen wir täglich Milliarden von Menschen in ihrem Alltag, bei der Arbeit und in ihrer Freizeit. Akamai Connected Cloud, eine stark verteilte Edge- und Cloudplattform, bringt Anwendungen und Erlebnisse näher an die Nutzer und hält Bedrohungen fern.