Kubernetes - Die Container sind auf dem Vormarsch!

Das von Google entwickelte Container-Management-System Kubernetes ist innerhalb kurzer Zeit zu einer der größten Erfolgsgeschichten in der Open-Source-Geschichte geworden. Was steckt hinter der Technologie und warum erfreut sich die Lösung trotz bereits massiver Entwicklung auch weiterhin wachsender Beliebtheit?


Kubernetes erfreut sich in den letzten Jahren immer größerer Beliebtheit, wie ein Blick auf Google Trends recht deutlich zeigt und ein Ende dieser Entwicklung ist insbesondere aufgrund der vorherrschenden Anforderungen moderner IT nicht absehbar. Inzwischen wird die Technologie von den größten Unternehmen in einer Vielzahl an Branchen insbesondere für unternehmenskritische Aufgaben eingesetzt und ist inzwischen zu einer der größten Erfolgsgeschichten im Open Source Umfeld herangewachsen. Was steckt hier genau dahinter und woran liegt dieser große Erfolg?


Abb.: Entwicklung der Suchanfrage nach “Kubernetes” bei Google Trends


Historie zu Kubernetes - Ursprünge bei Google Borg

Als in die Computerwelt immer mehr verteilte, netzwerk- und cloudbasierte Anwendungen Einzug hielten wurde (endlich) das Ende über die Jahre gewachsener und monolithischer “Mega- Applikationen” eingeläutet und ein Trend hin zu einer Aufsplittung in viele kleinere bzw. schlankere Microservices gestartet.

Durch diese Separierung und den damit einhergehenden Paradigmenwechsel in der Softwarearchitektur wird zum einen eine deutlich bessere Skalierung und Wartbarkeit und zum anderen auch die Verarbeitung von massiven Trafficspitzen möglich. Microservices ermöglichen es den nämlich den Nutzern, wichtige Funktionen einer Anwendung individuell zu skalieren. Damit einhergehend haben in den letzten Jahren auch sog. Container-Technologien wie z.B. Docker vermehrt Einzug gehalten, die eine konsistente, portable und einfache Möglichkeit für die Benutzer bieten, Mikroservices schnell aufzubauen und zu orchestrieren.

Kubernetes wird oft nur als “ein weiteres Container-Orchestrierungstool” wahrgenommen. Die Kubernetes-API basiert jedoch auf mehr als 10 Jahren Erfahrung mit Google Borg und wurde explizit nicht speziell für Kubernetes entwickelt, sondern stellt vielmehr eine generische Art und Weise dar, die gesamte Anwendungsinfrastruktur zu beschreiben. 

Google beschreibt das Tool dabei selbst wie folgt: “Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.”


Abb. Schematischer Aufbau von Kubernetes (Quelle: Wikipedia)


Einführung in die Begrifflichkeiten der Container-Technologie

Software wurde traditionell für den Einsatz auf einem einzigen System entwickelt, erlebt seit dem Einzug von Cloud-Technologien jedoch eine Revolution. Skalierbarkeit, Hochverfügbarkeit und Portabilität sind in der heutigen Zeit die Top-Themen, mit denen sich IT-Verantwortliche seit geraumer Zeit beschäftigen müssen, um die technischen Erwartungen der Geschäftsseite zu erfüllen. Wie lässt sich jedoch eine Software über unterschiedliche Plattformen und Infrastrukturen "bewegen", ohne dabei mit zum Teil massiven Aufwänden für die jeweiligen Anpassungen bei Deployment und Betrieb konfrontiert zu werden. Hinzu kommt, dass durch ständig neue Hard- und Software mit entsprechenden Abhängigkeiten die Komplexität laufend zunimmt.

Eine Antwort bietet hierfür ein Ansatz, dessen Vorbild von der Transport-Industrie im Jahr 1956 geschaffen wurde. Container als Transportmittel für eine Vielzahl unterschiedlicher Güter, um diese per LKW und Schiff von einem Ort A an einen anderen Ort B zu verfrachten. Diesem Vorbild folgend wurde in den vergangenen Jahren ein ähnlicher Ansatz entwickelt, der nun immer stärker in der Anwendungsentwicklung Berücksichtigung findet. Bei Docker handelt es sich um eine Technologie, die im März 2013 veröffentlicht wurde und die es erlaubt, Applikationen zwischen verschiedenen Systemen zu portieren.


