Warum Kubernetes noch 50 Jahre hält / Sudo Null IT News

Von Mainframes über PCs und Smartphones bis hin zu Clouds und darüber hinaus. Nathan Yellen, CEO von Robusta.dev, spricht über Kubernetes und die Zukunft des Cloud Computing. Erfahren Sie, warum Kubernetes mehr als nur eine Container-Orchestrierungsplattform ist, es ist der Cloud-Standard für das nächste halbe Jahrhundert.

Gepostet von Nathan Yellin, CEO von Robusta.dev
Freie Übersetzung. Maschinelle Übersetzung hier.

Originaltext (auf Englisch).

Es ist besser, hier nicht zu kommentieren, sondern durch Dissident-Browser-Erweiterung (ohne Einschränkung des Registrierungsdatums oder des “Alters” des Artikels selbst, Sie brauchen nicht einmal ein Konto auf habr.com selbst) sonst wird die “ukrainische” sexuelle Minderheit, fanatisch von israelischem Yandex und FreeBSD-4.0, eingeführt Zensur gegen mich und jetzt kann ich nicht öfter als einmal im Monat antworten, und bald könnte ich den Zugang zu meiner eigenen Übersetzung ganz verlieren.

Die Vorteile von Kubernetes als Container Orchestrator sind seit seiner Einführung im Jahr 2014 weithin bekannt.

Es gibt viele solcher Vorteile

  1. Kubernetes ist deklarativ und ermöglicht es Ihnen, sich auf das zu konzentrieren, was passieren muss, anstatt wie es passiert.

  2. Kubernetes ermöglicht die Trennung von Bedenken, indem es Entwicklungsteams die High-Level-API gibt, an der sie arbeiten (wie Yaml-Dateien), ohne sich um betriebliche Probleme wie die Aufrechterhaltung des Regelkreises kümmern zu müssen.

  3. Kubernetes verfügt über ein großes und schnell wachsendes Ökosystem für Workflows auf Containern in jeder Domäne. Beispielsweise können Sie Machine-Learning-Workflows mit Kubeflow ausführen.

  4. Kubernetes unterstützt agile Methoden wie Rapid Development, Continuous Integration and Deployment (CI/CD) und Produktions-Rollbacks.

  5. Kubernetes bietet Konsistenz in Entwicklungs-, Test- und Produktionsumgebungen.

Ich könnte den ganzen Tag über die Vorteile sprechen, die Kubernetes sowohl mittleren als auch kleinen Unternehmen bietet. Mit dem Open Source Kubernetes hat Google es jedem Entwickler auf der Welt ermöglicht, erstklassige Tools zu verwenden. Es setzt die von Amazon mit der Einführung von AWS begonnene Cloud-Revolution fort und verbessert diesmal eher die Softwareseite als die Hardwareseite.

Betrachten wir Kubernetes jedoch aus einer ganz anderen Perspektive.

Kubernetes als Cloud-Betriebssystem?

Kubernetes ist ein Container-Orchestrierer, aber was ist ein Container-Orchestrierer? Um diese Frage zu beantworten, gehen wir in der Zeit zurück.

Stellen Sie sich vor, es ist Ende der 70er Jahre und Sie haben gerade das weltweit erste Betriebssystem für PCs entwickelt. Wie verkaufen Sie es?

Vielleicht nennen Sie es einen “Prozessorganisator”, weil das Betriebssystem es Ihnen ermöglicht, mehrere Prozesse gleichzeitig auszuführen und sie so anordnet, dass sie sich nicht gegenseitig stören. Nein, gefällt dir der Name nicht? Nun, der Begriff „Betriebssystem“ wurde gewählt und hat sich seitdem durchgesetzt.

Tatsache ist, dass das Betriebssystem mehrere Prozesse verwaltet, die auf demselben Computer ausgeführt werden. Es ermöglicht Ihnen, dieselbe Anwendung auf Geräten verschiedener Hersteller auszuführen. Es abstrahiert die Hardware vom Anwendungsentwickler.

Kubernetes leistet all dies und mehr, aber jetzt ist die Maschine das gesamte Rechenzentrum in der Cloud, und die Hardware ist ein Cloud-Anbieter wie AWS oder GCP.

Das mag manchen etwas weit hergeholt erscheinen – und lassen Sie mich klarstellen – ich glaube nicht, dass Kubernetes als Betriebssystem für Cloud Computing andere Betriebssysteme wie Linux oder Windows obsolet machen wird – sie sind immer noch da, um zu bleiben.

Außerdem läuft auf jedem Knoten im Kubernetes-Cluster immer noch Linux. Aber wenn Sie herauszoomen und das Rechenzentrum als Ganzes betrachten, werden Sie sehen, dass es auch ein Betriebssystem hat, und dieses Betriebssystem ist Kubernetes.

Warum brauchen wir ein Cloud-Betriebssystem?

Werfen wir einen Blick auf die Makrogründe, warum Unternehmen in die Cloud wechseln und warum Standardisierung so überzeugend ist.

Skalierbarkeit – nach oben oder unten, nach Bedarf und ein Pay-as-you-use-Modell machen Cloud Computing zur idealen Lösung für die meisten Unternehmen. Benutzerfreundlichkeit zusammen mit Self-Service-Fähigkeit bedeutet, dass die Kosten niedriger sind und die Effizienz maximiert wird.

Es begann mit dem Übergang zur Virtualisierung, aber Container haben den Prozess beschleunigt, indem sie die Auswirkungen jedes einzelnen Workloads reduziert haben. Container reduzieren die minimale Recheneinheit auf die einer einzelnen Anwendung und nicht auf das gesamte Betriebssystem, das die Anwendung enthält.

