Warum sollten Systemadministratoren, Entwickler und Tester DevOps-Praktiken erlernen?

Warum sollten Systemadministratoren, Entwickler und Tester DevOps-Praktiken erlernen?

Wohin mit diesem Wissen, was man im Projekt tun und wie viel man verdienen kann, was man bei einem Vorstellungsgespräch sagen und fragen soll – sagt Alexander Titov, geschäftsführender Gesellschafter von Express 42 und Autor Online-Kurs „DevOps-Praktiken und -Tools“.

Hallo! Obwohl der Begriff DevOps bereits seit 2009 existiert, herrscht in der russischen Community noch immer kein Konsens. Sie haben wahrscheinlich bemerkt, dass manche DevOps als Spezialgebiet betrachten, andere als Philosophie und wieder andere als eine Reihe von Technologien. Ich bin schon oft mit aufgetreten Vorträge über die Entwicklung dieser Richtung, daher werde ich in diesem Artikel nicht näher darauf eingehen. Lassen Sie mich nur sagen, dass wir bei Express 42 Folgendes darin enthalten:

DevOps ist eine spezifische Methodik, eine Kultur zur Erstellung eines digitalen Produkts, bei der alle Spezialisten im Team an der Produktion beteiligt sind.

In der klassischen Unternehmensentwicklung läuft alles der Reihe nach ab: Programmieren, Testen und erst dann der Betrieb, und die Geschwindigkeit dieses Prozesses von der Idee bis zur Produktion beträgt 3 Monate. Dies ist ein globales Problem für digitale Produkte, da es unmöglich ist, schnell Feedback von Kunden zu erhalten.

Bei DevOps sollen Tools und Ansätze dafür sorgen, dass Entwicklungs-, Test- und Betriebsprozesse gleichzeitig ablaufen.

Was folgt aus diesem Ansatz?

  • Sie können keinen „Ingenieur“ einstellen, der alle Probleme in der Produktion löst. Das gesamte Team muss die Technik anwenden.

    Warum sollten Systemadministratoren, Entwickler und Tester DevOps-Praktiken erlernen?

  • DevOps ist NICHT die nächste Form von Systemadministratoren, auf die ein Upgrade durchgeführt werden sollte. „DevOps-Ingenieur“ klingt ungefähr genauso wie „Agiler Entwickler“.

    Warum sollten Systemadministratoren, Entwickler und Tester DevOps-Praktiken erlernen?

  • Wenn ein Team Kubernetes, Ansible, Prometheus, Mesosphere und Docker nutzt, heißt das nicht, dass dort DevOps-Praktiken implementiert wurden.

    Warum sollten Systemadministratoren, Entwickler und Tester DevOps-Praktiken erlernen?

Das Leben nach DevOps wird nie mehr dasselbe sein

Der DevOps-Ansatz ist in erster Linie eine andere Denkweise, eine Wahrnehmung der Entwicklung als Ganzes und der eigenen Stellung im Prozess. Wir haben unseren Online-Kurs in 2 Blöcke unterteilt:

1. Selbstbestimmung

Zunächst untersuchen wir im Detail die Essenz des DevOps-Ansatzes, und die Studierenden entdecken neue Rollen im Team, sehen, welche besser reagiert, und bestimmen selbst, in welche Richtung sie sich entwickeln wollen.

2. Werkzeuge und Praktiken

Die Studierenden beherrschen spezifische Technologien aus Sicht der DevOps-Methode.

DevOps-Tools können sowohl im DevOps-Ansatz als auch in der klassischen Entwicklung eingesetzt werden. Das offensichtlichste Beispiel wäre die Verwendung des Ansible-Konfigurationsverwaltungstools. Es wurde erstellt und konzipiert, um die DevOps-Praxis „Infrastructure as Code“ umzusetzen, was bedeutet, dass verschiedene Zustände des Systems beschrieben werden, von den Betriebssystemeinstellungen bis hin zur Anwendungssoftware. Die Beschreibung ist in Ebenen unterteilt und ermöglicht die Verwaltung einer komplexen, sich ständig ändernden Konfiguration. Aber Ingenieure nutzen Ansible oft als Möglichkeit, Bash-Skripte auf mehreren Computern auszuführen. Das ist weder schlecht noch gut, aber Sie müssen verstehen, dass die Präsenz von Ansible keine Garantie für die Präsenz von DevOps im Unternehmen ist.