Quelle: pixabay


Wikipedia definiert das Tool wie folgt: “Docker ist eine Open-Source-Software, die dazu verwendet werden kann, Anwendungen mithilfe von Betriebssystemvirtualisierung in Containern zu isolieren. Docker vereinfacht die Bereitstellung von Anwendungen, weil sich Container, die alle nötigen Pakete enthalten, leicht als Dateien transportieren und installieren lassen. Container gewährleisten die Trennung und Verwaltung der auf einem Rechner genutzten Ressourcen.”

Durch die wachsende Beliebtheit von Docker, wurde die Verwaltung dieser Mikrodienste und Container zu einer der wichtigsten Anforderungen in der IT. Damals traf Google, das seit vielen Jahren container-basierte Infrastruktur betreibt, die mutige Entscheidung für ein Open Source Projekt namens Borg. Das Borg-System war der Schlüssel zur Ausführung der Google-Dienste wie Google Search und Google Mail. Diese Entscheidung von Google, seine Open-Source-Infrastruktur für Dritte zu öffnen, hat für jedes Unternehmen die Möglichkeit geschaffen, seine Infrastruktur nach dem Vorbild eines der global führenden Technologie-Unternehmens zu betreiben.

Eine der größten Open Source Communities

Nach der Open-Source-Veröffentlichung stand Kubernetes in Konkurrenz zu anderen Containermanagementsystemen, insbesondere Docker Swarm und Apache Mesos. Einer der Gründe, warum sich Kubernetes insbesondere in den letzten Monaten gegenüber diesen beiden anderen Technologien absetzen konnte, ist die inzwischen massiv gewachsene, weltweite Community und der damit verbundene Support. Kubernetes verfügt mittlerweile über eine der größten Open-Source-Communities (Stand 31.10.17 mehr als 28.300 Sterne auf GitHub) mit äußerst aktiven Contributoren. Zudem ist die Software in einer großen, neutralen Open-Source-Foundation, der Cloud Native Computing Foundation (CNCF), untergebracht. Version 1.0 wurde am 21. Juli 2015 veröffentlicht. Dabei wurde auch die Gründung der Cloud Native Computing Foundation unter dem Dach der Linux Foundation angekündigt und Kubernetes wurde von Google an diese gespendet.

Die CNCF, die auch Teil der größeren Linux Foundation ist, hat einige der führenden Technologie-Unternehmen als Mitglieder, darunter Microsoft, Google und Amazon Web Services. Darüber hinaus wächst die Zahl der Unternehmensmitglieder in der CNCF kontinuierlich, wobei SAP und Oracle in den letzten Monaten als Platinum-Mitglieder hinzukamen. Diese Unternehmen, die sich der CNCF anschließen, bei der das Kubernetes-Projekt im Mittelpunkt steht, sind ein Beweis dafür, wie sehr diese Unternehmen auf die Community setzen, um einen Teil ihrer Cloud-Strategie umzusetzen.



Die Vorteile der Hybrid-Cloud nutzen

Ein weiterer Grund, für die schnelle Verbreitung von Kubernetes in Unternehmen liegt sicherlich auch darin, dass die Technologie in jeder Cloud funktioniert. Da die meisten Unternehmen ihre vorhandenen On-Premise-Rechenzentren und die Public Cloud gemeinsam nutzen möchten, ist der Bedarf an hybriden Cloud-Technologien von entscheidender Bedeutung.



Kubernetes können in einem bereits existierenden Rechenzentrum eines Unternehmens vor Ort, in einer der vielen Public Cloud-Umgebungen eingesetzt werden und sogar als Service laufen. Da Kubernetes die zugrunde liegende Infrastrukturschicht abstrahiert, können sich Entwickler auf die Erstellung von Anwendungen konzentrieren und diese anschließend in einer beliebigen Umgebung implementieren. Dies beschleunigt die Einführung von Kubernetes im Unternehmen, da Kubernetes vor Ort ausgeführt werden kann und gleichzeitig die Cloud-Strategie weiter ausgebaut wird.

Anwendungsfälle aus der Praxis

