Zielgruppe
Sind Sie ein Entwickler, der seine Karriere in Richtung eines leistungsfähigeren DevOps-Modells lenken möchte? Sind Sie ein klassischer Ops-Ingenieur und möchten mehr über die Bedeutung von DevOps erfahren? Oder sind Sie weder das eine noch das andere und haben einige Zeit im IT-Bereich gearbeitet, aber wissen nicht, wo Sie anfangen sollen, um den Job zu wechseln?
Wenn ja, dann lesen Sie weiter, um zu erfahren, wie Sie in sechs Monaten ein DevOps-Ingenieur auf mittlerem Niveau werden können! Schließlich, wenn Sie schon seit vielen Jahren im DevOps-Bereich tätig sind, werden Sie trotzdem viele nützliche Informationen aus dieser Artikelreihe mitnehmen können und erfahren, wo die Branche der Integration und Automatisierung derzeit steht und wohin sie sich entwickelt.

Was ist das überhaupt?
Zunächst einmal, was ist DevOps? Sie können online nach Definitionen suchen und sich durch all diesen Wortsalat kämpfen, aber wissen Sie, dass die meisten Definitionen lediglich ein Wirrwarr aus Worten sind, verpackt in einer eleganten Form. Hier ist also die Essenz aller diese Definitionen: DevOps ist ein Ansatz zur Bereitstellung von Software, bei dem der Schmerz und die Verantwortung auf alle Beteiligten verteilt werden. Das ist alles.
Gut, aber was bedeutet diese Abkürzung eigentlich? Sie bedeutet, dass traditionell Entwickler (die Personen, die Software erstellen) in ihrer Arbeit von Anreizen geleitet wurden, die sich erheblich von jenen der Operations (der Personen, die die Software verwalten) unterscheiden. Als Entwickler möchte ich beispielsweise so schnell wie möglich so viele neue Funktionen wie möglich erstellen. Schließlich ist das meine Aufgabe, und genau das verlangen die Kunden! Wenn ich jedoch in der Operations-Abteilung arbeite, möchte ich möglichst wenige neue Funktionen, weil jede neue Funktion eine Veränderung darstellt und jede Veränderung das Potenzial für Probleme birgt. Aus diesem Missverhältnis der Anreize ist DevOps entstanden.
DevOps versucht, Entwicklung und Betrieb (Integration und Automatisierung) in einer Gruppe zu vereinen. Die Idee ist, dass nun eine Gruppe sowohl den Schmerz als auch die Verantwortung (und wahrscheinlich auch die Belohnung) für die Erstellung, Bereitstellung und Monetarisierung von kundenorientierter Software teilt.
Puristen werden Ihnen sagen, dass es so etwas wie einen "DevOps-Ingenieur" nicht gibt. "DevOps ist eine Kultur, keine Rolle", werden sie Ihnen sagen. In technischer Hinsicht haben sie sicherlich recht, doch wie so oft hat dieser Begriff seine ursprüngliche Bedeutung überschritten. Ein DevOps-Ingenieur ist also eine Art "Systemingenieur 2.0". Mit anderen Worten, es ist jemand, der den Lebenszyklus der Softwareentwicklung versteht und Werkzeuge sowie Prozesse für die Softwareentwicklung schafft, um klassische Betriebsaufgaben zu lösen.

DevOps bedeutet letztendlich die Schaffung digitaler Pipelines, die den Code vom Laptop eines Entwicklers nehmen und ihn in Einnahmen durch die Nutzung des Endprodukts umwandeln – darum geht es. Es ist wichtig zu beachten, dass eine Karriere im DevOps-Bereich finanziell sehr gut honoriert wird, und fast jedes Unternehmen entweder "DevOps" praktiziert oder sich damit rühmt. Unabhängig davon, wo sich diese Unternehmen befinden, sind die allgemeinen Beschäftigungsmöglichkeiten im DevOps-Bereich recht hoch und bieten eine "spaßige" und bedeutungsvolle Anstellung für viele Jahre.
Seien Sie jedoch vorsichtig mit Unternehmen, die ein "DevOps-Team" oder eine "DevOps-Abteilung" einstellen. Streng genommen sollten solche Dinge nicht existieren, da DevOps letztendlich eine Kultur und eine Methode zur Bereitstellung von Software ist, nicht die Schaffung eines neuen Teams oder einer Abteilung mit einem modischen Namen.
Haftungsausschluss
Lassen Sie uns für einen Moment den Cool-Aid-Becher beiseitelegen und über Folgendes nachdenken. Haben Sie das alte Sprichwort gehört, dass es keine Junior DevOps-Ingenieure gibt? Wenn nicht, dann wissen Sie, dass dies ein beliebtes Thema auf Reddit und StackOverflow ist. Aber was bedeutet es?
Einfach gesagt, bedeutet dieser Satz, dass es viele Jahre Erfahrung und ein fundiertes Verständnis der Werkzeuge benötigt, um letztendlich wirklich ein effektiver Senior DevOps-Praktiker zu werden. Leider gibt es keinen schnellen Weg zum Ziel. Das ist kein Versuch, das System zu täuschen – ich glaube nicht, dass man wirklich vorgeben kann, ein Senior DevOps-Ingenieur mit nur wenigen Monaten Erfahrung in diesem Bereich zu sein. Ein klares Verständnis der sich schnell verändernden Werkzeuge und Methoden erfordert jahrelange Erfahrung, der man sich nicht entziehen kann. Es gibt jedoch eine weitgehend anerkannte (modische, wenn Sie so wollen) Auswahl an Werkzeugen und Konzepten, die die meisten Unternehmen verwenden, und genau darum wird es hier gehen.
Werkzeuge und Fähigkeiten sind nicht dasselbe. Während Sie also die Werkzeuge erlernen, sollten Sie Ihre Fähigkeiten (z.B. Befragungen, Networking, schriftliche Kommunikation, Problemlösung usw.) nicht vernachlässigen. Wichtig ist, dass wir einen Weg finden, um eine vollständig automatisierte digitale Pipeline zu schaffen, die Ideen aufnimmt und sie in umsatzgenerierende Code-Schnipsel verwandelt. Das ist die einzige und wichtigste Erkenntnis aus diesem Artikel!
Genug geredet, wann kann ich anfangen?
Hier ist die Roadmap für 'Grundlegende DevOps-Kenntnisse'. Wenn Sie alles, was dort dargestellt ist, beherrschen, können Sie sich stolz und ehrlich als DevOps-Ingenieur bezeichnen! Oder als Cloud-Ingenieur, wenn Ihnen der Titel 'DevOps' nicht gefällt.

