Wie wird man Platform Engineer oder in welche Richtung sollte man sich im DevOps-Bereich entwickeln?

Wie wird man Platform Engineer oder in welche Richtung sollte man sich im DevOps-Bereich entwickeln?

Wir haben darüber gesprochen, wer und warum in naher Zukunft Fähigkeiten zur Erstellung von Infrastrukturplattformen mit Kubernetes benötigt, mit dem Dozenten Jurij Ignatow, leitender Ingenieur Express 42.

Woher kommt die Nachfrage nach Plattformingenieuren?

In letzter Zeit erkennen immer mehr Unternehmen die Notwendigkeit, eine interne Infrastrukturplattform zu schaffen, die eine einheitliche Umgebung für die Entwicklung, die Vorbereitung von Releases, die Bereitstellung und den Betrieb digitaler Produkte des Unternehmens darstellt. Eine solche Plattform enthält Systeme und Dienste für das Management von Rechen- und Netzwerkressourcen, ein System für kontinuierliche Integration, ein Artefakt-Repository, Überwachungssysteme und andere Dienste, die von Ihren Entwicklungsteams genutzt werden. Die Bewegung hin zu internen Plattformen und der Bildung von Plattformteams begann vor mehreren Jahren. Bestätigungen dafür finden sich in Berichten State of DevOps der DORA-Organisation, Veröffentlichungen von Gartner und Büchern wie Team Topologies.

Die wichtigsten Vorteile des plattformbasierten Ansatzes zur Verwaltung der Unternehmensinfrastruktur sind:

  • Produktteams werden nicht von der Weiterentwicklung ihrer Produkte durch Infrastrukturaufgaben abgelenkt.
  • Das Plattformteam, das für die Weiterentwicklung der Infrastrukturplattform verantwortlich ist, berücksichtigt die Bedürfnisse der Produktteams im Unternehmen und entwickelt Lösungen speziell für interne Anforderungen.
  • Das Unternehmen sammelt intern Erfahrungen, die leicht wiederverwendet werden können, beispielsweise bei der Gründung eines neuen Produktteams oder bei der Festlegung von Standards oder allgemeinen Praktiken im Unternehmen.

Wenn es einem Unternehmen gelungen ist, einen solchen Ansatz zu entwickeln, kann die interne Infrastrukturplattform im Laufe der Zeit für die Entwicklungsteams komfortabler werden als die Dienste von Cloud-Anbietern, da sie unter Berücksichtigung der Besonderheiten und Bedürfnisse der Teams erstellt wurde, deren Erfahrungen und Spezifitäten gesammelt hat. All dies führt zu einer Steigerung der Produktivität der Produktteams und ist somit vorteilhaft für das Geschäft.

Warum gerade Kubernetes?

Als Grundlage für die Erstellung einer Infrastrukturoberfläche können verschiedene Tools verwendet werden. Früher war es Mesos, jetzt neben Kubernetes können Sie auch Nomad verwenden, und natürlich sind Sie nicht darauf beschränkt, Ihre eigenen „Fahrräder“ zu bauen. Dennoch bevorzugt die Mehrheit der Unternehmen den Aufbau der Plattform genau auf Kubernetes. Dafür wird es am meisten geschätzt:

  • Unterstützung moderner Ingenieurpraktiken wie „Infrastruktur als Code“.
  • Eine Vielzahl notwendiger Mechanismen „out of the box“ für die Teams. Zum Beispiel das Management von Rechenressourcen, Mechanismen für das verwaltete Deployment von Anwendungen und die Gewährleistung ihrer Ausfallsicherheit.
  • Ein riesiges Ökosystem, in dem Tools zur Lösung verschiedener Aufgaben vorhanden sind, unterstützt von Anbietern von Cloud-Diensten.
  • Eine lebendige Community: Dutzende von Konferenzen weltweit, eine beeindruckende Liste von Mitwirkenden, Vorhandensein von Zertifizierungen und zertifizierten Spezialisten sowie Bildungsprogramme für dieses Tool.

Kubernetes kann als neuer Branchenstandard bezeichnet werden; es ist nur eine Frage der Zeit, wann Ihr Unternehmen es nutzen wird.

Leider ist all dies nicht kostenlos: Mit dem Aufkommen von Kubernetes und der Containerisierung ändert sich vieles in den Prozessen und Tools, die das Team in der täglichen Arbeit nutzt:

  • Der Ansatz zur Verwaltung von Rechenressourcen ändert sich.
  • Die Art der Bereitstellung und Konfiguration von Anwendungen ändert sich.
  • Ein neuer Ansatz zur Organisation von Überwachungs- und Protokollierungsdiensten ist erforderlich.
  • Es entsteht die Notwendigkeit, neue Integrationen zwischen den in die Plattform integrierten Diensten zu schaffen und bestehende Automatisierungsskripte anzupassen.

