OpenShift 4.0 - bereitet sich auf den Hypersprung vor

Dies ist der erste Teil einer Reihe unserer Veröffentlichungen, die Verbesserungen und Ergänzungen im kommenden Update der Red Hat OpenShift-Plattform auf Version 4.0 gewidmet sind. Damit können Sie sich auf den Übergang zur neuen Version vorbereiten.



Welche Tools stehen Ihnen zur Verfügung, um bessere Softwareprodukte zu erstellen, und wie verbessern sie die Sicherheit und machen die Entwicklung einfacher und zuverlässiger?

Von dem Moment an, als sich die Vertreter der neu gegründeten Kubernetes-Community im Herbst 2014 im Google-Büro in Seattle versammelten, konnte bereits gesagt werden, dass das Kubernetes-Projekt dazu bestimmt war, moderne Ansätze für die Entwicklung und Implementierung von Software grundlegend zu ändern. Gleichzeitig investierten öffentliche Cloud-Dienstleister weiterhin aktiv in die Entwicklung von Infrastruktur und Diensten, was die Arbeit mit der IT und die Erstellung von Software erheblich erleichterte und vereinfachte und sie unglaublich erschwinglich machte, was sich nur wenige zu Beginn des Jahrzehnts hätten vorstellen können.

Natürlich wurde die Ankündigung jedes neuen Cloud-Dienstes von zahlreichen Expertengesprächen auf Twitter begleitet, und es wurden Streitigkeiten zu verschiedenen Themen geführt - einschließlich des Endes der Open Source-Ära, des Niedergangs der IT auf Kundenseite (lokale IT) und der Unvermeidlichkeit eines neuen Softwaremonopols in der Cloud und wie das neue Paradigma X alle anderen Paradigmen ersetzen wird.

Die Realität ist jedoch, dass nichts verschwindet, und heute können Sie das exponentielle Wachstum von Endprodukten und Methoden für deren Entwicklung beobachten, das mit dem ständigen Aufkommen neuer Software in unserem Leben verbunden ist. Und trotz der Tatsache, dass sich alles um uns herum ändern wird, bleibt im Wesentlichen alles unverändert. Softwareentwickler werden weiterhin fehlerhaften Code schreiben, Wartungstechniker und Zuverlässigkeitsspezialisten werden weiterhin mit Pagern arbeiten und automatische Benachrichtigungen in Slack erhalten, Manager werden weiterhin an den Konzepten von OpEx und CapEx arbeiten, und wenn ein Fehler auftritt, wird der Senior Der Entwickler wird traurig mit den Worten seufzen: "Ich sagte" ...

Mit der zunehmenden Komplexität von Projekten treten auch neue Risiken auf, und das Leben der Menschen hängt heute so stark von Software ab, dass Entwickler einfach verpflichtet sind, ihre Arbeit besser zu machen.

Kubernetes ist ein solches Werkzeug. Es wird daran gearbeitet, es mit anderen Tools und Diensten in eine einzige Plattform im Rahmen von Red Hat OpenShift zu integrieren, wodurch die Software zuverlässiger, einfacher zu verwalten und für Benutzer sicherer wird.

Vor diesem Hintergrund stellt sich die Frage: Wie kann die Arbeit mit Kubernetes einfacher und bequemer gestaltet werden?

Die Antwort mag überraschend einfach erscheinen:

  • Automatisieren Sie komplexe Momente bei der Bereitstellung in der Cloud oder außerhalb der Cloud
  • Konzentrieren Sie sich auf Zuverlässigkeit und verbergen Sie gleichzeitig die Komplexität.
  • Arbeiten Sie weiter an der Veröffentlichung einfacher und sicherer Updates
  • Kontrollierbarkeit und Prüfungsfähigkeiten erreichen;
  • bemühen sich zunächst um hohe Sicherheit, jedoch nicht auf Kosten der Benutzerfreundlichkeit.

