Wie Sie in sechs Monaten oder noch schneller zum DevOps-Ingenieur werden. Teil 1. Einführung

Целевая аудитория

Sind Sie ein Entwickler, der Ihre Karriere auf ein fortgeschritteneres DevOps-Modell ausrichten möchte? Sie sind ein klassischer Ops-Ingenieur und möchten sich ein Bild davon machen, was DevOps bedeutet? Oder sind Sie das beides nicht und möchten sich nach einer Zeit in der IT beruflich verändern und wissen nicht, wo Sie anfangen sollen?
Wenn ja, dann lesen Sie weiter, um herauszufinden, wie Sie in sechs Monaten ein DevOps-Ingenieur mittlerer Ebene werden können! Wenn Sie sich schon seit vielen Jahren mit DevOps befassen, werden Sie aus dieser Artikelserie immer noch viel lernen können, um zu erfahren, wo die Integrations- und Automatisierungsbranche derzeit steht und wohin sie geht.

Wie Sie in sechs Monaten oder noch schneller zum DevOps-Ingenieur werden. Teil 1. Einführung

Worum geht es?

Erstens: Was ist DevOps? Sie können Definitionen googeln und sich durch den ganzen Wortschatz wühlen, aber seien Sie sich darüber im Klaren, dass die meisten Definitionen nur ein Durcheinander von Wörtern sind, verpackt in einer optimierten Form. Deshalb werde ich Ihnen eine Zusammenfassung all dieser Definitionen geben: DevOps ist eine Methode zur Bereitstellung von Software, bei der der Aufwand und die Verantwortung von allen Beteiligten geteilt werden. Das ist alles.

Okay, aber was bedeutet diese Abkürzung? Dies bedeutet, dass Entwickler (die Leute, die Software erstellen) traditionell durch Anreize motiviert werden, ihre Arbeit zu erledigen, die sich erheblich von denen des Betriebs (die Leute, die die Software verwalten) unterscheiden. Als Entwickler möchte ich beispielsweise so schnell wie möglich möglichst viele neue Funktionen erstellen. Schließlich ist das mein Job und das ist es, was die Kunden verlangen! Wenn ich jedoch ein Ops-Mitarbeiter bin, benötige ich so wenige neue Funktionen wie möglich, da jede neue Funktion eine Änderung darstellt und jede Änderung mit Problemen behaftet ist. Als Ergebnis dieser Fehlausrichtung der Anreize wurde DevOps geboren.

DevOps versucht, Entwicklung und Betrieb (Integration und Automatisierung) in einer Gruppe zu vereinen. Die Idee besteht darin, dass eine Gruppe nun sowohl den Schmerz als auch die Verantwortung (und die wahrscheinlichen Vorteile) der Entwicklung, Bereitstellung und Generierung von Einnahmen aus kundenorientierter Software teilen wird.

Puristen werden Ihnen sagen, dass es so etwas wie einen „DevOps-Ingenieur“ nicht gibt. „DevOps ist eine Kultur, keine Rolle“, werden sie Ihnen sagen. Natürlich haben sie aus technischer Sicht Recht, aber so ist es Oft ist der Begriff außer Kontrolle geraten. Über seine ursprüngliche Bedeutung hinaus ist ein DevOps-Ingenieur so etwas wie ein „Systemingenieur 2.0“. Mit anderen Worten, er ist jemand, der den Lebenszyklus der Softwareentwicklung versteht und Softwareentwicklungstools und -prozesse erstellt zur Lösung klassischer Betriebsprobleme.

Wie Sie in sechs Monaten oder noch schneller zum DevOps-Ingenieur werden. Teil 1. Einführung

DevOps bedeutet letztendlich die Schaffung digitaler Pipelines, die Code vom Laptop eines Entwicklers übernehmen und ihn in Einnahmen aus der Nutzung des Endprodukts umwandeln – darum geht es. Beachten Sie, dass die Wahl einer DevOps-Karriere ziemlich hoch durch finanzielle Belohnungen entschädigt wird, da fast jedes Unternehmen entweder „DevOps betreibt“ oder behauptet, einer zu sein. Unabhängig davon, wo diese Unternehmen ansässig sind, sind die Beschäftigungsmöglichkeiten im DevOps-Bereich insgesamt recht hoch und bieten „spaßige“ und sinnvolle Beschäftigung für viele Jahre.

