« Alle Blog Einträge

Managed Kubernetes Hosting mitten in Deutschland

Kubernetes ist eine Plattform zur automatisierten Bereitstellung, Skalierung und zum Betrieb von sogenannten Anwendungscontainern. Mit Hilfe von Kubernetes können Sie festlegen, wie Ihre Anwendungen ausgeführt werden sollen und wie sie mit anderen interagieren. Über einen Container Cluster Manager wie Kubernetes erhöhen Sie Verfügbarkeit und Sicherheit Ihrer digitalen Produkte und Anwendungen. In diesem Artikel erfahren Sie alles, was Sie über Kubernetes und Managed Kubernetes Hosting wissen müssen.

Übersicht unseres Managed Kubernetes Hosting Guides

Falls Anwendungscontainer und Kubernetes Ihnen noch nicht vertraut sind, steigen wir mit einem kurzen Exkurs zu Containern und einer Definition von Kubernetes ein. Sie erfahren, zu welchem Zweck Kubernetes eingesetzt wird und wie das Programm aufgebaut ist. Wir stellen Ihnen die Vorteile von Kubernetes und Containern vor sowie die besonderen Vorteile von Kubernetes. Außerdem erfahren Sie, wie Kubernetes im Vergleich zur Konkurrenz abschneidet. 

Im zweiten Teil des Artikels gehen wir auf Managed Kubernetes Hosting im Speziellen ein. Warum ergibt es Sinn, auf Kubernetes als Managed Services zu setzen und wie kann Managed Kubernetes Hosting konkret aussehen? 

Falls Sie noch mehr über einzelne Aspekte von Kubernetes erfahren möchten, haben wir weitere hilfreiche Artikel an den entsprechenden Stellen für Sie verlinkt.

Exkurs: Was sind Anwendungscontainer?

Um die Bedeutung von Kubernetes richtig einschätzen zu können, wagen wir zunächst einen kurzen Exkurs zu der Frage, was eigentlich Anwendungscontainer sind. Schließlich ist Kubernetes eine Plattform, die zur Verwaltung eben dieser eingesetzt wird, weshalb sie vorab erklärt werden müssen. Kurz: Container verpacken Anwendungen in kleine, handliche Einheiten, um Installation und Betrieb von eben solchen Anwendungen zu vereinfachen.

Container ist letztlich eine Bezeichnung, die aus der Logistik stammt: Große Maschinen bspw. werden in Container verpackt, damit sie in Lkws, Zügen oder auf Schiffen von einem Ort zum anderen transportiert und dort wieder aufgebaut werden können. Der Transport der Maschine wäre andernfalls nicht möglich oder mit sehr großen Hindernissen verbunden. Container in der IT machen das Gleiche – nur nicht mit Maschinen, sondern mit virtuellen Anwendungen. In der IT kommen noch weitere Herausforderungen hinzu, die sich mittels Containern meistern lassen.

Digitale Anwendungen sind in der Regel abhängig von vielen äußeren Faktoren: Das beginnt bei der Hostingumgebung, reicht über lokale Einstellungen bis hin zu Funktionsbibliotheken. Die Entwicklung einer Anwendung findet bspw. auf einer Testumgebung statt. Funktioniert sie hier einwandfrei, bedeutet das nicht, dass sie auf der späteren produktiven Umgebung ebenso gut funktioniert. Mit Containern können die Anwendungen mitsamt all ihrer Abhängigkeiten verpackt werden und einfach von Umgebung zu Umgebung verschoben werden. 

Container können mithilfe von verschiedenen Programmen erstellt werden. Der Pionier hierbei ist Docker, eine Open-Source-Software, die auf jedem Betriebssystem installiert werden kann. Viele Container-Tools basieren auf Docker. Dennoch gibt es auch weitere Anbieter und Technologien zur Erstellung von Containern, wie beispielsweise Linux Containers (LXC).

Definition: Was ist Kubernetes?

Kubernetes wurde ursprünglich von Google entwickelt und ist Marktführer im Bereich Container Management. Die Open-Source Plattform, auch K8s abgekürzt, wurde 2014 released und wird heute von der Cloud Native Computing Foundation betrieben und weiterentwickelt. Kubernetes kann sowohl als Platform-as-a-Service (PaaS) oder als Infrastructure-as-a-Service (IaaS) angeboten werden und viele Anbieter haben eigene, gebrandete Distributionen. Bei servinga bieten wir Kubernetes als IaaS-Lösung an. 

Wie eingangs bereits beschrieben, ist Kubernetes eine Plattform zur Verwaltung von eben diesen Anwendungscontainern. Alternativ kann Kubernetes als Container Cluster Manager beschrieben werden, als Management-Tool für Container. Das wird besonders dort sinnvoll, wo die Container einer Anwendung über mehrere virtuelle Maschinen oder Server verteilt sind und Projekte eine große Komplexität erreichen. 