Die wachsende Beliebtheit und Verbreitung der Technologie liegt insbesondere auch daran, dass gerade große Unternehmen die Technologie vermehrt dafür nutzen, einige der größten IT-Herausforderungen der heutigen Zeit zu meistern. Capital One, Pearson Education und Ancestry. com sind nur einige der Unternehmen, die Use Cases zu Kubernetes veröffentlicht haben.

Pokemon Go ist eines der bekanntesten Praxisbeispiele, das recht eindrucksvoll die Möglichkeiten und Vorteile von Kubernetes zeigen. Vor der Veröffentlichung des Online Multiplayer-Spiels war davon auszugehen, dass der Traffic darauf ziemlich massiv werden könnte. Nach dem Launch des Games war das Ergebnis aber noch viel extremer, als die optimistischten Hochrechnung. Im Peak wurde annähernd der 50-fache Traffic der vorherigen Prognosen verzeichnet. Erst durch den Einsatz von Kubernetes als Infrastruktur- Overlay auf der Google Cloud konnte Pokemon Go massiv skalieren, um diese enormen Anforderungen bzw. Anfragen bewerkstelligen zu können.

Was als Open-Source-Projekt von Google mit 15 Jahren Erfahrung mit Google-Diensten und als Erbe von Google Borg begann - ist inzwischen eine enorm verbreitete  Open-Source-Software-Technologie, die als Fundament für unzählige Unternehmen und deren Applikationen verwendet wird. Dabei nimmt die Verbreitung und Popularität auch weiterhin zu. Insbesondere bei unternehmenskritischen Anwendungen im Finanzbereich sowie bei trafficstarken Applikationen gehört Kubernetes inzwischen häufig auch zu Recht zur ersten Wahl!

Auch bei der Ablösung gewachsener, monolithischer Systeme durch wart- und skalierbare Applikationen auf Basis von Microservices kann Kubernetes sehr gut eingesetzt werden, wie die folgende Präsentation verdeutlicht!



Was wir bei TechDivision mit Kubernetes unter anderem machen, stellen wir demnächst vor! Stay tuned! ;-)

Neueste Posts

Die größten Akquisitionen von Google, Amazon und Apple und einige Learnings daraus!
Neue Ausgabe des eStrategy-Magazin verfügbar 360 Stories – ein Spiel für Teams Die B2B E-Commerce Pyramide
Digital Storytelling - ein Kurztrip in die Kreativität und wieder zurück

Archiv

Dezember November Oktober September August Juli Juni Mai April März Februar Januar
Dezember November Oktober September August Juni Mai April Februar Januar
Dezember November Oktober September August Juli Juni März Februar
Oktober September August Juli Juni Mai April März Januar
Dezember November Oktober September August Juli Mai April Februar
November Oktober September April Februar
Dezember September Juni Mai Februar Januar
Juli Mai April März Februar Januar
September August Juli März
Oktober September Juli Juni Mai März Februar
Februar

Kategorien

E-Commerce Unternehmensmeldung Online-Marketing Magento Commerce Neos TYPO3 SEO SEA Usability Digitale Transformation Agile Projektentwicklung Corporate Web Analytics Künstliche Intelligenz Mobile Marketing Social Media Veranstaltungen Research & Development

Unser Herz schlägt online -
Deins Auch?


Wir stellen uns jeden Tag neuen Heraus-forderungen des Online-Business – immer auf der Suche nach spannenden Lösungs-ansätzen und sinnvollen Technologien. Eine Vielzahl namhafter Kunden vertrauen auf das Online Know-how „Made in Kolbermoor / Rosenheim und München“. 

Lust auf TechDivision? Hier geht zu unseren Stellenanzeigen

eStrategy Magazin


Erfahren Sie mehr zu den Themen E-Commerce, Online-Marketing, Mobile, Projektmanagement, Webentwicklung und E-Recht in unserem kostenlosen Online-Magazin.

Jetzt herunterladen!

Whitepaper:
Agiles Projektmanagement


In unserem kostenlosen Whitepaper versuchen wir Basiswissen und Erfahrungen aus vielen Jahren täglicher Projekt- und Unternehmenspraxis zu vermitteln, mit denen Sie die Anforderungen des Arbeitslebens von Heute besser bewältigen können.

Jetzt herunterladen!

Autor

Wollen Sie mehr über Container-Management-System Kubernetes erfahren?

Wir beraten Sie gerne!

Autor

Josef Willkommer Geschäftsführer / CMO