Wir sind dabei natürlich Sie werden in den Prozess der Entwicklung einer Anwendung eintauchen, die dem berühmten Reddit ähnelt, beginnend mit der monolithischen Version und dann Schritt für Schritt zu Microservices übergehen. Schritt für Schritt beherrschen wir neue Tools: Git, Ansible, Gitlab und schließen mit Kubernetes und Prometheus ab.

In Bezug auf die Praktiken folgen wir den Taktiken der drei im DevOps-Handbuch beschriebenen Pfade – Continuous-Delivery-Praktiken, Feedback-Praktiken, und der Kern des gesamten Kurses ist die Praxis des kontinuierlichen Lernens zusammen mit Ihrem System.

Was bringt dieses Wissen jedem der Spezialisten?

Für Systemadministratoren

Die Übungen ermöglichen Ihnen den Übergang von der Verwaltung hin zum Aufbau einer Continuous-Delivery-Pipeline und einer Infrastrukturplattform für die Softwarebereitstellung. Der Punkt ist, dass er ein Produkt schafft – eine Infrastrukturplattform für Entwickler, die ihnen hilft, ihre Änderungen schnell in die Produktion zu bringen.

Früher waren Systemadministratoren die letzte Bastion, danach geht alles in Produktion. Und im Grunde waren sie mit der kontinuierlichen Brandbekämpfung beschäftigt – angesichts dessen ist es ziemlich schwierig, sich mit den Bedürfnissen des Unternehmens auseinanderzusetzen, über das Produkt und die Vorteile für den Benutzer nachzudenken.
Dank der DevOps-Methode verändert sich das Denken. Der Systemadministrator versteht, wie die Konfiguration in Code übersetzt wird und welche Praktiken dafür existieren.

Dies ist wichtig, da Unternehmen zunehmend erkennen, dass sie nicht nur alles automatisieren müssen, d. h. Das war es, was Systemadministratoren der alten Schule im Wesentlichen gewohnt waren, die außerdem wenig kommunizierten und das Team nicht über alle vorgenommenen Änderungen informierten. Nun sind die Teams auf der Suche nach denjenigen, die zum Hersteller des internen Infrastrukturprodukts werden und dabei helfen, die getrennten Prozesse zu einem einzigen zu vereinen.

Entwickler

Der Entwickler hört auf, nur in Algorithmen zu denken. Er erwirbt die Fähigkeit, mit der Infrastruktur zu arbeiten, die Fähigkeit des architektonischen Landschaftsbewusstseins. Ein solcher Entwickler versteht, wie die Anwendung funktioniert, wie sie die Continuous-Delivery-Pipeline durchläuft, wie sie überwacht und registriert wird, damit sie dem Kunden zugute kommt. Mit all diesem Wissen können Sie relevanten Code schreiben.

Für Tester

Das Testen ist längst in den automatischen Modus übergegangen; wir alle sagen, dass viele Tests nicht durchgeführt, sondern geschrieben werden sollten :) Tests werden Teil der gesamten Lieferpipeline Ihres Produkts. Ein Tester muss nicht nur lernen, wie man Code schreibt, sondern auch verstehen, wie man ihn in Continuous-Delivery-Systeme integriert, wie man in allen Phasen der Bereitstellung Feedback vom Code erhält und wie man Tests ständig verbessert, um Fehler zu erkennen so früh wie möglich.

Es stellt sich heraus, dass alle drei Phasen treten gleichzeitig auf. Es könnte zum Beispiel so aussehen:

Der Entwickler schreibt den Code, schreibt sofort Tests dafür und beschreibt einen Docker-Container für den Code, der ausgeführt werden soll. Es beschreibt auch sofort die Überwachung, die den Betrieb dieses Dienstes in der Produktion überwacht und all dies festschreibt.

Wenn die kontinuierliche Integration beginnt, laufen Prozesse gleichzeitig ab. Der Dienst wird gestartet und konfiguriert. Gleichzeitig wird der Docker-Container gestartet und überprüft, ob er ausgeführt wird. Gleichzeitig gehen alle Informationen an das Protokollierungssystem. Und so weiter in jeder Entwicklungsphase – es handelt sich um eine echte Teamarbeit von Systemadministratoren, Entwicklern und Testern.

Ich habe DevOps studiert, was kommt als Nächstes?

Wie Sie wissen, ist jemand im Feld kein Krieger. Wenn Ihr Unternehmen diese Methode nicht nutzt, bleiben die erworbenen Fähigkeiten ungenutzt. Und nachdem Sie sich mit DevOps-Ansätzen vertraut gemacht haben, möchten Sie höchstwahrscheinlich kein Rädchen in der Unternehmensentwicklung sein. Eine Ausnahme kann es geben: Sie sind Systemadministrator im Team und können alle Prozesse neu aufbauen. Erwähnenswert ist hier, dass es viele Unternehmen gibt, die diesen Ansatz nutzen, vom Lockdown nicht betroffen sind und auf der Suche nach Fachkräften sind. Denn bei DevOps geht es um die Erstellung von Online-Produkten.