Die Kernaufgaben von Kubernetes lassen sich wie folgt zusammenfassen:

  • Container in logische Einheiten aufteilen
  • Kommunikation zwischen den Containern ermöglichen
  • Container skalieren
  • Containern Speicherkapazitäten zuteilen
  • Verteilung von Containern

Wie ist Kubernetes aufgebaut?

Kubernetes arbeitet mit unterschiedlichen Ebenen bzw. Einheiten. Die kleinste nutzbare Einheit sind dabei die sogenannten Pods. Diese Pods wiederum umfassen bzw. ummanteln verschiedene Anwendungscontainer und fügen sie zu einer Einheit zusammen. In der Regel befindet sich in jedem Pod ein Container oder mehrere, sofern diese auf dieselben Ressourcen zugreifen müssen. Da Pods nämlich für Kubernetes die kleinste platzierbare Einheit ist, teilen sich die darin befindlichen Container dementsprechend und dem Host und damit Storage und Netzwerk des Pods. 

Die Pods wiederum laufen auf sogenannten Nodes – das heißt auf virtuellen oder physischen Maschinen. Und diese Nodes werden von den Kubernetes Mastern kontrolliert, die sich um deren Management kümmern. Die Nodes und die Kubernetes Master wiederum werden in verschiedenen Clustern zusammengefasst, was somit die größte Einheit und die höchste Ebene im Kubernetes-Universum ist. 

Die Vorteile von Kubernetes und Containern

Mehr und mehr Unternehmen entdecken die Vorteile von Kubernetes für sich – und es ist kein Ende des Trends in Sicht. Vielmehr ist davon auszugehen, dass die meisten Unternehmen in wenigen Jahren nicht mehr an Kubernetes vorbeikommen, wenn sie technologisch Schritt halten möchten und nicht in der Entwicklung von Anwendungen stehen bleiben. Aber was macht Kubernetes so gut?

Geschwindigkeit für Bereitstellung von Anwendungen wird erhöht

Auf der Hand liegt besonders ein Vorteil: Mittels Kubernetes und der Arbeit mit Containern können neue Anwendungen oder Updates von bestehenden Anwendungen deutlich schneller entwickelt und bereitgestellt werden. 

Dadurch, dass Entwicklungs-, Test- und Live-Umgebungen homogen werden und die Anwendungen beliebig hin und her verschoben werden können, wird der Zeitpunkt von der Entwicklung bis zum Release drastisch verkürzt, da sofort unter den Bedingungen der Live-Umgebung entwickelt werden kann – ohne tatsächlich live sein zu müssen.

Stabilität und Verfügbarkeit der Anwendungen steigt

Dank Kubernetes erreichen die Anwendungen ein höheres Maß an Automatisierung, wodurch nicht nur Änderungen leichter umzusetzen sind, sondern ebenso Bugs schneller beseitigt und die Fixes bereitgestellt werden können. Fällt ein Node aus, werden die Pods auf einem anderen Node neu gestartet, sodass die Verfügbarkeit der Anwendungen dauerhaft sichergestellt ist. 

Aufwand und Kosten sinken

Durch die erhöhte Geschwindigkeit und die Homogenität der unterschiedlichen Umgebungen reduziert sich der Aufwand für die Entwicklung, Bereitstellung und Installation der Anwendungen – wodurch wiederum die Kosten für Ihr Unternehmen sinken. Ihre Ressourcen werden dadurch sinnvoller eingesetzt und die Infrastrukturkosten fallen schließlich. 

Anwendungen werden portabel

Kubernetes und Container machen es möglich, dass Anwendungen portabel werden – das heißt, sie können auf unterschiedlichen Umgebungen eingesetzt und einfacher von der einen auf eine andere umgezogen werden. So lassen sich die Anwendungen nicht nur bei gleichbleibender Funktion auf unterschiedlichen Cloud-Plattformen einsetzen, sondern es werden ebenso Multi-Cloud-Umgebungen realisierbar. 

Ressourcenschonender als virtuelle Maschinen

Die Nutzung von Containern verbraucht im Vergleich zu virtuellen Maschinen deutlich weniger Ressourcen in Form von Rechenleistung, Hauptspeicher und Speicherplatz. Container sind in ihrer Größe deutlich geringer und die Anwendungen lassen sich aus ihnen heraus deutlich schneller starten, als es bei virtuellen Maschinen der Fall ist. Das erhöht die Geschwindigkeit und senkt die Kosten.

Kubernetes Storage – Genau auf Ihre Bedürfnisse zugeschnittene Speicherverwaltung

