Dies ist eine Schritt-für-Schritt-Anleitung, wie Sie DevOps-Ingenieur werden, mit Links zu relevanten Lernressourcen.
Wenn Sie mehr über DevOps erfahren möchten, abonnieren Sie unbedingt meinen Newsletter .
Wenn Sie dieses Repository hilfreich finden, denken Sie darüber nach, mich auf Patreon zu unterstützen:
Der Zweck dieser Roadmap besteht darin, Ihnen einen Eindruck von der Landschaft zu vermitteln. Die Roadmap hilft Ihnen, wenn Sie nicht wissen, was Sie als Nächstes lernen sollen, und ermutigt Sie nicht, sich für das zu entscheiden, was angesagt und im Trend liegt. Sie sollten ein gewisses Verständnis dafür entwickeln, warum ein Werkzeug für bestimmte Fälle besser geeignet ist als das andere, und bedenken Sie, dass Hype und Trend nicht immer bedeuten, dass es für die jeweilige Aufgabe am besten geeignet ist.
Wenn Ihnen dieses Projekt gefällt oder Sie es zum Lernen oder Starten Ihrer Lösung verwenden, geben Sie ihm bitte einen Stern. Danke!
PDF-Version herunterladen.
Lernressourcen für DevOps-Ingenieure (meist kostenlos)
1. GIT
2. Lernen Sie eine Programmiersprache
3. Lernen Sie Linux und Scripting
4. Lernen Sie Netzwerk und Sicherheit
5. Lernen Sie Serververwaltung
6. Lernen Sie Container
7. Lernen Sie die Container-Orchestrierung kennen
8. Lernen Sie Infrastruktur als Code
9. Lernen Sie CI/CD
10. Lernen Sie Überwachung und Beobachtbarkeit
11. Lernen Sie einen Cloud-Anbieter kennen
12. Lernen Sie Software-Engineering-Praktiken
Zusätzliche Ressourcen
Werkzeuge
Bücher
Alle Ihre Ressourcen (Dateien) werden in einem GIT-Repository gespeichert. Bei diesen Dateien handelt es sich um Anwendungscode , aber auch um Infrastructure-as-a-Code .
Git ist ein kostenloses Tool zur Quellcodeverwaltung. Git wird zum Verfolgen von Änderungen im Quellcode verwendet, sodass mehrere Entwickler bei der nichtlinearen Entwicklung zusammenarbeiten können.
Die beiden beliebtesten Git-Plattformen sind GitLab und GitHub .
Hier müssen Sie Git-Befehle wie Git Clone, Branch, Merge und die Zusammenarbeit an einem Projekt mit Pull Requests erlernen.
Ressourcen:
Pro Git-Buch KOSTENLOS
Lernen Sie Git von Atlassian KOSTENLOS
Lernen Sie Git Branching KOSTENLOS
Lernen Sie Git und GitHub KOSTENLOS auf der CodeAcademy
Git Command Explorer KOSTENLOS
Git Immersion KOSTENLOS
Eine kostenlose visuelle Git-Referenz
Als Ingenieur empfiehlt es sich, mindestens eine Programmiersprache zu kennen, mit der Sie Automatisierungsskripte schreiben können.
Einige beliebte Programmiersprachen für DevOps-es sind Python, Go und JavaScript .
Python ist eine Multiparadigmensprache. Da es sich um eine interpretierte Sprache handelt, wird Code ausgeführt, sobald er geschrieben wird, und die Syntax ermöglicht das Schreiben von Code auf unterschiedliche Weise. Python wird häufig als erste Sprache empfohlen, die neue Programmierer lernen sollten, da der Schwerpunkt auf Lesbarkeit, Konsistenz und Benutzerfreundlichkeit liegt.
Hier müssen Sie grundlegende Konzepte von Programmiersprachen erlernen, wie Syntax, if/else, Schleifen, Datenstrukturen usw.
Ressourcen:
Automatisieren Sie langweilige Dinge mit dem KOSTENLOSEN Python-Buch
Python-Crashkurs KOSTENLOS
Das moderne JavaScript-Tutorial KOSTENLOS
JavaScript-Crashkurs für Anfänger KOSTENLOS
Eloquent JavaScript, 3. Auflage, KOSTENLOSES Buch von Marjin Haverbeke
Gehen Sie KOSTENLOS mit gutem Beispiel voran
Ein Betriebssystem dient als Brücke zwischen dem Benutzer eines Computers und seiner Hardware. Seine Funktion besteht darin, eine Umgebung bereitzustellen, in der ein Benutzer Programme bequem und effektiv ausführen kann.
Da die meisten Server das Betriebssystem Linux verwenden, müssen Sie sich mit Linux und seiner CLI vertraut machen.
Eine einfach zu startende Distribution ist Ubuntu .
Darüber hinaus müssen Sie sich mit der Skripterstellung auskennen, um Aufgaben für Entwicklung und Betrieb zu automatisieren.
Hier können Sie betriebssystemspezifische Sprachen wie Bash oder Powershell oder unabhängige Sprachen wie Python oder Go lernen.
Ressourcen:
Betriebssystem – Übersicht KOSTENLOS
Kostenloses Shell-Scripting-Tutorial
Powershell-Tutorial für Anfänger: Lernen Sie Powershell-Skripting KOSTENLOS
Bash-Referenzhandbuch KOSTENLOS
Ultimativer Leitfaden: Erste Schritte mit Ubuntu FREE
FreeBSD-Handbuch KOSTENLOS
KOSTENLOSES Linux-Befehlshandbuch
Ein Netzwerkprotokoll ist ein festgelegter Satz von Regeln, die bestimmen, wie Daten zwischen verschiedenen Geräten im selben Netzwerk übertragen werden. Im Wesentlichen ermöglicht es die Kommunikation miteinander verbundener Geräte, unabhängig von Unterschieden in ihren internen Prozessen, ihrer Struktur oder ihrem Design.
Hier müssen Sie wissen, wie ein Netzwerk funktioniert, wie Sie Firewalls konfigurieren, wie DNS funktioniert, OSI-Modell , IP-Adressen, Ports usw.
Ressourcen:
OSI-Modell KOSTENLOS erklärt
Buch „Computernetzwerke: Ein Top-Down-Ansatz“ mit Videoinhalten
TCP/IP- und Netzwerkgrundlagen für IT-Profis Pluralsight-Kurs
DevSecOps: Meister der Sicherung von CI/CD | DevOps Pipeline Udemy-Kurs
Praxisnahe Sicherheit in DevOps: Sorgen Sie mit dem DevSecOps Book für kontinuierliche Sicherheit, Bereitstellung und Bereitstellung
DevOps sichern: Sicherheit im Cloud -Buch
Das Servermanagement umfasst die gesamte Infrastrukturüberwachung und -wartung, die für den zuverlässigen Betrieb der Server und mit optimaler Leistung erforderlich sind. Die Hauptziele einer effektiven Serververwaltungsstrategie sind:
Minimieren Sie Serververlangsamungen und Ausfallzeiten und maximieren Sie gleichzeitig die Zuverlässigkeit.
Erstellen Sie sichere Serverumgebungen.
Skalieren Sie Server und zugehörige Vorgänge, um den Anforderungen der Organisation im Laufe der Zeit gerecht zu werden.
Hier müssen Sie wissen, was Forward- und Reverse-Proxys sind, Caching-Server und wie man Webserver wie Nginx, Apache oder IIS betreibt.
Ressourcen:
Was ist ein Reverse-Proxy? FREI
Cache-Server KOSTENLOS
Reverse Proxy vs. Forward Proxy: Die Unterschiede KOSTENLOS
Was ist Lastausgleich? FREI
Was ist eine Firewall? FREI
Das NGINX-Handbuch KOSTENLOS
Lernen Sie Apache Server KOSTENLOS
Lernen Sie IIS KOSTENLOS
Ein Container ist eine Standardsoftwareeinheit, die Code und alle seine Abhängigkeiten verpackt, sodass die Anwendung schnell und zuverlässig von einer Computerumgebung in eine andere ausgeführt werden kann.
Docker ist heute mit Abstand die beliebteste Containertechnologie. Ein Docker-Container-Image ist ein leichtes, eigenständiges, ausführbares Softwarepaket, das alles enthält, was zum Ausführen einer Anwendung erforderlich ist: Code, Laufzeit, Systemtools, Systembibliotheken und Einstellungen. Hier müssen Sie wissen, wie Sie Container, Docker-Netzwerke, Volumes und Docker-Dateien ausführen und mehrere Container mit Docker-Compose ausführen.
Ressourcen:
Was sind Container? FREI
Container von Grund auf KOSTENLOS lernen
Docker-Tutorial für Anfänger von TechWorld mit Nana KOSTENLOS
Docker Mastery: mit Kubernetes + Swarm aus einem Docker Captain Udemy-Kurs
Was ist Service Mesh? FREI
DevOps mit Kubernetes KOSTENLOS
Container-Orchestrierung automatisiert die Bereitstellung, Verwaltung, Skalierung und Vernetzung von Containern.
Container-Orchestrierung kann in jeder Umgebung verwendet werden, in der Sie Container verwenden. Es kann Ihnen dabei helfen, dieselbe Anwendung in verschiedenen Umgebungen bereitzustellen, ohne sie neu entwerfen zu müssen. Und Microservices in Containern erleichtern die Orchestrierung von Services, einschließlich Speicher, Netzwerk und Sicherheit.
Hier erfahren Sie, wie Kubernetes funktioniert und wie Sie den Kubernetes-Cluster verwalten und Anwendungen darauf bereitstellen.
Ressourcen:
Kubernetes-Crashkurs für absolute Anfänger von TechWorld mit Nana KOSTENLOS
Einführung: Wie Kubernetes entstand, was es ist und warum Sie sich für diesen Artikel interessieren sollten
Zertifizierter Kubernetes-Administrator (CKA) mit Übungstests Udemy-Kurs
Lernen Sie Kubernetes – Anfänger bis Fortgeschrittene mit dem KodeKloud- Kurs
Erfahren Sie, wann Sie Cluster Services, Ingresses oder API Gateways KOSTENLOS nutzen sollten
Verstehen Sie, welche Probleme Service Mesh löst (Verwenden Sie eine KOSTENLOSE Abstraktion von smi-spec.io).
Erfahren Sie, wie Sie TLS und DNS FREE automatisieren
Kubernetes Up and Running Book
Kubernetes Learning Path – 50 Tage von Null zum Helden von Microsoft KOSTENLOS
Manchmal auch als IaC bezeichnet, bezieht es sich auf die Techniken und Tools, die zur Definition der Infrastruktur verwendet werden, typischerweise in einer Auszeichnungssprache wie YAML oder JSON. Infrastructure as Code ermöglicht es Ingenieuren, den Aufbau und Abbau der Umgebung zu automatisieren. Beschleunigt und verringert das Risiko der Bereitstellung durch Bereitstellung von Gold-Copy-Umgebungen nach Bedarf.
Terraform ist das beliebteste Tool zur Infrastrukturbereitstellung, es gibt aber auch andere wie Ansible, Chef, Puppet und Vagrant.
Hier müssen Sie wissen, wie Sie die Infrastrukturbereitstellung und das Konfigurationsmanagement durchführen.
Ressourcen:
GUIs, CLI, APIs: Lernen Sie KOSTENLOS die Grundbegriffe von Infrastructure-as-Code kennen
Offizielle Terraform-Tutorials KOSTENLOS
Eine umfassende Anleitung zu Terraform KOSTENLOS
Automatisieren Sie die Terraform-Dokumentation wie ein Profi! FREI
KOSTENLOS wiederverwendbare Terraform-Module schreiben
Was ist Istio? FREI
Puppenübersicht KOSTENLOS
Puppenkurse KOSTENLOS und BEZAHLT
Erste Schritte mit Ansible KOSTENLOS
Ansible-Grundlagen erlernen
Beginnen Sie mit Red Hat Ansible KOSTENLOS und BEZAHLT
Mastering Ansible Udemy-Kurs
Lernen Sie Koch KOSTENLOS
Continuous Integration/Continuous Deployment (CI/CD) ist eine Methode zur häufigen Bereitstellung von Apps an Kunden durch die Einführung einer Automatisierung in den Phasen der App-Entwicklung. CI/CD ist eine Lösung für die Probleme, die die Integration neuen Codes für Entwicklungs- und Betriebsteams verursachen kann.
CI/CD führt eine kontinuierliche Automatisierung und kontinuierliche Überwachung während des gesamten Lebenszyklus von Apps ein, von der Integrations- und Testphase bis hin zur Bereitstellung und Bereitstellung. Diese verbundenen Praktiken werden oft als „ CI/CD-Pipeline “ bezeichnet und von Entwicklungs- und Betriebsteams unterstützt.
Es gibt verschiedene Phasen einer CI/CD-Pipeline, wie zum Beispiel: Erstellen, Testen und Bereitstellen , aber es könnten noch viel mehr Aktivitäten enthalten sein:
Code aus der Versionskontrolle prüfen und erstellen
Bereitstellung von Toren für verschiedene Arten von Genehmigungen
Umgebungsvariablen verwalten
Dienste neu starten
Durchführung von Tests
Und mehr...
Hier müssen Sie lernen, wie Sie einen CI/CD-Server einrichten, Code integrieren und Pipelines automatisch auslösen sowie Tools zur Build- und Paketverwaltung erstellen.
Einige beliebte CI/CD-Tools sind Jenkins, TeamCity, CircleCI, Bamboo, GitLab und Azure DevOps.
Ressourcen:
Kontinuierliche Integration KOSTENLOS
CI/CD-Pipeline: Eine sanfte Einführung KOSTENLOS
Lernen Sie GitLab mit KOSTENLOSEN Tutorials
Beginnen Sie mit GitLab CI/CD KOSTENLOS
Jenkins, From Zero To Hero: Werden Sie ein DevOps Jenkins Master Udemy-Kurs
Erfahren Sie KOSTENLOS GitHub-Aktionen
Workflow-Syntax für GitHub-Aktionen KOSTENLOS
Lernen Sie Azure DevOps KOSTENLOS
GitLab-Cheatsheets KOSTENLOS
Zur Überwachung gehört die Überwachung des gesamten Entwicklungsprozesses von der Planung über die Entwicklung, Integration und Tests bis hin zur Bereitstellung und dem Betrieb. Dabei handelt es sich um eine vollständige Echtzeitansicht des Status von Anwendungen, Diensten und Infrastruktur in der Produktionsumgebung.
Dies ist besonders wichtig, wenn sich unsere Software in der Produktion befindet und wir alle Arten von Problemen in unserer Infrastruktur und Anwendung verfolgen müssen.
Die beiden beliebtesten Tools sind Prometheus und Grafana .
Hier müssen Sie wissen, wie Sie die Überwachung einrichten und Daten visualisieren.
Ressourcen:
Was ist Beobachtbarkeit? Umfassender Leitfaden für Anfänger KOSTENLOS
Das Wie, Warum und Was der Überwachung von Microservices KOSTENLOS
DevOps-Überwachung KOSTENLOS
Anwendung grundlegender vs. fortgeschrittener Überwachungstechniken KOSTENLOS
Lernen Sie Prometheus KOSTENLOS
Lernen Sie Grafana KOSTENLOS
Elastic Stack KOSTENLOS
Cloud-Anbieter stellen eine Ebene von APIs zur Verfügung, um die Infrastruktur zu abstrahieren und sie basierend auf Sicherheits- und Abrechnungsgrenzen bereitzustellen. Die Cloud läuft auf Servern in Rechenzentren, aber die Abstraktionen erwecken geschickt den Anschein, als würde sie mit einer einzelnen „Plattform“ oder einer großen Anwendung interagieren. Die Fähigkeit, Ressourcen bei Cloud-Anbietern schnell bereitzustellen, zu konfigurieren und zu sichern, war sowohl für den enormen Erfolg als auch für die Komplexität moderner DevOps von entscheidender Bedeutung.
Die beliebtesten Cloud-Anbieter auf dem Markt sind AWS und Azure sowie Google Cloud .
Hier müssen Sie wissen, wie Sie Benutzer und Administration, Netzwerke, virtuelle Server usw. verwalten.
Ressourcen:
Prüfung AZ-900: Microsoft Azure Fundamentals KOSTENLOS
KOSTENLOSER Microsoft Azure Fundamentals-Zertifizierungskurs (AZ-900).
AZ-900 | Vollständiger Microsoft Azure-Grundlagenkurs, kostenlose Übungstests, Website und Studienhandbücher KOSTENLOS
Ultimativer AWS Certified Cloud Practitioner – 2022 Udemy
AWS-Entwickler von A Cloud Guru Lernpfad
Als DevOps-Ingenieur werden Sie wahrscheinlich in einem Team mit anderen Entwicklern in einer agilen Welt wie Scrum zusammenarbeiten. Daher ist es sehr wichtig, die verschiedenen Teile von SDLC sowie die dort verwendeten Tools zu kennen.
Darüber hinaus wäre es gut zu wissen, wie Automatisierungstests funktionieren, da Sie sie im CI/CD-Stil einrichten müssen.
Hier müssen Sie wissen, was Scrum ist, alle Phasen von SDLC , wie Automatisierungstests funktionieren usw.
Ressourcen:
Was ist Scrum? FREI
Möglichkeiten , KOSTENLOS etwas über Scrum zu lernen
Phasen und Modelle des Software Development Life Cycle (SDLC) KOSTENLOS
Der Anfängerleitfaden zu Agile in Jira: Kursbeschreibung KOSTENLOS
Lernen Sie SAFe KOSTENLOS
Lernen Sie Automatisierungstests KOSTENLOS
GitLab – Anfängerleitfaden für DevOps KOSTENLOS
Gängige SDLC-Modelle KOSTENLOS
Arbeitsverfolgung :** Asana, Monday, Jira, Trello, Azure Boards.
Quellcodeverwaltung : Git, Github, GitLab, BitBucket, Azure DevOps.
CI/CD : Jenkins, Team City, Github Actions, Travis CI, Bamboo, Circle CI, Azure Pipelines, Octopus Deploy, Harness, CloudBees CodeShip.
Quellcode-Analyse : SonarQube, Veracode.
Artefaktverwaltung : Artifactory, Docker Container Register, npm, Yarn, NuGet.
Konfigurationsmanagement : Terraform, Ansible, Puppet, Chef.
Container-Orchestrierung : Docker, Kubernetes, Red Hat OpenShift.
Überwachung : Prometheus, Grafana, Splunk, Dynatrace, Kibana.
Das DevOps-Handbuch: So schaffen Sie erstklassige Agilität, Zuverlässigkeit und Sicherheit in Technologieorganisationen , Gene Kim, Patrick Debois, John Willis, Jez Humble
Das Buch stellt Produktentwicklung, Qualitätssicherung, IT-Betrieb und Informationssicherheit vor. Es ist eine großartige Lektüre für diejenigen, die neu bei DevOps sind oder mehr darüber erfahren möchten, wie die verschiedenen Komponenten von DevOps zusammenarbeiten.
Accelerate: Die Wissenschaft von Lean Software und DevOps: Aufbau und Skalierung leistungsstarker Technologieorganisationen , Nicole Forsgren, Jez Humble, Gene Kim
Dieses Buch präsentiert sowohl die Ergebnisse als auch die Wissenschaft hinter der Messung der Softwarebereitstellungsleistung. Für die Förderung von DevOps im oberen Management ist es ein fantastisches Tool.
Kontinuierliche Bereitstellung: Zuverlässige Software-Releases durch Build-, Test- und Bereitstellungsautomatisierung , Jez Humble, David Farley
Es führt automatisiertes Architekturmanagement und Datenmigration ein. Viele der inzwischen zum Standard gewordenen Deployment-Pipeline-Konzepte wurden in diesem Buch etabliert. Config as Code, Build- und Deployment-Automatisierung sowie effiziente Testtechniken werden in einigen technischen Details behandelt. Es handelt sich überwiegend um ein technisches Buch.
Teamtopologien: Organisation von Geschäfts- und Technologieteams für einen schnellen Ablauf , Matthew Skelton, Manuel Pais
In dem Buch geht es darum, wie man Teams so organisiert, dass ein schneller Mehrwert für die Kunden gewährleistet ist. Es bietet einen Satz von vier grundlegenden Teamtopologien: Stream-Aligned Teams, Enabling Teams, Complicated-Subsystem Teams und Platform Teams, die kombiniert und an unterschiedliche organisatorische Kontexte angepasst werden können.
Effektive DevOps: Aufbau einer Kultur der Zusammenarbeit, Affinität und Tools im großen Maßstab , Jennifer Davis, Ryn Daniels
Das Buch bietet wirksame Möglichkeiten zur Verbesserung der Teamkoordination. Es zeigt, wie Sie Informationssilos aufbrechen, Beziehungen überwachen und Missverständnisse beheben können, die zwischen und innerhalb von Teams in Ihrem Unternehmen auftreten.
Das Phoenix-Projekt: Ein Roman über IT, DevOps und die Unterstützung Ihres Unternehmens zum Erfolg , Gene Kim, Kevin Behr, George Spafford
Es ist ein klassischer Roman über Effektivität und Kommunikation. IT-Arbeit ähnelt der Arbeit in einer Produktionsanlage, und es muss ein System eingerichtet werden, um den Arbeitsablauf zu rationalisieren. Eines der besten Bücher da draußen.
Site Reliability Engineering , Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy
Dieses Buch erklärt den gesamten Lebenszyklus der Entwicklung, Bereitstellung und Überwachung von Google und wie man die größten Softwaresysteme der Welt (auch als SRE bekannt) verwaltet. Jeder, der sich eher auf der „Ops“-Seite der DevOps-Seite verortet oder wissen möchte, wie man die Bindungen zwischen verschiedenen Dev- und Ops-Teams stärken kann, sollte SRE lesen.
Wir können diese Roadmap sogar als Burger präsentieren :).
Wenn Sie der Meinung sind, dass die Roadmap verbessert werden kann, öffnen Sie bitte eine PR mit allen Aktualisierungen und melden Sie alle Probleme. Außerdem werde ich dies weiter verbessern. Vielleicht möchten Sie dieses Repository markieren, um es noch einmal aufzurufen.
Öffnen Sie eine Pull-Anfrage mit Verbesserungen
Besprechen Sie Ideen in Themen
Verbreiten Sie es weiter
Dr. Milan Milanović – CTO bei 3MD.
Romano Roth – Chef DevOps bei Zühlke.