Die nächste Version von OpenShift sollte sowohl die Erfahrung der Entwickler als auch die Erfahrung anderer Entwickler berücksichtigen, die Software in großem Umfang in den weltweit größten Unternehmen implementieren. Darüber hinaus müssen alle gesammelten Erfahrungen offener Ökosysteme berücksichtigt werden, die heute die Grundlage der modernen Welt bilden. In diesem Fall ist es notwendig, die alte Mentalität eines Amateurentwicklers aufzugeben und zu einer neuen Philosophie einer automatisierten Zukunft überzugehen. Es sollte eine „Brücke“ zwischen den alten und neuen Möglichkeiten sein, Software bereitzustellen und die gesamte verfügbare Infrastruktur voll auszunutzen - es spielt keine Rolle, ob sie vom größten Cloud-Anbieter gewartet wird oder auf winzigen Systemen an der Peripherie ausgeführt wird.

Wie kann man ein solches Ergebnis erzielen?


Bei Red Hat ist es üblich, lange Zeit langweilige und undankbare Arbeit zu leisten, um die etablierte Gemeinschaft zu erhalten und die Schließung von Projekten zu verhindern, an denen das Unternehmen beteiligt ist. Die Open-Source-Community besteht aus einer großen Anzahl talentierter Entwickler, die die außergewöhnlichsten Dinge kreieren - unterhaltsam, lehrreich, neue Möglichkeiten entdecken und einfach nur schön, aber natürlich erwartet niemand, dass sich alle Teilnehmer in die gleiche Richtung bewegen oder gemeinsame Ziele verfolgen. Die Nutzung dieser Energie, ihre Umleitung in die richtige Richtung, ist manchmal notwendig für die Entwicklung von Bereichen, die für unsere Benutzer nützlich wären, aber gleichzeitig müssen wir die Entwicklung unserer Gemeinschaften überwachen und von ihnen lernen.

Anfang 2018 erwarb Red Hat das CoreOS-Projekt, das ähnliche Ansichten zur Zukunft hatte - einen sichereren und zuverlässigeren Open-Source-Ansatz. Das Unternehmen arbeitete an der Weiterentwicklung dieser Ideen und ihrer Umsetzung und setzte unsere Philosophie um - um einen sicheren Betrieb aller Software zu erreichen. All diese Arbeiten bauen auf Kubernetes, Linux, öffentlichen Clouds, privaten Clouds und Tausenden anderer Projekte auf, die unserem modernen digitalen Ökosystem zugrunde liegen.

Die neue Version von OpenShift 4 wird verständlich, automatisiert und natürlicher sein

Die OpenShift-Plattform funktioniert mit den besten und zuverlässigsten Linux-Betriebssystemen, mit Bare-Metal-Hardware-Unterstützung, praktischer Virtualisierung, automatischer Programmierung der Infrastruktur und natürlich Containern (die im Wesentlichen nur Linux-Images sind).

Die Plattform sollte von Anfang an sicher sein, gleichzeitig aber die Möglichkeit bequemer Iterationen für Entwickler bieten - das heißt, sie muss ausreichend flexibel und zuverlässig sein und den Administratoren dennoch die Möglichkeit geben, zu prüfen und die Verwaltung zu vereinfachen.

Es sollte Ihnen ermöglichen, die Software "in Form eines Dienstes" auszuführen und nicht zu einem unkontrollierten Ausbau der Infrastruktur für Betreiber zu führen.

Entwickler können sich darauf konzentrieren, echte Produkte für Benutzer und Kunden zu erstellen. Sie müssen den Dschungel der Hardware- und Softwareeinstellungen nicht durchbrechen, und alle zufälligen Komplikationen gehören der Vergangenheit an.

OpenShift 4: NoOps-Plattform erfordert keine Wartung


In dieser Veröffentlichung wurden die Aufgaben beschrieben, die die Vision des Unternehmens für OpenShift 4 mitgeprägt haben. Das Team hat die Aufgabe, die täglichen Aufgaben des Betriebs und der Wartung von Software maximal zu vereinfachen und diese Prozesse sowohl für Implementierungsspezialisten als auch für Implementierer einfach und mühelos zu gestalten Entwickler. Aber wie kann man dieses Ziel erreichen? Wie erstelle ich eine Plattform zum Starten von Software, die nur minimale Eingriffe erfordert? Was bedeutet NoOps in diesem Zusammenhang?