Seien Sie jedoch vorsichtig, wenn Unternehmen ein „DevOps-Team“ oder eine „DevOps-Abteilung“ einstellen. Streng genommen sollte es so etwas nicht geben, denn letztendlich ist DevOps immer noch eine Kultur und eine Art der Softwarebereitstellung und nicht die Besetzung eines neuen Teams oder die Schaffung einer Abteilung damit ein schicker Name.

Denial-of-Verantwortung

Lassen Sie uns nun das Glas Kool-Aid für einen Moment beiseite stellen und über Folgendes nachdenken. Kennen Sie das alte Sprichwort „Es gibt keine jungen DevOps-Ingenieure“? Wenn nicht, dann wissen Sie, dass dies ein beliebter Trottel auf Reddit und StackOverflow ist. Aber was bedeutet es?

Einfach ausgedrückt bedeutet dieser Ausdruck, dass es langjähriger Erfahrung in Kombination mit einem soliden Verständnis der Tools bedarf, um letztendlich ein wirklich effektiver Senior DevOps-Praktiker zu werden. Und leider gibt es keine Abkürzung, um das Ziel zu erreichen. Dies ist also kein Versuch, das System auszutricksen – ich glaube nicht, dass es tatsächlich möglich ist, sich als leitender DevOps-Ingenieur mit ein paar Monaten Erfahrung in der Branche auszugeben. Um ein solides Verständnis für sich schnell ändernde Tools und Methoden zu erlangen, ist jahrelange Erfahrung erforderlich, und daran führt kein Weg vorbei. Es gibt jedoch eine nahezu einheitliche (sozusagen modische) Auswahl an Tools und Konzepten, die die meisten Unternehmen verwenden, und darüber werden wir sprechen.

Auch hier sind Werkzeuge etwas anderes als Fertigkeiten. Stellen Sie daher beim Erlernen der Werkzeuge sicher, dass Sie Ihre Fertigkeiten nicht vernachlässigen (Umfragen, Networking, schriftliche Kommunikation, Fehlerbehebung usw.). Am wichtigsten ist, dass wir nicht aus den Augen verlieren, was wir finden wollen – einen Weg, eine vollautomatische digitale Pipeline zu schaffen, die Ideen aufnimmt und sie in umsatzgenerierende Codeteile umwandelt. Dies ist die wichtigste Schlussfolgerung aus diesem gesamten Artikel!

Genug geredet, wann kann ich anfangen?

Nachfolgend finden Sie die DevOps Fundamental Knowledge-Roadmap. Wenn Sie alles beherrschen, was dort dargestellt wird, können Sie sich getrost und ehrlich als DevOps-Ingenieur bezeichnen! Oder ein Cloud-Ingenieur, wenn Ihnen der Name „DevOps“ nicht gefällt.

Wie Sie in sechs Monaten oder noch schneller zum DevOps-Ingenieur werden. Teil 1. Einführung

Diese Karte stellt meine (und wahrscheinlich die der meisten Leute, die in diesem Bereich arbeiten) Vorstellung davon dar, was ein kompetenter DevOps-Ingenieur wissen sollte. Dies ist jedoch nur eine Meinung, und natürlich wird es diejenigen geben, die anderer Meinung sind. Es ist in Ordnung! Wir streben hier nicht nach Perfektion, sondern nach einem soliden Fundament, auf dem wir tatsächlich aufbauen können.

Sie müssen diesen Weg Schritt für Schritt gehen, Schicht für Schicht. Beginnen wir mit den Grundlagen (und fahren wir fort!), indem wir zunächst etwas über die Elemente in Blue lernen – Linux, Python und AWS. Dann, wenn es die Zeit oder die Nachfrage auf dem Arbeitsmarkt erlauben, machen Sie das lila Zeug – Golang und Google Cloud.

Ehrlich gesagt, die grundlegende oberste Schicht ist etwas, das Sie für immer studieren müssen. Das Betriebssystem Linux ist sehr komplex und es dauert Jahre, es zu beherrschen. Python erfordert ständige Übung, um auf dem neuesten Stand zu bleiben. AWS entwickelt sich so schnell weiter, dass das, was Sie heute wissen, erst in einem Jahr Teil Ihres gesamten Wissensportfolios sein wird. Sobald Sie die Grundlagen erlernt haben, gehen Sie zu den eigentlichen Fertigkeiten über. Bitte beachten Sie, dass es insgesamt 6 blaue Spalten (Konfiguration, Version, Verpackung, Bereitstellung, Start, Überwachung) gibt, eine pro Studienmonat.

