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

Zielgruppe


Sind Sie ein Entwickler, der seine Karriere auf ein fortschrittlicheres DevOps-Modell ausrichten möchte? Sind Sie ein klassischer Ops-Ingenieur und möchten eine Vorstellung davon bekommen, was DevOps bedeutet? Oder sind Sie weder der eine noch der andere und möchten nach einiger Zeit auf dem Gebiet der IT-Technologien den Arbeitsplatz wechseln und wissen nicht, wo Sie anfangen sollen?
Wenn ja, lesen Sie weiter, um herauszufinden, wie Sie in sechs Monaten ein mittelständischer DevOps-Ingenieur werden können! Wenn Sie schon seit vielen Jahren an DevOps beteiligt sind, können Sie dennoch viele nützliche Informationen aus dieser Artikelserie ziehen und herausfinden, wo sich die Integrations- und Automatisierungsbranche derzeit befindet und wo sie sich entwickeln möchte.



Worum geht es?


Was ist DevOps? Sie können Definitionen googeln und all diese verbalen Hüllen durchgehen. Beachten Sie jedoch, dass die meisten Definitionen nur ein Durcheinander von Wörtern sind, die in einer optimierten Form verpackt sind. Daher werde ich Ihnen einen Auszug aus all diesen Definitionen geben: DevOps ist eine Möglichkeit, Software bereitzustellen, bei der die Kopfschmerzen und die Verantwortung unter allen Beteiligten geteilt werden. Das ist alles.

OK, aber was bedeutet diese Reduzierung überhaupt? Dies bedeutet, dass Entwickler (Personen, die Software erstellen) in ihrer Arbeit traditionell von Anreizen geleitet wurden, die sich erheblich von den Anreizen für den Betrieb unterschieden (Betreiber oder Personen, die Software verwalten). Als Entwickler möchte ich beispielsweise so viele neue Funktionen wie möglich erstellen. Das ist schließlich mein Job, und genau das fordern die Kunden! Wenn ich jedoch eine Ops-Person bin, benötige ich so wenig neue Funktionen wie möglich, da jede neue Funktion eine Änderung darstellt und jede Änderung mit Fehlfunktionen behaftet ist. Als Ergebnis solcher Inkonsistenzanreize wurde DevOps geboren.

DevOps versucht, Entwicklung und Betrieb (Integration und Automatisierung) in einer Gruppe zusammenzufassen. Die Idee ist, dass jetzt eine Gruppe sowohl Schmerz als auch Verantwortung (und wahrscheinlich Belohnung) für das Erstellen, Bereitstellen und Generieren von Einnahmen aus kundenorientierter Software teilt.

Puristen werden Ihnen sagen, dass es keinen „DevOps-Ingenieur“ gibt. „DevOps ist eine Kultur, keine Rolle“, werden sie Ihnen sagen. Natürlich haben sie aus technischer Sicht Recht, aber wie so oft kam dieser Begriff heraus Ein DevOps-Ingenieur ist also eine Art „Systemingenieur 2.0“. Mit anderen Worten, er versteht den Lebenszyklus der Softwareentwicklung und erstellt Softwareentwicklungstools und -prozesse zur Lösung klassischer Betriebsprobleme.



Letztendlich bedeutet DevOps, digitale Pipelines zu erstellen, die Code vom Laptop eines Entwicklers übernehmen und ihn in Einnahmen aus der Verwendung des Endprodukts umwandeln. Das ist der springende Punkt. Achten Sie darauf, dass die Berufswahl von DevOps in hohem Maße durch finanzielle Belohnungen kompensiert wird und fast jedes Unternehmen entweder „DevOps herstellt“ oder dies behauptet. Unabhängig davon, wo sich diese Unternehmen befinden, sind die allgemeinen Beschäftigungsmöglichkeiten als DevOps recht hoch und implizieren für viele Jahre „Spaß“ und eine sinnvolle Beschäftigung.

Seien Sie jedoch vorsichtig mit Unternehmen, die ein „DevOps-Team“ oder eine „DevOps-Abteilung“ einstellen. Genau genommen sollten solche Dinge nicht existieren, da DevOps letztendlich immer noch eine Kultur und ein Weg ist, Software bereitzustellen, anstatt ein neues Team zu besetzen oder zu erstellen Abteilung mit einem modischen Namen.

Verweigerung der Verantwortung


