Zusammenfassung: Was ist Kubernetes?
Für unsere Kunden präsentiert sich die HERO Software als eine in sich geschlossene Software mit nur einem Login, die viele praktische Features für Handwerker in sich vereint. Das ist selbstverständlich auch der gewünschte Effekt, aber um das zu ermöglichen, müssen im Hintergrund eine Vielzahl einzelner Applikationen auf unterschiedlichen Servern miteinander in Einklang gebracht werden. Als weitere Dimension kommt hinzu, dass, falls mal eine Anwendung ausfallen sollte, ein passender Ersatz schnell an ihre Stelle tritt.
Diese Herausforderungen lassen sich nur mit einer Lösung wie Kubernetes bewältigen, denn ein Mensch wäre bei der Vielzahl unserer Nutzer in Verbindung mit den HERO White Label Angeboten schlichtweg nicht in der Lage dazu, immer sofort auf alle Veränderungen zu reagieren. Erstellt zum Beispiel ein Nutzer auf der Baustelle eine besonders große Rechnung aus den synchronisierten Stammdaten eines Großhändlers, erfordert das neben dem Zusammenspiel verschiedenster Anwendungen auch überdurchschnittlich viel Rechenkapazität, die kurzfristig bereitgestellt werden muss. Würde das nicht passieren, hätten alle übrigen Nutzer mit langen Ladezeiten oder gar mit Abstürzen zu kämpfen - das wollen wir bei HERO natürlich auf jeden Fall verhindern.
In Fachkreisen spricht man bei solchen Anwendungsfällen gerne von „Orchestrierung“, weil Kubernetes wie ein Dirigent die einzelnen Instrumente des Orchesters überwachen und harmonisch zusammenspielen lassen muss. Theoretisch benötigt man dafür nicht unbedingt Kubernetes und das wird im IT-Sektor auch als häufige Kritik angeführt, aber wenn es um Verlässlichkeit und Erreichbarkeit komplexer Lösungen geht, die direkten Einfluss auf die Nutzererfahrung nehmen, dann ist Kubernetes bzw. eine adäquate Alternative unumgänglich.
Quelle: YouTube / Fireship
Die Vorteile für unsere Kunden
Die Einrichtung von Kubernetes ist durchaus mit einigem Aufwand verbunden, der immer gerechtfertigt sein muss, da ansonsten unnötig hohe Kosten entstehen, die letztendlich die Kunden eines Unternehmens zu tragen haben. In Summe macht sich Kubernetes jedoch jeden Tag bei HERO bezahlt, weil wir so eine hochkomplexe und dennoch leicht zu handhabende Software zu günstigen Preisen anbieten können.
Anwendungsbereiche | Vorteile mit Kubernetes |
---|---|
Komplexität | Mit Kubernetes können wir viele verschiedene Features in nur einer Software vereinen. |
Schnittstellen | Über Schnittstellen zu bestehenden Lösungen vereinen wir die Vorteile mehrerer Softwares in nur einer Lösung. |
Erreichbarkeit | Durch Kubernetes ist eine überdurchschnittliche gute Erreichbarkeit und Performance in HERO gewährleistet - unabhängig von der abgefragten Rechenleistung. |
Geschwindigkeit | Unsere Infrastruktur mit einer Kombination aus Docker und Kubernetes ermöglicht sehr kurze Ladezeit bei geringer Server-Auslastung (anders als z. B. bei virtuellen Maschinen). |
Backups | Im Ernstfall stehen durch Kubernetes immer Daten-Backups zur Verfügung, die nur wenige Stunden alt sind. |
Kosten für User | In Summe sparen wir viel Arbeitszeit durch den Einsatz von Kubernetes und können diesen Kosten-Vorteil an unsere Kunden weitergeben. |
Gerne gefragt: Docker oder Kubernetes nutzen?
An dieser Stelle möchten wir gern noch einige Hinweise an alle weitergeben, die sich gerade erst in die Thematik einfinden. Basierend auf einigen Missverständnissen taucht immer wieder die Frage auf, ob man lieber Docker oder Kubernetes nutzen sollte. Um überhaupt zu einer Antwort zu gelangen, müssen der Anwendungsfall und Docker als solches zunächst präzisiert werden.
Docker Container als Basis
Ohne zu technisch zu werden, lässt sich knapp sagen, dass beispielsweise alle einzelnen Teil-Awendungen, die später in der HERO Software zu einem großen Ganzen werden, in sogenannten Docker Containern unabhängig voneinander arbeiten. Diese Aufteilung ist ein gängiger Standard und bietet viele Vorteile (Geschwindigkeit, einfache Verwaltung etc.), durch die Docker so bekannt geworden ist. Erst wenn der Umgang mit diesen Containern im Alltag zu komplex wird, schalten Unternehmen ein Orchestrierungs-Tool wie Kubernetes hinzu.
Die Docker Container sind in der Regel allerdings genau das, womit Docker an sich identifiziert wird, obgleich hinter dem Namen ein ganzes Unternehmen, eine Open Source Community, und nicht zuletzt mit weiteren Tools wie Docker Swarm auch eine Alternative zu Kubernetes stecken.
Kubernetes steuert das Zusammenspiel der Container
Werden also Docker und Kubernetes direkt gegenübergestellt, dann wurde entweder das Verhältnis zwischen Docker Containern und dem Orchestrierungs-Tool Kubernetes falsch verstanden oder unterschlagen, dass es eigentlich um Docker Swarm vs. Kubernetes gehen soll.
Wir nutzen Kubernetes anstatt Docker Swarm
Kubernetes ist nicht das einzige Werkzeug seiner Art und lange Zeit war Docker Swarm eine valide Alternative. Es zeichnet sich jedoch ab, dass letzteres nicht mehr zukunftsfähig weiterentwickelt wird, weshalb wir bei HERO Software rechtzeitig von Docker Swarm auf Kubernetes umgestiegen sind. Im Bereich der Software-Infrastruktur muss man trotz rasanter Technologie-Fortschritte immer langfristig planen, weshalb eine fortdauernde Nutzung von Docker Swarm irgendwann einen teuren Umstieg auf andere Lösungen nach sich ziehen würde. Der Wechsel muss jedoch nicht in allen Unternehmen von heute auf morgen passieren und es muss auch nicht unbedingt Kubernetes sein. Je nach Anwendungsfall könnten auch folgende Tools besser geeignet sein:
Alternativen zu Kubernetes | Vorteile | Nachteile |
---|---|---|
Managed Kubernetes | Alle Vorteile von Kubernetes, aber Verwaltung durch Dienstleister | Kann sehr teuer und wenig effizient sein |
Docker Swarm | Einfacher zu handhaben als Kubernetes | Weniger Detail-Features als Kubernetes |
Docker Compose | Gute Lösung für einfache Container Lösungen | Kein echtes Tool zu Orchestrierung |
Nomad | Bei hoher Skalierungs-Rate ist Nomad einfacher zu handhaben als Kubernetes | In Summe weniger Features als Kubernetes |
OpenStack | Nützliche Features zur Verwaltung von Clouds | Keine Nachteile, wenn OpenStack zusammen mit Kubernetes eingesetzt wird |
Apache Mesos | Vorteilhaft für einen Mix aus Container und Non-Container | Kubernetes ist besser für Container-Lösungen geeignet |
Mesos DC/OS | Einfacher zu bedienen als Kubernetes | Nicht alle Features sind kostenlos und die Community ist vergleichsweise klein |
Heroku | Einfacher zu bedienen als Kubernetes | Kein echtes Tool zu Orchestrierung, nicht auf eigenen Servern einsetzbar |
Amazon Elastic Beanstalk | Sehr gut mit Amazon Clouds (AWS) nutzbar | Immer wieder Berichte über fehlerhafte Deployments |
Cloud Foundry | Vereinfachter Aufbau gegenüber Kubernetes | Nicht alle Details sind einsehbar / lassen sich managen |
OpenShift | Ganzes Ökosystem inklusive Kubernetes | Mit Kosten verbunden, nicht so detailliert anpassbar wie Kubernetes |
Fazit: Lohnt sich der Einsatz von Kubernetes?
Weil es einen so großen Hype um Kubernetes und die Docker-Orchestrierung gibt, wollten wir einmal ganz allgemein zeigen, warum wir uns bei HERO Software für Kubernetes entschieden haben und wie unsere Kunden dadurch profitieren. Ob sich ein ähnliches Konstrukt auch in anderen Unternehmen lohnt, hängt immer ganz konkret vom Anwendungsfall und der notwendigen Skalierbarkeit für die Zukunft ab.
In Summe schadet es jedoch vermutlich nicht, einer Einführung von Kubernetes sehr kritisch gegenüberzustehen, da diese zwangsläufig mit einem hohen Verwaltungsaufwand einhergeht, der gerechtfertigt sein muss. Bei HERO überwiegen jedoch aus unserer Sicht ganz klar die Vorteile!
Digitalisierung starten mit HERO Software
HERO: Handwerker Software für Profis