Wie Sie in sechs Monaten oder noch schneller zum DevOps-Ingenieur werden. Teil 1. Einführung

Ihnen ist natürlich aufgefallen, dass eine wichtige Phase in unserer sechsmonatigen Pipeline fehlt – das Testen. Ich habe es bewusst nicht in die Roadmap aufgenommen, da das Schreiben eines Moduls, Integrations- und Akzeptanztests nicht einfach ist und traditionell auf den Schultern der Entwickler liegt. Und das Überspringen der „Testphase“ erklärt sich aus der Tatsache, dass das Ziel dieser Roadmap darin besteht, grundlegende Fähigkeiten und Werkzeuge so schnell wie möglich zu beherrschen. Mangelnde Testerfahrung sei laut Autor nur ein kleines Hindernis für den richtigen Einsatz von DevOps.

Denken Sie auch daran, dass wir hier nicht eine ganze Reihe unabhängiger technischer Geschwätz lernen, sondern vielmehr ein Verständnis für die Werkzeuge, die zusammenkommen, um eine klare Geschichte zu erstellen. In dieser Geschichte geht es um die End-to-End-Prozessautomatisierung – ein digitales Fließband, das Teile wie ein Fließband bewegt. Sie möchten nicht eine Menge Werkzeuge erlernen und immer wieder aufhören! DevOps-Tools ändern sich schnell, Konzepte ändern sich jedoch deutlich seltener. Daher sollten Sie sich bemühen, Tools als Lehr-Proxys für übergeordnete Konzepte zu verwenden.

Okay, lass uns etwas tiefer graben!

Grundlegendes Wissen

Unter der obersten Stufe mit der Aufschrift „Foundation“ sehen Sie die Fähigkeiten, die jeder DevOps-Ingenieur beherrschen sollte. Diese Fähigkeiten sind der sichere Umgang mit den drei Säulen der Branche: dem Betriebssystem, der Programmiersprache und der Public Cloud. Diese Dinge kann man nicht schnell lernen und weitermachen. Diese Fähigkeiten müssen ständig verbessert und beherrscht werden, um an der Spitze der Branche zu stehen und für das berufliche Umfeld um Sie herum relevant zu sein. Gehen wir sie einzeln durch.

Unter Linux funktioniert alles. Können Sie ein großartiger DevOps-Praktiker sein und gleichzeitig vollständig im Microsoft-Ökosystem bleiben? Sicher kannst du! Es gibt kein Gesetz, das vorschreibt, dass Sie nur Linux verwenden. Bedenken Sie jedoch, dass trotz der Tatsache, dass alle Linux-Aufgaben unter Windows erledigt werden können, dies dort viel mühsamer und mit weniger Funktionalität geschieht. An diesem Punkt kann man mit Sicherheit davon ausgehen, dass es ohne Linux-Kenntnisse unmöglich ist, ein echter DevOps-Profi zu werden, daher ist Linux etwas, das Sie studieren und erlernen sollten.

Ehrlich gesagt ist der beste Weg, dies zu tun, einfach Linux (Fedora oder Ubuntu) zu Hause zu installieren und es so oft wie möglich zu verwenden. Natürlich werden Sie viele Dinge kaputt machen, Sie werden in Arbeitsabläufen stecken bleiben, Sie müssen alles reparieren, aber Sie werden Linux lernen!

Wie Sie in sechs Monaten oder noch schneller zum DevOps-Ingenieur werden. Teil 1. Einführung

RedHat-Varianten sind übrigens in Nordamerika häufiger anzutreffen, daher ist es sinnvoll, mit Fedora oder CentOS zu beginnen. Wenn Sie sich fragen, ob Sie die KDE- oder die Gnome-Edition kaufen sollten, wählen Sie KDE. Dies ist es, was Linus Torvalds selbst verwendet.