Kubernetes bietet verschiedene Möglichkeiten, Speicherplatz zu verwalten. Es kann sowohl persistenter, als auch nicht-persistenter Storage angelegt werde, genauso ist lokaler oder geteilter Speicher möglich. Mithilfe der Persistent Volumes wird die Speicherimplementierung von der Speicherfunktion entkoppelt und macht den Speicher innerhalb eines Clusters portabel. 

Mit den StorageClasses in Kubernetes können zudem verschiedene Speicherkonfigurationen zentral angeboten und verwaltet werden und müssen nicht für jedes Projekt erstellt und angepasst werden. Ein weiteres Feature von Kubernetes sind die Persistent Volume Claims, mit denen die Nutzer spezifizieren können, welche Speichereigenschaften sie benötigen und diese direkt beim Administrator anfragen. 

Mehr über Kubernetes Storage erfahren Sie auch in unserer Einführung. 

Wie schneidet Kubernetes im Vergleich zur Konkurrenz ab?

Kubernetes ist natürlich nicht das einzige Programm zur Verwaltung von Containern. Dennoch hat Kubernetes sich nicht ohne Grund als Marktführer etabliert. Im Folgenden möchten wir kurz auf einige Konkurrenzprogramme eingehen.

Docker Swarm vs. Kubernetes

Docker beispielsweise dient nicht nur als Host und Tool zur Erstellung von Containern, sondern bietet ebenfalls ein eigenes Tool zur Containerverwaltung an: Docker Swarm. Dieses Programm eignet sich jedoch eher für kleinere Projekte und ist im Gegensatz zu Kubernetes nicht so breit aufgestellt. Mit Kubernetes sind Sie nicht an ein bestimmtes Tool zur Containerstellung gebunden. 

Docker selbst unterstützt jedoch auch die Einbindung von Kubernetes für das Container Management und bietet beispielsweise in der Desktopversion einen optionalen Kubernetes-Server an. Dem Thema Docker Swarm vs. Kubernetes haben wir uns bereits in einem Artikel ausführlich gewidmet. 

Nomad vs. Kubernetes

Ein weiterer Konkurrent ist Nomad. Nomad ist etwas einfacher aufgebaut, dafür muss der Nutzer jedoch auch auf einige Funktionen verzichten oder diese mithilfe von Erweiterungen oder anderen Programmen realisieren, während sie bei Kubernetes bereits mit integriert sind. 

Die Vorteile von Managed Services

Mit Managed Services profitieren Sie nicht nur von reduziertem Installations- und Wartungsaufwand, Sie sparen auch Kosten und Personal ein. Der Platzbedarf für Hardware vor Ort wird ebenfalls signifikant reduziert, wenn Sie auf Cloud-Lösungen setzen. Zudem sind Sie nicht selbst für das 24/7 Monitoring Ihrer Services und Anwendungen verantwortlich, sondern können dies an den Cloud-Betreiber outsourcen. All diese Vorteile gelten selbstverständlich auch für das Managed Kubernetes Hosting mit servinga. Mit unserer IaaS-Lösung genießen Sie die Vorteile von Kubernetes kombiniert mit dem Modell der Managed Services. Mehr über Managed Services und Cloud Consulting erfahren Sie außerdem in unserer Einführung in Managed Services.

Managed Kubernetes Hosting in Deutschland

Die Vorteile, die Kubernetes von Haus aus mitbringt, werden nochmals verstärkt, wenn Sie auf Managed Kubernetes Hosting setzen. In dem Fall setzen wir für Sie eine entsprechende Kubernetes-Umgebung auf und halten sie instand. Unser Kubernetes-Hosting basiert auf OpenStack und befindet sich in deutschen TIER3+ Rechenzentren, die eine besonders hohe Sicherheit und eine Verfügbarkeit Ihrer Daten von 99,95 Prozent gewährleisten.

Unser Managed Kubernetes Hosting bringt folgende Features mit:

  • Selbstheilend: Kubernetes stellt sich im Notfall selbst wieder her, sodass Sie nicht tätig werden müssen und Ihre Anwendungen trotzdem weiter verfügbar bleiben. 
  • Datenreplikation: Wir sichern Ihre Daten 3-fach in deutschen TIER3+ Rechenzentren, für den größten Schutz Ihrer Anwendungen. 
  • Support & Know-How: Unsere erfahrenen deutschen IT-Spezialisten stehen Ihnen jederzeit zur Seite.
  • API-Driven: Ihre Kubernetes-Umgebung bei uns können Sie mit Hilfe von APIs verwalten. 
  • Up- & Downgrade: Sie brauchen nur wenige Klicks, um Ihre Leistung bei uns zu erhöhen oder zu senken. 
  • Cloud-Hosted: Unsere OpenStack-Cloud ist die Grundlage für Ihre skalierbare Plattform mit Kubernetes.
  • Anbindung: Unsere Cluster sind allesamt mit schnellen 20 Gbit / s angebunden.
  • Dashboard: In unserem Dashboard erhalten sie eine detaillierte Übersicht über den Status Ihrer Anwendungen und können diese ebenso verwalten.
  • Backup: Wir stimmen mit Ihnen gemeinsam ein Backup Konzept ab und kümmern uns im Ernstfall um die Datenwiederherstellung.