Wenn Sie versuchen, dies zu ignorieren, bedeuten die Konzepte "serverlos" oder "NoOps" für Entwickler Tools und Dienste, mit denen Sie die "betriebliche" Komponente ausblenden oder diese Belastung für den Entwickler minimieren können.

  • Arbeiten Sie nicht mit Systemen, sondern mit Anwendungsschnittstellen (APIs).
  • Implementieren Sie keine Software - lassen Sie dies von einem Anbieter anstelle von Ihnen tun.
  • Sie sollten nicht sofort mit der Erstellung eines großen Frameworks beginnen. Schreiben Sie zunächst kleine Fragmente, die als "Bausteine" fungieren, und versuchen Sie, diesen Code mit Daten und Ereignissen und nicht mit Datenträgern und Datenbanken zum Laufen zu bringen.

Die Aufgabe besteht nach wie vor darin, die Iterationen bei der Entwicklung von Software zu beschleunigen, die Möglichkeit zu bieten, bessere Produkte zu erstellen, damit sich der Entwickler keine Gedanken über die Systeme machen kann, auf denen seine Software ausgeführt wird. Ein erfahrener Entwickler ist sich bewusst, dass sich das Bild schnell ändern kann, wenn Sie sich auf Benutzer konzentrieren. Sie sollten sich also nicht zu viel Mühe geben, um Software zu schreiben, wenn Sie nicht absolut auf deren Notwendigkeit vertrauen.

Für Fachleute, die mit Wartung und Betrieb befasst sind, mag das Wort "NoOps" etwas einschüchternd klingen. Bei der Kommunikation mit den Betriebsingenieuren wird jedoch deutlich, dass sich die von ihnen verwendeten Muster und Methoden zur Gewährleistung der Zuverlässigkeit der Zuverlässigkeit (Site Reliability Engineering, SRE) weitgehend mit den oben beschriebenen Mustern überschneiden:

  • Verwalten Sie keine Systeme - automatisieren Sie deren Verwaltungsprozesse.
  • Implementieren Sie keine Software - erstellen Sie eine Pipeline für deren Bereitstellung.
  • Versuchen Sie, nicht alle Ihre Dienste miteinander zu kombinieren, und lassen Sie nicht zu, dass der Ausfall eines dieser Dienste zum Ausfall des gesamten Systems führt. Verteilen Sie sie mithilfe von Automatisierungstools in der gesamten Infrastruktur und verbinden Sie sie, um die Möglichkeit der Steuerung und Überwachung zu gewährleisten.

SRE-Spezialisten wissen, dass möglicherweise etwas schief geht, und müssen das Problem verfolgen und beheben. Daher automatisieren sie die Routine und bestimmen im Voraus Fehlertoleranzen, um bei Auftreten eines Problems Prioritäten setzen und Entscheidungen treffen zu können .

OpenShifts Kubernetes ist eine Plattform, die zwei Hauptaufgaben lösen soll: Anstatt Sie zu zwingen, sich mit virtuellen Maschinen oder Load Balancer-APIs zu befassen, arbeiten Sie mit Abstraktionen höherer Ordnung - mit Bereitstellungsprozessen und -diensten. Anstatt Software-Agenten zu installieren, können Sie Container ausführen und statt Ihres eigenen Überwachungsstapels die bereits auf der Plattform verfügbaren Tools verwenden. Daher stellt die geheime Zutat von OpenShift 4 tatsächlich kein Geheimnis dar. Sie müssen lediglich die Prinzipien von SRE und serverlosen Konzepten als Grundlage nehmen und sie zu ihrer logischen Schlussfolgerung bringen, um Entwicklern und Wartungstechnikern zu helfen:

  • Automatisieren und standardisieren Sie die von Anwendungen verwendete Infrastruktur
  • Bringen Sie Bereitstellungs- und Entwicklungsprozesse zusammen, ohne die Entwickler selbst einzuschränken
  • Sicherzustellen, dass der Start, die Prüfung und die Sicherheit eines hundertsten Dienstes, einer Funktion, einer Anwendung oder eines gesamten Stapels nicht schwieriger ist als der erste.