Python ist heutzutage die dominierende Backend-Sprache. Der Einstieg ist einfach und die Anwendung ist weit verbreitet. Python ist im Bereich der künstlichen Intelligenz und des maschinellen Lernens weit verbreitet. Wenn Sie also jemals in ein anderes heißes Feld wechseln möchten, sind Sie bestens vorbereitet.

Wie Sie in sechs Monaten oder noch schneller zum DevOps-Ingenieur werden. Teil 1. Einführung

Amazon Web Services: Auch hier ist es unmöglich, ein erfahrener DevOps-Profi zu werden, ohne ein solides Verständnis der Funktionsweise der Public Cloud zu haben. Und wenn Sie mehr darüber erfahren möchten, schauen Sie sich Amazon Web Services an. Es ist ein führender Akteur in diesem Dienstleistungsbereich und bietet die umfangreichste Auswahl an Arbeitstools.

Ist es möglich, stattdessen mit Google Cloud oder Azure zu beginnen? Natürlich kannst du! Wenn man sich jedoch an die letzte Finanzkrise erinnert, sollte man bedenken, dass AWS zumindest im Jahr 2018 die sicherste Option ist, da man damit kostenlos ein Konto registrieren und die Möglichkeiten von Cloud-Diensten erkunden kann. Darüber hinaus bietet die AWS-Konsole dem Benutzer ein einfaches und übersichtliches Menü zur Auswahl. Die gute Nachricht ist, dass Sie dafür nicht alle Technologien von Amazon kennen müssen.

Wie Sie in sechs Monaten oder noch schneller zum DevOps-Ingenieur werden. Teil 1. Einführung

Beginnen Sie mit Folgendem: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing unter dem Dach von EC2) und Security Group. Diese Dinge reichen aus, um Ihnen den Einstieg zu erleichtern, und jedes moderne, cloudbasierte Unternehmen nutzt diese Tools recht aktiv. Die AWS-eigene Schulungsseite ist ein guter Ausgangspunkt.

Ich empfehle Ihnen, jeden Tag 20 bis 30 Minuten mit dem Erlernen und Üben der Python-Sprache, des Linux-Betriebssystems und des AWS-Cloud-Dienstes zu verbringen, zusätzlich zu anderen Dingen, die Sie lernen müssen. Insgesamt glaube ich, dass es ausreicht, fünf Mal pro Woche eine Stunde am Tag zu verbringen, um die DevOps-Branche in sechs Monaten oder weniger zu verstehen. Insgesamt gibt es 6 Hauptbestandteile, die jeweils einem Ausbildungsmonat entsprechen. Das ist alles, was Sie brauchen, um Grundkenntnisse zu erlangen.
In den folgenden Artikeln werden wir uns mit der nächsten Ebene der Komplexität befassen: wie die Konfiguration, Versionierung, Verpackung, Bereitstellung, Ausführung und Überwachung von Software vollständig automatisiert werden kann.

Demnächst geht es weiter...

Einige Anzeigen 🙂

Vielen Dank, dass Sie bei uns geblieben sind. Gefallen Ihnen unsere Artikel? Möchten Sie weitere interessante Inhalte sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder an Freunde weiterempfehlen. Cloud-VPS für Entwickler ab 4.99 $, ein einzigartiges Analogon von Einstiegsservern, das von uns für Sie erfunden wurde: Die ganze Wahrheit über VPS (KVM) E5-2697 v3 (6 Kerne) 10 GB DDR4 480 GB SSD 1 Gbit/s ab 19 $ oder wie teilt man sich einen Server? (verfügbar mit RAID1 und RAID10, bis zu 24 Kerne und bis zu 40 GB DDR4).

Dell R730xd 2-mal günstiger im Equinix Tier IV-Rechenzentrum in Amsterdam? Nur hier 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 GHz 14C 64 GB DDR4 4 x 960 GB SSD 1 Gbit/s 100 TV ab 199 $ in den Niederlanden! Dell R420 – 2x E5-2430 2.2 GHz 6C 128 GB DDR3 2 x 960 GB SSD 1 Gbit/s 100 TB – ab 99 $! Lesen über Wie baut man ein Infrastrukturunternehmen auf? Klasse mit dem Einsatz von Dell R730xd E5-2650 v4 Servern im Wert von 9000 Euro für einen Cent?

Source: habr.com

Kommentar hinzufügen