Und nun zu den guten Dingen: Die Beherrschung der DevOps-Praktiken und -Tools erhöht Ihren Wert auf dem Arbeitsmarkt um etwa 30 %. Die Gehälter beginnen bei 140 Rubel, richten sich aber natürlich nach Ihrem Hauptfach und Ihrer Funktionalität.

Sie können sich offene Stellen mit der Kennzeichnung „Infrastrukturorientiert“ ansehen, in denen es um Testautomatisierung, die Entwicklung von Microservice-Anwendungen mithilfe von Cloud-Technologien, offene Stellen für Infrastrukturingenieure und alle möglichen Hinweise auf DevOps geht. Denken Sie daran, dass jedes Unternehmen mit dieser Definition etwas anderes meint – lesen Sie die Beschreibung sorgfältig durch.

Beim Start unseres Kurses kam mir eine Erkenntnis: Viele Leute tappen nach dem Kurs in die Falle eines DevOps-Ingenieurs. Sie finden eine freie Stelle mit dem oben genannten Titel, erhalten ein gutes Angebot und kommen dann zur Arbeit und stellen fest, dass sie ein dreiseitiges Bash-Skript in Jenkins pflegen müssen. Wo sind Kubernetes, ChatOps, Canary Releases und all das? Daran aber nichts, denn das Unternehmen braucht DevOps nicht als Methodik, sondern nutzt einzelne Innovationen.

Dies ist ein Grund, sich beim Unternehmen intensiv über die Funktionsweise des Softwarebereitstellungsprozesses, den Technologie-Stack und die von Ihnen zu übernehmenden Aufgaben zu informieren.

Wenn der Arbeitgeber Ihre Fragen abstrakt, wie aus einem Buch, ohne Details beantwortet, dann gibt es höchstwahrscheinlich noch keinen DevOps-Prozess im Unternehmen, aber das ist kein Grund, sich zu weigern, das Unternehmen und seine Produkte zu studieren, ob sie online sind Dienstleistungen, die das Unternehmen selbst entwickelt, mobile Anwendungen, Produktideen.

Wenn ja, dann klären Sie, ob Sie direkt mit diesen Systemen arbeiten müssen oder ob die Möglichkeit einer horizontalen Verlagerung in die Teams dieser Dienste besteht und gleichzeitig gute Ergebnisse in DevOps-Praktiken vorweisen kann. Wenn ja, dann lohnt es sich hinzugehen und aktiv und nützlich zu sein, und wenn Sie unseren Kurs abschließen, ist Letzteres garantiert.

Es ist wichtig zu beachten, dass Devops-Praktiker nur mit Erfahrung in Entwicklung/Verwaltung/Tests einen echten Wert erlangen. Nur dann ist das Wissen nicht abstrakt, sondern bereichert den Fachmann (in jeder Hinsicht). Daher ist die Idee, „DevOps von Grund auf zu lernen“, ungefähr dasselbe wie das Erlernen des „Verwendens von Objektiven von Grund auf“, wenn Sie noch nie eine Kamera in den Händen gehalten oder bei einem Shooting Regie geführt haben. Um Ihnen die Entscheidung zu erleichtern, ob der Studiengang das Richtige für Sie ist, haben wir einen Aufnahmetest durchgeführt, der Ihren ausreichenden Kenntnisstand überprüft.

Ich denke, einer der Tricks natürlich — dass jeder Schüler im Laufe der Ausbildung selbst bestimmt, in welche Richtung er sich entwickeln möchte. Wir sehen oft Übergänge, wenn ein Entwickler zum Infrastrukturingenieur wird und ein Administrator erkennt, dass er daran interessiert ist, Code zu schreiben – dann studiert er die Sprache weiter und ergänzt sie mit den erworbenen DevOps-Fähigkeiten. Deshalb heißen wir besonders diejenigen willkommen, die das Gefühl haben, dass ihre Karriere an einem Scheideweg feststeckt. Der Kurs beginnt am 28. Mai, der Einstieg ist jedoch 2 Wochen nach Vorlesungsbeginn möglich. Sie können das Programm ansehen und den Test machen Link. Wir sehen uns bei OTUS!

Source: habr.com

Kommentar hinzufügen