Aber was ist der Unterschied zwischen der OpenShift 4-Plattform und ihren Vorgängern und dem „Standard“ -Ansatz zur Lösung solcher Probleme? Wie wird die Skalierung für Implementierungs- und Betriebsteams erreicht? Aufgrund der Tatsache, dass der König in dieser Situation ein Cluster ist. Also

  • Wir machen den Zweck der Cluster verständlich (Liebe Cloud, ich habe diesen Cluster angehoben, weil ich konnte)
  • Es gibt Maschinen und Betriebssysteme für den Cluster (Majestät)
  • Verwalten Sie den Status von Hosts aus dem Cluster und minimieren Sie deren Neuerstellung (Drift).
  • Für jedes wichtige Element des Systems wird ein Kindermädchen (Mechanismus) benötigt, das Probleme verfolgt und behebt
  • Ausfall * jedes * Aspekts oder Elements des Systems, die entsprechenden Wiederherstellungsmechanismen sind ein gewöhnlicher Teil des Lebens
  • Die gesamte Infrastruktur muss über die API konfiguriert werden.
  • Verwenden Sie Kubernetes, um Kubernetes zu starten. (Ja, ja, das ist kein Tippfehler)
  • Updates sollten einfach und natürlich installiert werden. Wenn die Installation des Updates mehr als einen Klick dauert, machen Sie offensichtlich etwas falsch.
  • Das Überwachen und Debuggen von Komponenten sollte kein Problem darstellen, und dementsprechend sollte das Verfolgen und Berichten in der gesamten Infrastruktur auch einfach und bequem sein.

Möchten Sie die Funktionen der Plattform in Aktion sehen?


Eine vorläufige Version von OpenShift 4 steht Entwicklern zur Verfügung. Mit einem benutzerfreundlichen Installationsprogramm können Sie einen AWS-Cluster auf Red Had CoreOS ausführen. Um die Vorschau-Version verwenden zu können, benötigen Sie nur ein AWS-Konto, um die Infrastruktur bereitzustellen, und eine Reihe von Konten, um auf die Bilder der Vorschau-Version zuzugreifen.

  1. Gehen Sie zunächst zu try.openshift.com und klicken Sie auf " Erste Schritte".
  2. Melden Sie sich bei Ihrem Red Hat-Konto an (oder erstellen Sie ein neues) und befolgen Sie die Anweisungen zum Einrichten Ihres ersten Clusters.

Lesen Sie nach einer erfolgreichen Installation unsere OpenShift-Schulungs- Tutorials, um mehr über die Systeme und Konzepte zu erfahren, die die OpenShift 4-Plattform zu einem so einfachen und bequemen Tool zum Starten von Kubernetes machen.

Und auf der DevOpsForum 2019- Konferenz wird einer der OpenShift-Entwickler, Vadim Rutkovsky, eine Meisterklasse abhalten: „Hier müssen Sie das gesamte System ändern: defekte k8s-Cluster zusammen mit zertifizierten Schlossern reparieren“ - es werden zehn Cluster zerstört und gezeigt, wie man sie repariert.

Der Eintritt zur Konferenz ist kostenpflichtig, jedoch mit dem # RedHat-Gutscheincode - 37% Rabatt.

Wir warten am 20. April in einer Meisterklasse in Halle 2 um 17:15 Uhr und an unserem Stand den ganzen Tag auf Sie. Nützliche Produktinformationen, Treffen mit Experten, T-Shirts, Hüte, Red Hat-Aufkleber - alles ist wie gewohnt! :-)

Source: https://habr.com/ru/post/de445558/


All Articles