Lassen Sie uns nun für einen Moment ein Glas Cool-Ad beiseite stellen und über Folgendes nachdenken. Haben Sie das alte Sprichwort "Junior DevOps-Ingenieure gibt es nicht?" Gehört? Wenn nicht, beachten Sie, dass dies ein beliebter Pfad für Reddit und StackOverflow ist. Aber was meint er?

In einfachen Worten bedeutet dieser Satz, dass es langjähriger Erfahrung, kombiniert mit einem soliden Verständnis der Werkzeuge, 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 Sie sich als leitender DevOps-Ingenieur mit mehrmonatiger Erfahrung in dieser Branche ausgeben können. Um ein klares Verständnis für sich schnell ändernde Tools und Methoden zu erlangen, sind langjährige Erfahrungen erforderlich, und es führt kein Weg daran vorbei. Es gibt jedoch ein fast konsistentes (modisches, wenn Sie möchten) Menü von Tools und Konzepten, die die meisten Unternehmen verwenden, und dies wird diskutiert.

Auch hier unterscheiden sich die Tools von den Fähigkeiten. Achten Sie also beim Erlernen der Tools darauf, dass Sie Ihre Fähigkeiten nicht vernachlässigen (Umfragen, Vernetzung, schriftliche Kommunikation, Fehlerbehebung usw.). Vergessen Sie vor allem nicht, was wir finden möchten - eine Möglichkeit, eine vollautomatisierte digitale Pipeline zu erstellen, die Ideen aufnimmt und sie in umsatzgenerierende Codefragmente umwandelt. Dies ist die einzige und wichtigste Schlussfolgerung aus diesem gesamten Artikel!

Hör auf zu reden, wann kann ich anfangen?


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



Diese Karte spiegelt meine (und wahrscheinlich die meisten Leute, die in diesem Bereich arbeiten) Ansicht darüber wider, was ein kompetenter DevOps-Ingenieur wissen sollte. Dies ist jedoch nur eine Meinung, und es wird natürlich Meinungsverschiedenheiten geben. Es ist in Ordnung! Hier streben wir nicht nach Spitzenleistungen, sondern nach einer soliden Grundlage, auf der wir wirklich aufbauen können.

Sie müssen diesen Weg schrittweise gehen, Schicht für Schicht. Starten (und fortfahren!) Folgt den Grundlagen und untersucht zunächst die blau markierten Elemente - Linux, Python und AWS. Wenn es die Zeit oder die Nachfrage auf dem Arbeitsmarkt zulässt, machen Sie lila Dinge wie Golang und Google Cloud.

Ehrlich gesagt ist die grundlegende oberste Schicht etwas, das Sie endlos studieren müssen. OS 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, dass das, was Sie heute in einem Jahr wissen, nur Teil Ihres gesamten Wissensportfolios ist. Sobald Sie die Grundlagen gelernt haben, gehen Sie zu einer Reihe von Fähigkeiten über. Bitte beachten Sie, dass es insgesamt 6 blaue Spalten gibt (Konfiguration, Version, Verpackung, Bereitstellung, Start, Überwachung), eine für einen Monat Studium.



Natürlich haben Sie das Fehlen einer wichtigen Phase in unserer sechsmonatigen Pipeline bemerkt - dem Testen. Ich habe es bewusst nicht in die Roadmap aufgenommen, da das Schreiben eines Moduls, Integrations- und Abnahmetests nicht einfach sind und traditionell auf die Schultern der Entwickler fallen. Das Weglassen 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. Der Mangel an Testerfahrung ist laut Autor nur ein kleines Hindernis für die ordnungsgemäße Verwendung von DevOps.

Denken Sie außerdem daran, dass wir hier nicht eine ganze Reihe von nicht verwandten technischen Gerüchten studieren, sondern uns bemühen, die Werkzeuge zu verstehen, die in einem einzigen Bündel eine verständliche Geschichte erstellen. Diese Geschichte ist eine durchgängige Prozessautomatisierung - ein digitaler Förderer, der Bits wie eine Montagelinie bewegt. Sie möchten nicht viele Werkzeuge lernen und ständig aufhören! Das DevOps-Toolkit ändert sich schnell und Konzepte sind weitaus seltener. Daher sollten Sie sich bemühen, Tools als Schulungsproxys für übergeordnete Konzepte zu verwenden.

Okay, lass uns etwas tiefer graben!

Grundkenntnisse