Diese Karte beschreibt meine (und wahrscheinlich die vieler Menschen, die in diesem Bereich tätig sind) Vorstellung davon, was ein kompetenter DevOps-Ingenieur wissen sollte. Natürlich ist dies nur eine Meinung, und es wird sicher auch abweichende Ansichten geben. Das ist in Ordnung! Wir streben hier nicht nach Perfektion, sondern nach einem soliden Fundament, auf dem man wirklich aufbauen kann.
Sie sollten diesen Weg schrittweise, Schicht für Schicht gehen. Beginnen Sie mit den grundlegenden Grundlagen, indem Sie sich zuerst die in Blau markierten Elemente – Linux, Python und AWS – aneignen. Wenn es die Zeit oder die Nachfrage auf dem Arbeitsmarkt zulässt, kümmern Sie sich um die violetten Themen – Golang und Google Cloud.
Ehrlich gesagt ist die fundamentale Schicht etwas, das Sie endlos studieren müssen. Das Linux-Betriebssystem ist sehr komplex und es dauert Jahre, es zu meistern. Python erfordert ständige Übung, um auf dem neuesten Stand zu bleiben. AWS entwickelt sich so schnell, dass das Wissen von heute in einem Jahr nur einen Teil des gesamten Wissensportfolios ausmachen wird. Sobald Sie die Grundlagen beherrschen, wechseln Sie zu einem realen Satz von Fähigkeiten. Beachten Sie, dass es insgesamt 6 blaue Spalten gibt (Konfiguration, Version, Paketierung, Bereitstellung, Betrieb, Überwachung), eine für jeden Studienmonat.

Sie haben sicherlich das Fehlen einer wichtigen Phase in unserem sechsmonatigen Zeitplan bemerkt – die Testphase. Ich habe diese absichtlich nicht in die Roadmap aufgenommen, da das Schreiben des Moduls, die Integration und die Abnahmetests oft anspruchsvoll sind und traditionell in den Händen der Entwickler liegen. Der Verzicht auf die Phase 'Testen' ist damit zu erklären, dass das Ziel dieser Roadmap darin besteht, die grundlegenden Fähigkeiten und Werkzeuge so schnell wie möglich zu erlernen. Mangelnde Erfahrung im Testen stellt, meiner Meinung nach, nur ein geringfügiges Hindernis für die richtige Nutzung von DevOps dar.
Bitte denken Sie daran, dass wir hier kein wirres technisches Gerede analysieren, sondern darauf abzielen, die Werkzeuge zu verstehen, die zusammen eine klare Geschichte erzählen. Diese Geschichte ist die durchgängige Automatisierung des Prozesses – ein digitaler Conveyor, der Daten so bewegt wie eine Produktionslinie. Sie wollen doch nicht eine Vielzahl von Werkzeugen erlernen und ständig innehalten! Das DevOps-Werkzeugset verändert sich schnell, während die Konzepte weit weniger häufig wechseln. Daher sollten Sie die Werkzeuge als Bildungsproxies für übergeordnete Konzepte nutzen.
Okay, lassen Sie uns etwas tiefer graben!
Grundlegendes Wissen
Unter der oberen Stufe mit der Aufschrift Foundation finden Sie die Fähigkeiten, die jeder DevOps-Ingenieur beherrschen sollte. Diese Fähigkeiten beziehen sich auf die drei „Säulen“ der Branche: Betriebssystem, Programmiersprache und öffentliches Cloud-Computing. Diese Aspekte sind nicht etwas, das man schnell erlernen und dann hinter sich lassen kann. Sie müssen kontinuierlich verfeinert und perfektioniert werden, um an der Spitze der Branche zu bleiben und Ihr berufliches Umfeld aktuell zu halten. Lassen Sie uns diese Punkte nacheinander durchgehen.
Linux ist der Bereich, in dem alles funktioniert. Können Sie außergewöhnlicher DevOps-Praktiker sein, während Sie vollständig im Microsoft-Ökosystem bleiben? Natürlich können Sie das! Es gibt kein Gesetz, das vorschreibt, nur Linux zu verwenden. Seien Sie sich jedoch bewusst, dass, obwohl alles, was man mit Linux tun kann, auch in Windows möglich ist, es dort viel schwieriger und mit weniger Funktionalitäten geschieht. Derzeit können wir mit Sicherheit sagen, dass ohne Kenntnisse in Linux ein wahrer DevOps-Profi nicht möglich ist, weshalb Linux etwas ist, das Sie studieren und meistern sollten.
Um ehrlich zu sein, der beste Weg, dies zu tun, ist, einfach Linux (Fedora oder Ubuntu) zu Hause zu installieren und es so oft wie möglich zu nutzen. Natürlich werden Sie eine Menge Dinge schrotten, in Arbeitsabläufen stecken bleiben und vieles reparieren müssen, aber so lernen Sie Linux kennen!