Selbst die lokale Umgebung des Entwicklers und der Prozess zur Fehlersuche bei Anwendungen unterliegen ebenfalls Veränderungen.

Unternehmen können den Wechsel zu einer Infrastrukturplattform und deren Wartung selbstständig vollziehen, indem sie die Kompetenzen ihrer Mitarbeiter ausbauen oder notwendige Spezialisten einstellen. Es gibt häufig Fälle, in denen es sinnvoll ist, diese Prozesse zu delegieren, zum Beispiel wenn das Unternehmen nicht in der Lage ist, den Fokus des Teams von der Produktentwicklung auf die Schaffung neuer Infrastruktur zu lenken, keine Möglichkeit hat, umfangreiche interne F&E durchzuführen oder unzumutbare Risiken besteht, die mit der eigenständigen Erstellung neuer Infrastruktur und dem Übergang der Produktteams auf diese verbunden sind – hier ist es besser, sich an Unternehmen zu wenden, die diesen Weg bereits mehrfach erfolgreich gegangen sind.

Neue Kompetenzen im Umgang mit Infrastrukturplattformen werden nicht nur benötigt von Administratoren (ein Beruf, der sich momentan zum Infrastruktur-Ingenieur wandelt), sondern auch von Entwicklern. Entwickler muss verstehen, wie seine Anwendung im Einsatz gestartet und betrieben wird, er muss die Ecosysteme maximal nutzen können, in der Lage sein, die Anwendung zu debuggen oder die Bereitstellungs- und Konfigurationsprozesse zu ändern. Auch ohne diese Kenntnisse kommen nicht Technikleiternicht aus: Es muss eine große Menge an F&E durchgeführt, geeignete Werkzeuge ausgewählt, ihre Einschränkungen studiert, Ansätze zur Integration der in die Plattform integrierten Werkzeuge gevonden und verschiedene Nutzungsszenarien der Plattformservices von Produktteams vorgesehen werden.

Wenn es nicht allzu schwierig ist, Kubernetes, auch auf der Infrastruktur von Cloud-Anbietern, bereitzustellen, so ist es in der Tat eine herausfordernde Aufgabe, alle Prozesse der Entwicklung und des Betriebs zu übertragen, Anwendungen anzupassen, ein Dutzend neuer Werkzeuge für das Team zu integrieren und so weiter – das erfordert ein tiefes Verständnis der Prozesse und eine umfangreiche Kommunikation mit allen Beteiligten an der Erstellung Ihrer Produkte.

Und all diese Informationen haben wir in unserem Online-Kurs „Infrastrukturplattform auf Basis von Kubernetes“ gesammelt. In 5 Monaten Praxis werden Sie Folgendes erlernen:

  • Wie Kubernetes aufgebaut ist
  • Wie DevOps-Praktiken damit umgesetzt werden
  • Welche Werkzeuge der Ecosysteme bereits ausreichend ausgereift sind, um im realen Einsatz verwendet zu werden, und wie sie miteinander integriert werden können.

Im Gegensatz zu anderen Bildungsprogrammen konzentrieren wir uns auf das Ökosystem und die Besonderheiten des Betriebs von Kubernetes-Clustern, denn genau hier treten die Schwierigkeiten für Unternehmen auf, die sich entschieden haben, auf ihre eigene Infrastrukturplattform umzusteigen.

Nach Abschluss des Kurses werden Sie über die Qualifikation eines Plattformingenieurs verfügen und in der Lage sein, eine Infrastrukturplattform in Ihrem Unternehmen selbstständig zu erstellen. Einige unserer Studenten absolvieren dies als Projektarbeit und erhalten dabei Feedback und Unterstützung von den Dozenten. Außerdem werden Sie über genügend Wissen und Fähigkeiten verfügen, um sich auf die CNCF-Zertifizierung vorzubereiten.

Es ist wichtig zu betonen, dass für den Erwerb dieser Fähigkeiten ein sicheres Wissen über DevOps-Praktiken und -Toolserforderlich ist. Nach unseren Beobachtungen des Stellenmarktes kann ein solcher Spezialist nach der Ausbildung mit einem Gehalt von 150-200 Tausend Rubel rechnen.

Wenn Sie genau dieser Spezialist mit Erfahrung in der Anwendung von DevOps-Praktiken sind, laden wir Sie ein, den Einstufungstest zu bestehen und sich näher mit dem Kursprogramm vertraut zu machen..

Quelle: habr.com

60GB SSD 8Gb DDR4