Unter der obersten Stufe mit den Worten Foundation sehen Sie die Fähigkeiten, die jeder DevOps-Ingenieur beherrschen muss. Diese Fähigkeiten sind ein sicherer Umgang mit den drei „Säulen“ der Branche: dem Betriebssystem, der Programmiersprache und der öffentlichen Cloud. Diese Dinge können Sie nicht schnell kennenlernen und weiter gehen. Diese Fähigkeiten müssen ständig verbessert und verbessert werden, um sie zu beherrschen, um an der Spitze der Branche zu stehen und das professionelle Umfeld um Sie herum zu aktualisieren. Lassen Sie uns sie der Reihe nach durchgehen.

In Linux funktioniert alles. Können Sie ein hervorragender DevOps-Praktiker sein, während Sie vollständig im Microsoft-Ökosystem verbleiben? Sicher kannst du! Es gibt kein Gesetz, das nur Linux verwenden würde. Beachten Sie jedoch, dass trotz der Tatsache, dass alle Linux-Aufgaben auch unter Windows ausgeführt werden können, dies dort viel schmerzhafter und mit weniger Funktionalität geschieht. Im Moment können wir davon ausgehen, dass es ohne Linux-Kenntnisse unmöglich ist, ein echter DevOps-Profi zu werden. Daher sollten Sie Linux studieren und studieren.

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 eine Menge Dinge kaputt machen, Sie werden in Arbeitsprozessen stecken bleiben, Sie werden alles reparieren müssen, aber Sie werden Linux lernen!



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

Python ist heutzutage die dominierende Backend-Sprache. Es ist einfach, damit zu beginnen, es 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 Tätigkeitsfeld wechseln möchten, sind Sie darauf vollständig vorbereitet.



Amazon Web Services: Auch hier ist es unmöglich, ein erfahrener DevOps-Profi zu werden, ohne ein solides Verständnis für die Funktionsweise der öffentlichen Cloud zu haben. Wenn Sie mehr darüber erfahren möchten, besuchen Sie Amazon Web Services. Dies ist ein führender Anbieter im Bereich Dienstleistungen, der die umfangreichsten Arbeitsinstrumente anbietet.

Kann ich stattdessen mit Google Cloud oder Azure beginnen? Sicher! Wenn Sie sich jedoch an die jüngste Finanzkrise erinnern, sollten Sie beachten, dass AWS zumindest 2018 die sicherste Option ist, da Sie damit kostenlos ein Konto registrieren und die Funktionen von Cloud-Diensten erkunden können. Darüber hinaus bietet die AWS-Konsole dem Benutzer ein einfaches und intuitives Menü zur Auswahl. Die gute Nachricht ist, dass Sie dafür nicht alle Amazon-Technologien kennen müssen.



Beginnen Sie mit Folgendem: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing unter dem Deckmantel von EC2) und Security Group. Diese Dinge reichen aus, um loszulegen, und jedes moderne, Cloud-basierte Unternehmen nutzt diese Tools aktiv. Die AWS-eigene Schulungsseite ist ein guter Ausgangspunkt.

Ich empfehle, dass Sie täglich 20 bis 30 Minuten mit dem Erlernen und Üben der Python-Sprache, des Linux-Betriebssystems und des AWS-Cloud-Dienstes verbringen, zusätzlich zu anderen Dingen, die Sie lernen müssen. Im Allgemeinen glaube ich, dass es ausreicht, fünfmal pro Woche eine Stunde am Tag zu verbringen, um die Prozesse in der DevOps-Branche für 6 Monate oder weniger zu verstehen. Es gibt insgesamt 6 Hauptkomponenten, von denen jede einem Monat Training entspricht. Dies ist alles, was Sie brauchen, um Grundkenntnisse zu erwerben.
In den folgenden Artikeln werden wir die folgende Komplexitätsstufe betrachten: Wie können Konfiguration, Version, Verpackung, Bereitstellung, Start und Überwachung von Software vollständig automatisiert werden?

So werden Sie in sechs Monaten oder noch schneller DevOps-Ingenieur. Teil 2: Konfiguration

Ein bisschen Werbung :)


Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden Cloud-basiertes VPS für Entwickler ab 4,99 US-Dollar empfehlen , 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 den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).

Dell R730xd 2-mal günstiger im Equinix Tier IV-Rechenzentrum in Amsterdam? Nur wir haben 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 von 199 US-Dollar in den Niederlanden!Dell R420 - 2x E5-2430 2,2 GHz 6C 128 GB DDR3 2x960 GB SSD 1 Gbit / s 100 TB - ab 99 US-Dollar! Lesen Sie, wie Sie eine Infrastruktur aufbauen Klasse C mit Dell R730xd E5-2650 v4-Servern für 9.000 Euro für einen Cent?

All Articles