Übrigens sind in Nordamerika Varianten von RedHat weiter verbreitet, daher macht es Sinn, mit Fedora oder CentOS zu beginnen. Wenn Sie sich fragen, ob Sie die KDE- oder Gnome-Edition erwerben sollten, wählen Sie KDE. Das ist, was Linus Torvalds selbst verwendet.
Python ist heutzutage die dominierende Backend-Sprache. Es ist einfach, damit zu beginnen, und wird weit verbreitet verwendet. Python ist sehr populär im Bereich Künstliche Intelligenz und maschinelles Lernen, also sind Sie bestens gerüstet, falls Sie in ein weiteres gefragtes Tätigkeitsfeld wechseln möchten.

Amazon Web Services: Es ist nahezu unmöglich, ein erfahrener DevOps-Experte zu werden, ohne ein fundiertes Verständnis dafür zu haben, wie öffentliche Cloud-Dienste funktionieren. Wenn Sie so viel wie möglich darüber lernen möchten, sollten Sie sich mit Amazon Web Services vertraut machen. Es ist ein führender Anbieter in diesem Bereich mit dem umfangreichsten Set an Arbeitswerkzeugen.
Kann ich stattdessen mit Google Cloud oder Azure anfangen? Natürlich! Aber im Hinblick auf die letzte Finanzkrise sollten Sie bedenken, dass AWS die sicherste Option ist, zumindest im Jahr 2018, da es Ihnen ermöglicht, ein Konto kostenlos zu registrieren und die Möglichkeiten der Cloud-Dienste zu erkunden. Darüber hinaus bietet die AWS-Konsole ein einfaches und übersichtliches Menü zur Auswahl. Die gute Nachricht ist, dass Sie dafür nicht alle Technologien von Amazon kennen müssen.

Beginnen Sie mit Folgendem: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing hinter EC2) und Sicherheitsgruppe. Diese Dinge sind ausreichend, um zu beginnen, und jedes moderne, cloudbasierte Unternehmen verwendet diese Werkzeuge sehr aktiv. Die offizielle AWS-Schulungswebsite ist ein guter Ausgangspunkt.
Ich empfehle Ihnen, täglich 20-30 Minuten mit der Programmiersprache Python, dem Betriebssystem Linux und dem Cloud-Service AWS zu verbringen, zusätzlich zu anderen Themen, die Sie erlernen müssen. Insgesamt halte ich es für ausreichend, fünfmal pro Woche eine Stunde zu investieren, um die in der DevOps-Branche ablaufenden Prozesse in sechs Monaten oder sogar weniger zu verstehen. Es gibt insgesamt sechs grundlegende Komponenten, wobei jede für einen Monat des Lernens steht. Das sind alle Kenntnisse, die Sie benötigen, um die Grundlagen zu beherrschen.
In den folgenden Artikeln werden wir das nächste Schwierigkeitsniveau behandeln: wie man die Konfiguration, Versionierung, Paketierung, Bereitstellung, Ausführung und Überwachung von Software vollständig automatisiert.
Die Fortsetzung kommt in Kürze...
Ein wenig Werbung 🙂
Danke, dass Sie bei uns bleiben. Gefallen Ihnen unsere Artikel? Möchten Sie mehr interessante Inhalte sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder uns Ihren Freunden empfehlen. , eine einzigartige Alternative zu Einsteiger-Servern, die wir für Sie entwickelt haben: (Verfügbar sind Optionen mit RAID1 und RAID10, bis zu 24 Kerne und bis zu 40GB DDR4).
Dell R730xd im Equinix Tier IV Rechenzentrum in Amsterdam zum halben Preis? Nur bei uns in den Niederlanden! Dell R420 — 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — ab 99 $! Lesen Sie darüber
Quelle: habr.com
