Kubernetes erklärt für Unternehmensleiter
Mark Bunting
Da sich Unternehmen zunehmend auf neue Technologien verlassen - ganz zu schweigen von mehr ausgeben - ist es für Führungskräfte wichtiger denn je, diese Technologien zu verstehen, um ihr Unternehmen voranzubringen. Doch wenn sich die Technologiediskussionen um Konzepte wie "Containerisierung" und "Orchestrierung" drehen, kann es passieren, dass sich viele Führungskräfte in der Geschäftsleitung in der Terminologie verlieren, ohne die Auswirkungen der Technologie ausreichend zu verstehen. Als jemand, der einen Großteil der letzten zwei Jahrzehnte damit verbracht hat, die Technik für Laien zu erklären, kann ich das nachempfinden. Deshalb werde ich im Rahmen meiner Arbeit als neuer Chief Marketing Officer bei Rackspace weiterhin Technik erklären - in diesem Fall einige der bahnbrechendsten Produkte und Services, die wir anbieten, in unserem Blog und durch Videos. Kubernetes fällt in diesen Bereich. Das Container-Orchestrierungstool kann Ihrem Unternehmen Mühe und Geld sparen und gleichzeitig die Effizienz steigern. Wie? Lassen Sie uns eintauchen.
Was ist Kubernetes?
Die super kurze Version: Kubernetes ist ein System für die Bereitstellung von Anwendungen, das Geld sparen kann, weil es weniger IT-Ressourcen für die Verwaltung benötigt und die Infrastruktur, die Ihre Anwendungen betreibt, effizienter nutzen kann. Außerdem macht es Ihre Anwendungen portabler, so dass Sie sie leichter zwischen verschiedenen Clouds und internen Umgebungen verschieben können. Erleichtert die Verwaltung Ihrer IT. Sparen Sie Geld. Ziemlich einfach. Kubernetes ist für Ihre IT-Infrastruktur das, was Kommissionierroboter für physische Lagerhäuser sind. Bei Kubernetes geht es um die Automatisierung der Verwaltung von Containern. Wenn Sie verstehen wollen, wie das funktioniert, müssen Sie zunächst ein wenig über Virtualisierung und Containerisierung wissen. Mit der herkömmlichen Virtualisierung können Sie Ihre physischen Server in mehrere VMs (virtuelle Maschinen) aufteilen, so dass die Hardware gemeinsam genutzt und effizienter eingesetzt werden kann. Das ist es, was die meisten Rechenzentren von Unternehmen weiterhin betreibt. (Erfahren Sie hier mehr über Virtualisierung.) Die Containertechnologie bietet eine noch effizientere Möglichkeit zur Virtualisierung physischer Hardware als herkömmliche VMs. Mit Hilfe von Containern können Codeteile in kleinere, leicht zu transportierende Teile zerlegt werden. Das Problem ist, dass größere Anwendungen in der Regel in mehreren Containern betrieben werden müssen - zum Beispiel mit einer Datenbank in einem Container, dem Web-Frontend in einem anderen und einem Caching-Server in einem weiteren. In einem Unternehmen mit einem großen Portfolio von Anwendungen kann dieser Ansatz schnell außer Kontrolle geraten. Am Ende hat man viel mehr Container, als ein menschliches Team überwachen und verwalten kann. Stellen Sie sich ein riesiges Lagerhaus vor. Alle Ihre Waren werden ordentlich in Kartons verpackt und voneinander getrennt. In einem großen Unternehmen ist es jedoch für eine kleine Anzahl von Mitarbeitern praktisch unmöglich, die richtigen Pakete aufzuspüren und sie manuell zur richtigen Zeit an den richtigen Ort zu bringen. Wenn Sie also ein Container-Tool wie Docker in großem Maßstab einsetzen wollen, benötigen Sie praktisch gesehen eine Orchestrierungslösung, um all diese Container automatisch zu verfolgen, zu planen und zu orchestrieren. Und genau das tut Kubernetes. Was autonome mobile Roboter für moderne Fabriken sind, ist für containerisierte IT-Umgebungen das Gleiche. Es gibt eine Menge Ins und Outs, wie es tatsächlich funktioniert. Aber das Wichtigste ist, dass Kubernetes die pingeligen Details der Containerverwaltung reduziert. Es ersetzt nicht die von Containern verwendeten Mechanismen der unteren Ebene, wie Docker selbst. Es bietet einfach zusätzliche Abstraktionsebenen - zum Beispiel durch die Organisation mehrerer Container in Einheiten, die als Pods" bezeichnet werden -, die Ihnen helfen, containerisierte Anwendungen auf automatisierte Weise effizienter zu skalieren und die Ressourcen je nach Bedarf zu erhöhen oder zu verringern. Zusammenfassend lässt sich sagen: Container machen Ihre Anwendungen portabler und kosteneffizienter, und Kubernetes macht es viel einfacher und weniger ressourcenintensiv, eine ganze Menge dieser Container in großem Maßstab zu verwalten.
Wie kann Kubernetes mir und meinen Kunden helfen?
Multi-Cloud-Flexibilität Einer der größten Vorteile von Kubernetes und Containern ist, dass sie Ihnen helfen, das Versprechen von Hybrid- und Multi-Cloud zu verwirklichen. Unternehmen betreiben bereits heute Multi-Cloud-Umgebungen und werden dies auch in Zukunft tun. Kubernetes macht es viel einfacher, jede beliebige Anwendung auf jedem öffentlichen Cloud-Dienst oder einer Kombination aus öffentlichen und privaten Clouds auszuführen. Auf diese Weise können Sie die richtigen Workloads in der richtigen Cloud unterbringen und die Bindung an einen bestimmten Anbieter vermeiden. Die optimale Anpassung, die Nutzung der richtigen Funktionen und die Möglichkeit, eine Migration durchzuführen, wenn dies sinnvoll ist, tragen dazu bei, dass Sie eine höhere Rendite (kurz- und langfristig) aus Ihren IT-Investitionen erzielen. Niedrigere Kosten Kubernetes kann Ihrem Unternehmen helfen, die Infrastrukturkosten zu senken - manchmal sogar drastisch, wenn Sie in großem Maßstab arbeiten. Es macht eine Container-basierte Architektur für ein Portfolio großer Unternehmensanwendungen möglich, d. h. Sie können Anwendungen mit minimalen Ressourcen zusammenstellen, um Ihre Cloud- und Hardware-Investitionen optimal zu nutzen. In der Zwischenzeit können Anwendungen, die erweitert werden müssen, in Pods platziert werden, wo sie Platz zum Wachsen haben. Verbesserte Effizienz von IT- und Entwicklungsteams Kubernetes ermöglicht es Ihren IT-Teams, große Anwendungen in vielen Containern effizienter zu verwalten, da viele der kleinen Details der Wartung von containerbasierten Anwendungen übernommen werden. So übernimmt Kubernetes über seine API die Service-Erkennung, hilft Containern, miteinander zu kommunizieren, und organisiert den Zugriff auf Speicher von verschiedenen Anbietern, wie AWS und Microsoft Azure. Außerdem bietet Kubernetes viele Abstraktionen und APIs, die einen "Microservices"-Ansatz für die Erstellung von Anwendungen und die Organisation von Entwicklungsteams erleichtern. Dadurch können Sie die Teams kleiner, agiler und hochspezialisierter halten, da sich jedes Team auf einen einzigen, kleineren Microservice konzentrieren kann. APIs zwischen diesen Microservices minimieren den Umfang der teamübergreifenden Kommunikation, die für die Erstellung und Bereitstellung erforderlich ist. Auf diese Weise können Sie mehrere kleine Teams spezialisierter Experten skalieren, die jeweils eine Flotte von Tausenden von Maschinen unterstützen.
Erste Schritte mit Kubernetes
Kubernetes vereinfacht die Verwaltung von Containern. Und das bedeutet, dass sie Ihnen helfen kann, Kosten zu senken und Ihren Kunden einen größeren Nutzen zu bieten. Die Verwaltung von Kubernetes selbst bringt jedoch ihre eigenen Herausforderungen mit sich. Da es sich um eine Open-Source-Technologie handelt, gibt es keine formalisierte Unterstützungsstruktur dafür. Sie brauchen sowohl interne Mitarbeiter als auch Partner, die wissen, wie die Abstraktionsebenen funktionieren, und die mit dem sich ständig weiterentwickelnden Ökosystem der Kubernetes-Tools Schritt halten können. Um auf die Analogie mit dem Lagerhaus zurückzukommen: Eine Armee von Lagerhausrobotern zu haben, ist schön und gut. Umso wichtiger ist es, die richtigen Experten für die Programmierung und Wartung zur Hand zu haben. Wenn Sie also Optionen zur Verringerung der Komplexität und der Kosten im Zusammenhang mit der Verwaltung Ihrer Infrastruktur in Betracht ziehen, ist Kubernetes eine ernsthafte Überlegung wert. Und wenn Sie eine agile und flexible Möglichkeit zur Strukturierung Ihrer Investition benötigen, sollten Sie vielleicht auch die Optionen von Kubernetes-as-a-Service in Betracht ziehen. Bei Rackspace bieten unsere Experten laufendes Betriebsmanagement und Support für den gesamten Technologie-Stack - von der Hardware und Infrastructure-as-a-Service bis hin zu Kubernetes selbst. Außerdem verwalten und unterstützen wir die Container und Cluster-Anwendungsdienste wie Überwachung, Protokollierung, Analyse und mehr. Wir helfen Ihnen gerne weiter.