Monitoring: Wir überwachen Ihre Dienste rund um die Uhr und können so im Ernstfall ohne lange Wartezeiten mit unserem 24/7 Personal direkt und proaktiv eingreifen.

Durch unser Managed Kubernetes Hosting reduzieren Sie einerseits Ihren Aufwand zum Aufsetzen entsprechender Umgebungen erheblich, zum anderen können wir so für den größtmöglichen Schutz Ihrer Daten sorgen. Auf zwei dieser Vorteile, das Dashboard sowie die Datensicherung, gehen wir nun noch einmal im Detail ein.

Unser Kubernetes Hosting Dashboard

Mit unserem Kubernetes Hosting Dashboard ist es Ihnen möglich, Ihren Cluster-Status jederzeit und von überall aus zu überwachen. Ebenso unterstützt es Sie bei der Überwachung Ihrer Daemon-Sets, Implementierungen und Pods. Die einzelnen Elemente des Kubernetes Dashboards erlauben die übersichtliche Verwaltung von Workloads, Services, Storage und Ressourcen. Außerdem geben wir Ihnen Einblick in alle Performance-Indikatoren, die für den Betrieb einer Container-Infrastruktur in einem Hochgeschwindigkeitscluster vonnöten sind. 

Ein weiterer Vorteil ist, dass Sie sämtliche Cluster in einem einzigen Dashboard sehen können. Über unser Dashboard können Sie Ihre Kubernetes-Umgebung bei uns verwalten, sowie Up- und Downgrades Ihrer gebuchten Leistung vornehmen. Das vereinfacht Ihre Verwaltung der Hosting-Umgebung und erhöht die Geschwindigkeit. Sie erhalten vollen Zugriff auf das Dashboard, profitieren jedoch gleichzeitig von unserem Service und Monitoring und können die Organisation Ihrer Kubernetes Cluster ganz uns überlassen. 

Redundanz und Datensicherheit mit Managed Kubernetes Hostings

Wenn Unternehmen ihre Daten und Anwendungen in die Cloud auslagern, kommt oft die Frage nach der Datensicherheit auf. Darum möchten wir auf diesen Punkt noch einmal gesondert eingehen. Welche Services bietet der Cloud-Anbieter an und welche Disaster Recovery Policy verfolgt er? 

Eine dreifache Absicherung bedeutet, dass Ihre Daten beim Managed Kubernetes Hosting mit servinga in drei verschiedenen Rechenzentren gespeichert werden. Fällt das erste Rechenzentrum aus, kann auf die Datensätze im zweiten Rechenzentrum zugegriffen werden und Ihre Anwendungen bleiben weiterhin verfügbar. Zeitgleich wird erneut eine Kopie Ihres Datensatzes in einem weiteren Rechenzentrum angelegt, sodass alle Daten zu jeder Zeit in dreifacher Ausführung räumlich voneinander getrennt vorliegen. 

Die oben angesprochenen Selbstheilungsmöglichkeiten von Kubernetes hängen stark von den Einstellungen ab. Falsche Einstellungen können die Sicherheit Ihrer Daten gefährden oder bedeuten, dass Sie selbst aktiv werden müssen und die Wiederherstellung nicht automatisiert geschehen kann. Damit von den Automatisierungsbefehlen bis hin zu dem richtigen Sizing der Architektur alles stimmt, setzen wir bei unseren Managed Services Kubernertes-zertifizierte Mitarbeiter mit langjähriger Erfahrung ein. 

Die Vorteile von Managed Kubernetes Hosting mit servinga auf einen Blick sowie die Preise einzelner Pakete finden Sie in unserer Leistungsübersicht für Managed Kubernetes.

Fazit

Mit Kubernetes verkürzen Sie den Prozess der Entwicklung einer Anwendung bis hin zu ihrer Inbetriebnahme. Dabei sparen Sie Kosten, reduzieren den Ressourcenaufwand und erhöhen die Sicherheit Ihrer Daten. Mit unserem Managed Kubernetes Hosting in TIER3+ Rechenzentren in Deutschland nehmen wir Ihnen die Arbeit ab, geben Ihnen Fokus zurück und stellen sicher, dass Ihre Anwendungen verfügbar bleiben.