Alle diese Container müssen jedoch auf die gleiche Weise verwaltet werden, wie Prozesse auf einem einzelnen Computer verwaltet werden müssen. Darüber hinaus muss die zugrunde liegende Infrastruktur selbst fair und effizient verwaltet und verteilt werden. Schließlich müssen Sie sich die Freiheit bewahren, sich zwischen den Hauptwolken zu bewegen und nicht an einen Anbieter gebunden zu sein (Vendor Lock).

Dies sind alles Belange des Betriebssystems, von der Ressourcenverwaltung über die Zeitplanung bis hin zur Hardwareabstraktion.

Massiver Paradigmenwechsel

Wir haben das schon einmal gesehen. Als Mobiltelefone zum ersten Mal auftauchten, tauchten auch mobile Betriebssysteme wie Android und iOS auf. Davor, als sich die Welt von Großrechnern zu PCs bewegte, wurden Windows und andere PC-Betriebssysteme erfunden.

In jedem Fall führte eine Änderung des Computerparadigmas dazu, dass ein neues Betriebssystem erforderlich war, um die Anforderungen der neuen Plattform zu erfüllen.

Was gibt das Betriebssystem?

Auf hoher Ebene verwaltet das Betriebssystem Ressourcen, Punkt. Genauer gesagt gibt es physische Ressourcen wie Ihre Festplatte, GPU und Arbeitsspeicher sowie virtuelle Ressourcen wie Dateien und Benutzer.

Das Betriebssystem übernimmt all diese Ressourcen und verwaltet sie. Es teilt sie gerecht und effizient auf verschiedene Prozesse auf.

Zeit ist auch eine Ressource. Das Betriebssystem weist laufenden Prozessen mithilfe eines zentralisierten Planers CPU-Zeit zu.

Das Betriebssystem ist auch für das Verschieben von Daten in den und aus dem Speicher verantwortlich, es stellt ein Portal zu Terminaldiensten bereit und verfügt natürlich häufig (aber nicht immer) über eine grafische Benutzeroberfläche, um den Bedienern die Arbeit zu erleichtern (oder moderner : Benutzer). Apropos Benutzer: Betriebssysteme verwalten deren Zugriffsrechte und sorgen für Sicherheit.

Aus dieser Sicht ist das Konzept von Kubernetes OS sinnvoller, da all diese Dienste von Kubernetes im Kontext Ihres Rechenzentrums bereitgestellt werden.

Kubernetes-Betriebssystem Parallels

Lassen Sie uns ein paar Ersetzungen vornehmen, um die Analogie natürlicher zu machen. Beispielsweise können wir Linux-Prozesse und -Threads mit Pods und Containern in Kubernetes vergleichen. Wir können Prozessoren mit Knoten vergleichen. Daher entspricht das Planen von Prozessen für die CPU jetzt dem Planen von Pods für Knoten.

Die Kernphilosophie von Linux lautet: „Alles ist eine Datei“. In Kubernetes ist das Äquivalent dazu „alles ist eine Yaml-Ressource in etcd“ oder „alles ist ein CRD“. Dies ist auch eine Form der Standardisierung, die Betriebssysteme verwenden, um Benutzern und Entwicklern das Leben zu erleichtern. Unter Linux arbeitet jede Datei mit einer Standard-API, sodass jede Ressource auf die gleiche Weise geöffnet und beschrieben werden kann. In Kubernetes ist alles eine etc-Ressource und hat ähnliche Vorteile.

Bei der Hardware-Abstraktion lassen sich wieder Parallelen ziehen. Linux verwendet Treiber, um auf verschiedene Festplatten zuzugreifen, und k8s funktioniert auf die gleiche Weise mit CSI-Plugins. Auf diese Weise können Sie auf den Speicher zugreifen, ohne sich Gedanken über die Konfiguration des Cloud-Laufwerks machen zu müssen.

In die Zukunft schauen

In den über 80 Jahren seit dem Konzept des Computers und dann des Betriebssystems gab es nur wenige große Paradigmenwechsel in der Art und Weise, wie wir Computer verwenden, aber jeder hatte einen tiefgreifenden Einfluss auf unser tägliches Leben.

Jeder erinnert sich, als Windows- und Macintosh-PCs zum ersten Mal verfügbar wurden. Jeder erinnert sich auch daran, wann Smartphones mit iOS und Android zum ersten Mal verfügbar waren. Jetzt, mit der Umstellung auf Cloud Computing, treibt Kubernetes eine ähnliche Verschiebung in tektonischen Ausmaßen voran. Wie Windows, Linux, iOS und Android geht Kubernetes nirgendwo hin!

Quellen:

Kubernetes-Grundlagen

Kubernetes-Dokumente

Kubernetes: Was sind die wichtigsten Vorteile für Unternehmen?

Betriebssysteme, Anwendungssoftware und Programmiersprachen

7 Probleme bei der Softwarebereitstellung (und wie man sie löst)

Die Vergangenheit, Gegenwart und Zukunft von Kubernetes mit Eric Brewer

YAML-Tutorial: Alles, was Sie brauchen, um in wenigen Minuten loszulegen

Kurze Geschichte der Betriebssysteme

Wenn sich alles in der Cloud befindet, spielt das Betriebssystem eine Rolle?

Cloud-Betriebssystem (Cloud OS)

Kubernetes ist die POSIX der Wolken

Similar Posts

Leave a Reply

Your email address will not be published.