Perfekte Infrastruktur für Cloud-Anwendungen

brandbox setzt auf Docker und Kubernetes

Seit der Veröffentlichung von Kubernetes im Jahr 2014 hat das Orchestrierungssystem einen beachtlichen Siegeszug hingelegt und ist nach wie vor in aller Munde. Auch die brandbox setzt seit 2019 auf die Vorteile des Open-Source-Tools. Von den daraus resultierenden Vorteilen profitieren auch direkt unsere Kunden. Welche Vorteile das genau sind, möchten wir Ihnen in diesem Post vorstellen.

Vom physischen Server zur Container-Anwendung

Wenn eine Webanwendung auf einem eigens dafür bereitgestellten physikalischen Server betrieben wird, besteht die Problematik, dass die statische Ausstattung nie perfekt zur tatsächlich benötigte Performance passt. Entweder ist der Server überdimensioniert oder eben unterdeminsioniert. Bei B2B- oder B2C-Anwendungen ist die Lastverteilung doch sehr unterschiedlich. Saisonale Besonderheiten können bei physikalischen Server ebenfalls nur schwer berücksichtigt werden. Schon lange löst man diese Problematik mit Virtualisierungstechniken und Rechenzentren bieten z.B. eine Abrechnung nach genutzter Prozessorleistung an.

Kubernetes geht hier aber noch einen Schritt weiter und schließt mehrere sogenanten Pods zu einem zentral gesteuerten Schwarm zusammen, dem sog. Cluster. Dieses Cluster bildet die Kubernetes-Plattform, auf der diverse unterschiedliche Anwendungen parallel betrieben werden können. Damit verschiedene Anwendungen logisch, technisch und auch hinsichtlich des Datenschutzes unabhängig voneinander betrieben werden können, bedient sich Kubernetes der Container-Technologie. Container sind abgeschottete Betriebsumgebungen, die speziell für die zu betreibende Anwendung konfiguriert werden. Kommunikation zwischen Containern findet über wohldefinierte, abgesicherte Schnittstellen statt.

Erhöhte Ausfallsicherheit und optimale Lastverteilung

Die Kubernetes-Plattform sorgt als Vermittlungsschicht dafür, dass die Anwendungen von den darunterliegenden Servern (egal ob physisch oder virtualisiert) entkoppelt werden. Out of the box bringt Kubernetes ein integriertes Monitoring mit sich, das permanent die Verfügbarkeit aller Anwendungen und Server überwacht. Kommt es zum Beispiel zu einem Ausfall eines der Server, kümmert sich die Cluster-Verwaltungs-Software automatisch darum, dass die Anwendungen, die bisher auf dem nun nicht mehr verfügbaren Server liefen, auf andere Server verteilt werden – die Container-Technologie machts möglich. Diese Eigenschaft macht Anwendungen ausfallsicherer. Stellen Sie sich einen Serverausfall im eingangs genannten Szenario vor: Ist der Server weg, ist die Anwendung weg, bis sich jemand darum kümmert. Mit dem Einsatz von Kubernetes erhält das System die Fähigkeit, „sich selbst zu heilen“.

Auch im folgenden Fall spielt Kubernetes seine Vorteile aus: Wir stellen uns vor, alle Server sind verfügbar, aber durch besondere Umstände (z.B. das Weihnachtsgeschäft in einem Online-Shop) laufen sie unter besonders hoher Last. Im klassischen Fall würden einzelne Nutzer Fehlermeldungen erhalten, bis der Server unter der Last der Anfragen nachgibt. Mit Kubernetes ist es möglich, sogenanntes Loadbalancing zu betreiben. Bei diesem Verfahren werden die eintreffenden Anfragen auf mehrere Server verteilt, ohne dass der Nutzer etwas davon bemerkt. Findet unerwartet ein Ansturm auf eine Anwendung statt, können kurzfristig zusätzliche Server dem Cluster hinzugefügt werden, um die Lastspitze abzufangen. Diese Flexibilität hat noch einen weiteren Vorteil: Sind besonders wenige Nutzer auf der Plattform aktiv (etwa nachts oder am Wochenende), kann Kubernetes die Zahl der eingesetzten Server verringern und so Kosteneinsparungen erzielen.

Effizienz beim Onboarding und beim Datendurchsatz

Ebenfalls von Vorteil ist das einfache Onboarding neuer Anwendungen. Eine entsprechende Container-Umgebung vorausgesetzt, kann eine Software relativ einfach dem Cluster hinzugefügt werden. Der Kubernetes-Manager findet dafür automatisch einen Server mit genügend Kapazität.

Vielleicht haben Sie sich schon gefragt, wie Kubernetes das beständige Speichern von Daten umsetzt, wenn es Applikationen flexibel auf unterschiedliche Server verteilt und diese teils auch „umzieht“. Hierfür wird die Datenverwaltung der Anwendungen in spezielle Container externalisiert. Diese können dann auf einem für Datenbankoperationen optimierten Server betrieben werden und kommunizieren über das Kubernetes-interne, gesicherte Netz mit den Anwendungs-Containern. Das sorgt gleichzeitig dafür, dass die Server für den jeweiligen Anwendungsfall optimiert werden können.

Unsere Vorteile sind Ihre Vorteile

Natürlich gibt es die berühmte eierlegende Wollmilchsau nicht. Die Vorteile von Kubernetes sollten nicht darüber hinwegtäuschen, dass die Komplexität und Abstraktion eines solchen Systems einen erhöhten Aufwand bei der Implementierung und beim Monitoring mit sich bringen. Diese Leistung erbringen wir als Software-Dienstleister aber gerne und sorgen mit unseren DevOps-Experten dafür, dass Anwendungen ausfallsicher und nachhaltig betrieben werden.

KnowHow-Transfer

Haben Sie Interesse an einer modernen nachhaltigen Infrastruktur? Gerne bieten wir einen KnowHow-Transfer an. Wir freuen uns auf Ihre Anfrage unter info@konmedia.com.

Neueste Beiträge