DevOps-Leitfaden für Anfänger! | Karthikeya T | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

DevOps-Leitfaden für Anfänger!

teacher avatar Karthikeya T, For Your Learning Needs

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      DevOps-Einführung

      1:01

    • 2.

      0101 Der Beginn des DevOps-Moments

      4:11

    • 3.

      0102 Was ist DevOps?

      0:49

    • 4.

      0103 Mindset-Philosophien und -Praktiken

      2:19

    • 5.

      0104 DevOps-Umgebungen und -Tools

      7:21

    • 6.

      0105 DevOps-Phasen und ihre Tools

      5:52

    • 7.

      0106 Kontinuierliche Integration Kontinuierliche Lieferung

      6:33

    • 8.

      0107 DevOps-Vorteile

      2:20

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

51

Teilnehmer:innen

--

Projekte

Über diesen Kurs

Starte deine DevOps-Reise mit diesem perfekten Leitfaden für Anfänger!

In diesem Kurs lernst du die Kernkonzepte und wesentlichen Tools kennen, die die Grundlage von DevOps bilden, einschließlich CI/CD-Pipelines, Versionskontrollsysteme, Container und Infrastrukturautomatisierung. Egal, ob du ein Entwickler, IT-Profi oder einfach nur neugierig auf DevOps bist, dieser Kurs vereinfacht komplexe Konzepte und vermittelt ein praktisches Verständnis, das dich auf den richtigen Weg bringt.

Am Ende hast du das Selbstvertrauen, um fortgeschrittene Themen zu erkunden und DevOps-Prinzipien in realen Szenarien anzuwenden. Baue deine Fähigkeiten aus und mache den ersten Schritt in Richtung Transformation von Software-Bereitstellung und -Operations!

Triff deine:n Kursleiter:in

Teacher Profile Image

Karthikeya T

For Your Learning Needs

Kursleiter:in
Level: Beginner

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. DevOps-Einführung: Willkommen zu diesem Skillshare-Kurs über DevOps für Anfänger. Wenn Sie neugierig sind, was DevOps ist, Tools und Technologien es beinhaltet und wie es die Technologiebranche prägt, Sie hier genau richtig In diesem Kurs behandeln wir die Grundlagen von DevOps, was es ist und warum es wichtig ist, wichtige Lernziele wie Verständnis von Automatisierung, CSED und Infrastruktur als Code, eine klare Roadmap , die Sie Schritt für Schritt und Infrastruktur als Code, eine klare Roadmap , die Sie Schritt für Schritt auf Ihrer DevOps-Lernreise begleitet, eine Einführung in Tools und Technologien, die DevOps unterstützen, wie Jenkins, Doc oder Kubints and Moore. Wir vermitteln Ihnen ein fundiertes Verständnis dafür, was in der Branche verwendet wird. Dieser Kurs richtet sich an absolute Anfänger, egal ob Sie Student sind, ein Entwickler, der sich weiterentwickeln möchte , oder ganz neu in der Technik sind. In diesem Kurs werden Sie am Ende dieses Kurses die grundlegenden Konzepte von DevOps verstehen, Einblicke in die Tools und Technologien haben und mit der Roadmap ausgestattet sein, mit der Sie Einblicke in die Tools und Technologien haben und mit der weiter lernen und praktische Fähigkeiten aufbauen können , und sind für die Rolle gerüstet Lassen Sie uns also eintauchen und Ihre DevOps-Reise beginnen. 2. 0101 Der Beginn von DevOps-Moment: DevOps-Entwickler operieren für den IT-Betrieb. Entwickler haben in der Regel die folgenden Verantwortlichkeiten Sie programmieren die Anwendung je nach den Anforderungen oder den Anwenderberichten für diesen Sprint. Anschließend erstellen sie das Projekt, um ein Artefakt oder eine ausführbare Datei zu erstellen, die dann auf dem Server oder in der Entwicklungsregistrierung bereitgestellt werden kann , um ihre Änderungen zu testen Sie sind auch dafür verantwortlich, die gesamte Anwendung zu testen und sicherzustellen, dass alle Funktionen wie erwartet funktionieren und dass keine der Funktionen aufgrund der kürzlich eingeführten Änderungen beschädigt wurde aufgrund der kürzlich eingeführten Änderungen beschädigt Wenn Sie ein separates Qualitätssicherungsteam haben, kümmert sich dieses die Anwendung gründlich zu testen. Auf der anderen Seite hätte das IT-Betriebsteam andere Verantwortlichkeiten. Sie sind dafür verantwortlich, die Anwendung in der Staging- oder Produktionsumgebung bereitzustellen die Anwendung in der Staging- oder , sodass die Anwendung nun vom Kunden oder vom Endbenutzer verwendet werden kann Sie sind auch für die Wartung der Infrastruktur verantwortlich , die für die Bereitstellung der Anwendung erforderlich Sie werden sicherstellen, dass sie angemessene Server und Ressourcen verfügen, damit die Anwendung reibungslos ausgeführt werden kann. Außerdem überwachen sie die Anwendung ständig im Hinblick auf Leistung, Zustand, Ressourcenauslastung , Warnungen, Fehler usw. Nein, die Bereitstellung der Anwendung ist keine leichte Aufgabe. Es ist nicht so, dass Sie das Artefakt auf Ihren Server kopieren und es funktioniert wie von Zauberhand Sie müssen sich um die Abhängigkeiten, Bibliotheken und Konfigurationen kümmern , die beim Ausführen der Anwendung helfen Oftmals sind die Ops-Teams mit diesen Schritten nicht vertraut und nehmen daher Hilfe von Daher würden Entwickler einen Bereitstellungsleitfaden mit klaren schrittweisen Anweisungen zur Bereitstellung der Anwendung bereitstellen Ostam würde diese Schritte befolgen, die Anwendung bereitstellen, und die Anwendung würde einwandfrei funktionieren Bis eines Nachts die Anwendung abstürzt oder einige Funktionen nicht mehr funktionieren. Das führt zu dem berüchtigten Schuldzuweisungsspiel, bei dem das OpsTeam sagen würde, dass alle Anweisungen im Bereitstellungshandbuch befolgt Wenn die Anwendung immer noch nicht funktioniert, liegt es an den Entwicklern Auf der anderen Seite werden die Entwickler die Schuld auf OpSteam zurückwerfen und sagen, dass sie die genauen Schritte im Bereitstellungshandbuch befolgt haben und dass es für sie bei der Registrierung als Entwickler funktioniert hat Die Schuld würde also hin und her gehen , eine Menge Zeit verschwenden Aber die Wahrheit ist, dass der Fehler von jedem sein könnte. Es könnte sein, dass Entwickler einen Schritt im Bereitstellungsleitfaden übersehen haben, oder es könnte sein, dass das oder es könnte sein, dass das Ops-Team die Anweisungen nicht genau befolgt hat, oder vielleicht hat es etwas mit der Ressourcenzuweisung zu tun, oder vielleicht hat das OpsTeam eine andere Version der Software installiert , die nicht unterstützt wird, oder vielleicht hat es etwas mit der Ressourcenzuweisung zu tun, oder vielleicht hat das OpsTeam eine andere Version der Software installiert, die nicht unterstützt wird, oder es kann auch ein Bug im Code sein Vielleicht haben Entwickler einen Fehler gemacht. Zum Beispiel könnten Entwickler einen fehlerhaften Code geschrieben haben , der ständig Speicherplatz verbraucht, bis das System nicht Speicher hat und die Anwendung abstürzt Dies ist bei der Registrierung für Entwickler möglicherweise nicht der Fall , da sie die Anwendung nicht lange genug ausführen , damit sie abstürzt, weil sie die Anwendung immer wieder neu bereitstellen, wie bei der Einführung von bei Dies kann jedoch bei der Registrierung in der Produktionsumgebung passieren, bei der die Anwendung über einen längeren Zeitraum ständig ausgeführt wird Da ich in der Vergangenheit selbst Entwickler war, ist es eigentlich sehr frustrierend, so etwas vom Ops-Team zu hören , da Entwickler im Allgemeinen bereits damit beschäftigt sind, Entwickler im Allgemeinen bereits damit beschäftigt sind die neuen Funktionen zu implementieren Sie haben neue Verpflichtungen, sie sind ihrem Chef gegenüber verantwortlich und sie sind nicht bereit, die alten Protokolle zu durchsuchen , was sich auf ihre aktuellen Projektverpflichtungen auswirken könnte auf ihre aktuellen Projektverpflichtungen auswirken Also versuchen sie, diese Probleme zu vermeiden, indem sie einfach der anderen Partei die Schuld geben Und das Gleiche tut auch das Ops-Team. Aber dieses Schuldzuweisungsspiel verschwendet viel Zeit, und viele Probleme würden für einen langen Zeitraum ungelöst bleiben Und so würde sich sogar die Veröffentlichung um Wochen oder manchmal sogar um Monate verzögern , was zu Frustration bei den Kunden führen würde, und Sie können sich vorstellen, welche Folgen das hat Das bedeutet Umsatz- und Reputationsverlust für das Unternehmen. Dies ist der Auslöser und der Ausgangspunkt für den Da WOps-Moment 3. 0102 Was ist DevOps: Was ist also DevOps? Alles, was wir tun können, um die Effizienz des Teams zu verbessern, die Wahrscheinlichkeit von Fehlern während der Produktion zu verringern, die Kommunikation zwischen Teams zu verbessern und Kommunikation zwischen funktionsübergreifenden Teams zu fördern, die Veröffentlichungszeit zu reduzieren oder den Gesamtprozess zu verbessern, ist DevOps Und all dies kann mit einer Kombination aus Denkweise, kulturellen Philosophien und Praktiken, Tools und Automatisierung erreicht mit einer Kombination aus Denkweise, kulturellen Philosophien und Praktiken, Tools und Automatisierung Tools Und wenn Sie mich fragen, hat sich DevOps heutzutage so stark weiterentwickelt , dass es weniger mit Denkweisen und kulturellen Philosophien zu tun hat , sondern mehr Was ursprünglich als Änderung der Denkweise begann , hat sich inzwischen zu Tools und Automatisierung entwickelt, die wir gleich als Nächstes sprechen werden 4. 0103 Mindset-Philosophien und Praktiken: Lassen Sie uns über den Mindset-Aspekt von DevOps sprechen. Vor DevOps gab es eine psychologische Barriere zwischen Entwicklern und dem IT-Betrieb, sodass sich die Entwickler mehr auf das Schreiben des Codes konzentrierten und sich nicht um die Registrierung kümmerten, unter der die Anwendung ausgeführt werden sollte eine psychologische Barriere zwischen Entwicklern und dem IT-Betrieb, sich die Entwickler mehr auf das Schreiben des Codes konzentrierten und sich nicht um die Registrierung kümmerten, unter der die Anwendung ausgeführt werden unter Das Betriebsteam hingegen kümmert sich nie darum, zu verstehen, wie die Anwendung funktioniert, welche Abhängigkeiten sie hat oder was mit der Arbeit der Entwickler zu tun hat . Mit DewOps wäre diese Barriere überwunden, und beide Teams würden sich einig sein, dass sie tatsächlich zusammenarbeiten Sie beginnen jetzt zu glauben, dass sie tatsächlich ein Team sind. Wenn es jemanden gibt, dem man bei einem Problem die Schuld geben kann, dann kann man niemandem außer sich selbst die Schuld geben Sie werden die Probleme gemeinsam als eine Einheit lösen gemeinsam als eine Tatsächlich gibt es in bestimmten Organisationen kein separates Entwickler - und Betriebsteam. Sie mögen sich selbst als Entwickler bezeichnen, aber sie erledigen in Wirklichkeit sowohl die Aufgaben der Entwickler als auch der IT-Abteilung. Nun, das ist der Mindset-Aspekt von DevOps. Lassen Sie uns nun über einige der kulturellen Philosophien und Praktiken von DevOps sprechen kulturellen Philosophien und DevOps fördert eine offene Kommunikation und Zusammenarbeit zwischen den Teams sowie den Wissensaustausch zwischen den Entwickler könnten also eine Sitzung zum Wissensaustausch mit dem Ops-Team abhalten und umgekehrt, OpStem könnte eine Sitzung zum Wissensaustausch mit dem Entwicklungsteam Regelmäßige Treffen mit funktionsübergreifenden Teams wie dem Testteam, Sicherheitsteam usw. Tatsächlich hat sich Optim on vor DevOps nie die Mühe gemacht, an der Entwicklertreffen teilzunehmen Aber jetzt sind sie tatsächlich am gesamten Produktlebenszyklus beteiligt , von der Erfassung der Anforderungen an. Tatsächlich nehmen sie auch an dem Treffen teil, um die Anforderungen zu erörtern. Erweiterung ihrer Fähigkeiten. Entwickler könnten also einige der Betriebsfähigkeiten erwerben und umgekehrt. Hoppla, das Team erwirbt einige der Fähigkeiten von Entwicklern. Einsatz von Tools für die Zusammenarbeit, über die wir gleich sprechen werden. Eine Sache, die ich erwähnen sollte, ist, dass DevOps nicht in jeder Organisation auf die gleiche Weise praktiziert wird Abhängig vom Umfang des Projekts und der Art der verwendeten Technologien können sich DevOp-Praktiken und -Tools unterscheiden 5. 0104 DevOps-Umgebungen und Tools: Entwickler würden eine Dev-Registrierung benötigen ihre Änderungen zu testen oder für ihre In ähnlicher Weise würde das Testteam eine Testregistrierung benötigen , um die Anwendung gründlich zu testen Und ebenso würde IT OpStam auch Staging oder die Registrierung für die Produktion benötigen , um die Anwendung bereitzustellen . Um all diese Anmeldungen zu erhalten , bräuchten wir wahrscheinlich Server. Früher haben wir Server beschafft und sie selbst gewartet. Aber heutzutage verwenden wir Cloud-Dienstanbieter wie AWS Azure GCP Stellen Sie Infrastruktur als Service bereit, was bedeutet, dass sie das für uns erledigen, anstatt dass wir die Server warten , und sie werden Ressourcen als Dienste wie RAM, CPU, Festplatte usw. bereitstellen als Dienste wie RAM, CPU, Festplatte usw. Der Vorteil eines Cloud-Dienstanbieters besteht darin, dass er skalierbarer, sicherer, zuverlässiger und kostengünstiger ist als Kauf physischer Server und deren Wartung selbst Beim Aufbau einer Infrastruktur geht es nicht nur darum, eine Reihe virtueller Maschinen zu starten. Wir müssen uns auch um die Einrichtung der Netzwerkkonfigurationen, das Anhängen von Speichervolumes und sogar die Konfiguration anderer notwendiger Dienste wie Datenbanken usw. kümmern die Einrichtung der Netzwerkkonfigurationen, das Anhängen von Speichervolumes und sogar Konfiguration anderer notwendiger Dienste . also eine sehr herausfordernde und zeitaufwändige Aufgabe, die Infrastruktur für alle Teams einheitlich zu erstellen die Infrastruktur für alle Teams einheitlich ist also eine sehr herausfordernde und zeitaufwändige Aufgabe, die Infrastruktur für alle Teams einheitlich zu erstellen, ohne einen Fehler zu machen , ohne einen Um dieses Problem zu lösen, haben wir Terraform. TerraForm bietet Infrastruktur als Code an, was bedeutet, dass Sie damit Infrastruktur erstellen können, indem Sie Infrastruktur erstellen Sie können beispielsweise Code schreiben, der besagt, dass Sie N Server mit so und so RAM und so und so Festplatte benötigen der besagt, dass Sie N Server mit so und so RAM , und genau das wird er tun Es ermöglicht uns, ähnliche und konsistente Anmeldungen für alle Teams zu erstellen alle Teams Sie können sogar dieselbe Registrierung reproduzieren, indem Sie das Skript erneut ausführen Sobald Sie die Infrastruktur oder die Server haben, wollen wir als Nächstes das Betriebssystem installieren Jetzt stellen uns all diese Cloud-Dienstanbieter ein fertiges VM-Image zur Verfügung, das mit dem Betriebssystem geliefert wird. wir also die Watcher-Computer mit Terraform starten, können wir dieses Image so auswählen , dass die Infrastruktur oder die Server zusammen mit dem Betriebssystem erstellt werden zusammen mit dem Alternativ können Sie auch ein Konfigurationsmanagement-Tool wie NZB verwenden , um Betriebssystem auf den Servern zu installieren Wir werden gleich über Ansib sprechen. Jetzt haben wir die Infrastruktur und das Betriebssystem. Technisch gesehen können wir die Anwendung jetzt bereitstellen und zum Laufen bringen. Als Mitglied des DO-Teams können Sie das ganz einfach tun, da Sie eine technische Person sind. Sie kennen alle Bibliotheken, Abhängigkeiten und Konfigurationen, die für die Ausführung der Anwendung erforderlich sind. Wenn Sie jedoch über einige der technisch nicht versierten Personen sprechen , z. B. aus dem Testteam oder dem IT-Betriebsteam, wissen diese nicht, wie die Anwendung bereitgestellt wird, und verlassen sich daher auf Entwickler, um die Anweisungen zu erhalten. Und wir haben bereits über die Konsequenzen dieses Ansatzes gesprochen . Wenn das DO-Team einen Bereitstellungsleitfaden zur Verfügung stellt, kann es vorkommen , dass der Bereitstellungsleitfaden nicht genügend Anweisungen enthält. Oder es kann vorkommen, dass das Testteam oder das Ops-Team diese Anweisungen nicht genau so umgesetzt haben diese Anweisungen nicht genau so umgesetzt , wie sie sein sollten. Anweisungen genau so , wie sie sein sollten. Und das würde dazu führen, dass die Anwendung nicht wie erwartet funktioniert, und es würde letztendlich dazu führen dass das Spiel verzögert wird, und so weiter. Um dieses Problem zu lösen, haben wir jetzt Docker Anstatt die Anwendung also direkt auf dem Betriebssystem bereitzustellen, direkt auf dem Betriebssystem indem wir Software, Konfigurationen usw. installieren oder den anderen Teams den Bereitstellungsleitfaden zur Verfügung stellen, werden wir jetzt ein sogenanntes Docker-Image erstellen Ein Docker-Image ist im Wesentlichen eine Kombination aus Code, Laufzeitbibliotheken Es ist eigentlich ein eigenständiges Paket , das alle notwendigen Abhängigkeiten, Bibliotheken und Dateien enthält , die zum Ausführen der Anwendung erforderlich sind Und mit diesen Dockerimages können wir Container in verschiedenen Umgebungen einrichten Um nun Container aus diesen Images zu erstellen, benötigen wir eine Plattform, die dies unterstützt, und hier kommt die Docker-Plattform Wir werden die Docker-Plattform auf dem Betriebssystem installieren , und jetzt könnten wir Container oder die Dockery-Images erstellen Ein Docker-Container ist im Wesentlichen eine Laufzeitinstanz eines Wenn Sie mit der VMware-Technologie vertraut sind, entspricht Docker Image VM Snapshot, und Docker Container entspricht einer laufenden Version von Me Im Gegensatz zu einer virtuellen Maschine sind Docker-Images jedoch Docker-Images Es wird nicht mit einem Betriebssystem geliefert. Stattdessen würde es das Host-Betriebssystem verwenden. Wie dem auch sei, das wird ein Thema einer anderen Vorlesung sein. Im Allgemeinen haben wir vielleicht nicht nur ein Dockery-Image, das die gesamte Anwendung enthalten würde Wenn Sie der Microsovice-Architektur folgen, bei Ihre Anwendung in mehrere kleinere Module aufgeteilt wäre , könnten Sie am Ende Hunderte von Dockery-Images haben Diese Docker-Images manuell zu verwalten ist eine schwierige Aufgabe, und aus diesem Grund bieten wir Artefakt-Repository-Lösungen wie Nexus und aus diesem Grund bieten wir Artefakt-Repository-Lösungen wie Nexus oder Docker Hub an. Nexus fungiert als zentrales Repository in dem Entwicklungsteams Softwareartefakte wie Dockery Images speichern, gemeinsam nutzen oder abrufen können gemeinsam nutzen oder abrufen Softwareartefakte Im Grunde ermöglicht es den einfachen Austausch, Zusammenarbeit zwischen Teams und sogar die Versionskontrolle von Artefakten innerhalb der Entwicklungsteams oder im gesamten Unternehmen Und verschiedene Teams in der Organisation werden die dunkleren Bilder von diesen Plattformen auswählen und aus diesen Bildern Container erstellen. Am Ende laufen vielleicht Hunderte von Containern , aber wenn so viele Container laufen, wird es wirklich schwierig, sie manuell zu verwalten, und hier kommt Kubinidis ins Spiel Im Grunde bietet es eine Plattform für die Container-Orchestrierung, wodurch es sehr einfach ist, die Docker-Container von einem einzigen Dashboard aus bereitzustellen, zu skalieren oder zu verwalten Ohne Kubintis ist es wirklich unmöglich, so viele Container zu verwalten Bisher haben wir eine konsistente Teilnehmerzahl in allen Teams Wir haben die Infrastruktur, das Betriebssystem und wir haben sogar die Anwendung zum Laufen Was ist nun, wenn ich bei diesen Registrierungen eine Software installieren oder aktualisieren oder eine Konfiguration ändern oder eine Konfiguration Nun, wir können uns nicht in jedes System einloggen und das manuell machen. Es ist sehr zeitaufwändig und fehleranfällig und wäre sehr inkonsistent Um genau dieses Problem zu lösen, haben wir Tools wie Azb Chef Mit AZB können Sie verschiedene Aufgaben wie die Bereitstellung der Anwendung, die Installation einer Software, das Ändern einer Konfiguration usw. automatisieren verschiedene Aufgaben wie die Bereitstellung der Anwendung, die Installation einer Software, Ändern einer Konfiguration usw. Während Docker es Ihnen ermöglicht, eine isolierte Laufzeitregistrierung mit Anwendungscode, Abhängigkeiten usw. zu erstellen eine isolierte Laufzeitregistrierung , arbeitet NZB auf der anderen Seite auf dem vorhandenen System, um verschiedene Aufgaben auf dem Remote-System auszuführen Wir können NZB verwenden, um das Betriebssystem und sogar die Docker-Plattform zu installieren das Betriebssystem und sogar die Docker-Plattform Dies sind einige der Tools, die in DevOps zur Erstellung der Registrierung verwendet werden DevOps zur Erstellung Wir haben auch eine Reihe anderer Tools, und wir werden darüber sprechen, wenn wir über die Phasen von DevOps sprechen, das gleich als Nächstes kommt 6. 0105 DevOps-Phasen und ihre Tools: Lassen Sie uns über die verschiedenen Phasen von DevOps sprechen und auch die verschiedenen Arten von Tools verstehen , die in jeder dieser Phasen verwendet werden Zunächst haben wir die Planungsphase, es im Wesentlichen darum geht , die Projektanforderungen zu definieren , die Ziele festzulegen, den einzelnen Mitarbeitern Kapazitäten und zu entscheiden, wer was tun wird usw. Und hier könnten wir diese Tools verwenden. Wir benötigen ein Projektverfolgungstool wie zum Beispiel Jira, das eines der beliebtesten Tools zur Nachverfolgung des Projekts ist der beliebtesten Tools zur Nachverfolgung des Projekts Hier könnten wir Benutzerstorys, Bugfixes usw. verfolgen. Und dann haben wir Tools für die Zusammenarbeit wie Slack, Confluence, Google Docs, Microsoft Teams usw. für die Nachrichtenübermittlung zwischen den Mitarbeitern oder zur Verwaltung von Anforderungen, zum Wissensaustausch, zur teamübergreifenden Zusammenarbeit Confluence ist wie Wikipedia für eine Organisation. Als Nächstes haben wir die Codierungsphase, in der Entwickler den Code natürlich schreiben und überprüfen würden Sie werden die Qualität und die Einhaltung der Codierungsstandards sicherstellen Einhaltung der Codierungsstandards Und hier werden sie Versionskontrollsysteme wie Git und Code-Repositorys wie GitHub, Bitbucket, GitLab usw. verwenden Git und Code-Repositorys wie GitHub, Bitbucket, GitLab Und sie tendieren in der Regel dazu, der testgetriebenen Entwicklung zu folgen , indem sie J-Einheiten schreiben oder statische Codeanalysen mit Tools wie Sonar Cube durchführen oder statische Codeanalysen mit Tools statische Codeanalyse würde bedeuten , dass wir den Quellcode auf Qualität, Zuverlässigkeit und Sicherheit analysieren würden , ohne den Code ausführen zu müssen Ganz zu schweigen davon, dass Entwickler, damit sie an ihren täglichen Aktivitäten arbeiten können, eine Registrierung benötigen, und wir können diese Registrierung mit all den Technologien erreichen, über die wir über die Als Nächstes haben wir die Erstellungsphase, wir möglicherweise einige CICD-Tools Wir werden in der kommenden Vorlesung ausführlicher über CICD sprechen kommenden Vorlesung ausführlicher Aber eines der beliebtesten Tools für CICD ist Jenkins. Wir haben auch andere Tools wie Circle CI oder Gitlab CICD, die Im Rahmen der Buildphase würde Jenkins tatsächlich einige der zusätzlichen Tools wie Maven Gradle verwenden , um ein Projekt so zu erstellen, dass wir ein Artefakt oder ein bereitstellbares Artefakt erhalten würde Jenkins tatsächlich einige der zusätzlichen Tools wie Maven Gradle verwenden, um ein Projekt so zu erstellen, dass wir ein Artefakt oder ein bereitstellbares Artefakt erhalten . Jenkins wird auch ein Docker-Image mithilfe der Docker-CLI erstellen. Damit brauchen wir natürlich einen Ort zum Speichern der Images, und dort haben wir Nexus und Docker Hub, um die Artefakte zu hosten und zu verwalten Als nächstes haben wir die Testphase. Hier würden wir die Anwendung gründlich testen . Hier führen wir Regressionstests durch und stellen sicher, dass neue Funktionen keine der vorhandenen Wir führen Akzeptanztests durch. Wir führen auch Sicherheits- und Schwachstellenanalysen durch. Wir führen Leistungstests, Konfigurationstests usw. durch. Selenium ist eines der beliebtesten Tools zur Automatisierung des Testprozesses der Anwendung Apache Jometer ist eines der beliebtesten Tools zur Durchführung von Leistungstests Und noch einmal, um Dinge zu testen, brauchen wir eine Testumgebung , und hier werden wir wieder sehen, wie all diese Technologien ins Spiel kommen. Über all das haben wir bereits früher gesprochen. Als Nächstes haben wir die Bereitstellungsphase , in der wir Jenkins verwenden werden, um den Prozess der Bereitstellung des Artefakts oder speziell des Docker-Images in der Produktionsumgebung zu automatisieren Artefakts oder speziell des Docker-Images in der Produktionsumgebung . Sobald also alles getestet ist und sichergestellt ist, dass alles wie erwartet funktioniert, wählt der Jenkins das Artefakt automatisch aus artifactory-Umgebungen wie Nexus oder Docker Hub aus und stellt es in der Staging - oder Produktionsumgebung bereit wählt der Jenkins das Artefakt automatisch aus artifactory-Umgebungen wie Nexus oder Docker Hub aus und stellt es in der Staging - oder Produktionsumgebung bereit. Wir werden uns noch einmal alle Technologien ansehen, die uns bei der Erstellung der Registrierung helfen werden. Als Nächstes haben wir die Betriebsphase. Sobald die Software bereitgestellt ist, würde das Betriebsteam seine Aufgabe erledigen, die Infrastruktur zu verwalten, alle Probleme zu beheben und die Anwendung zu überwachen. Ihr Hauptaugenmerk liegt auf Aufrechterhaltung einer stabilen und zuverlässigen Registrierung, eine hohe Verfügbarkeit, Leistung und Sicherheit , Leistung und Und als Nächstes folgt die Überwachungsphase, die das Sammeln und Analysieren von Metriken und Protokollen, die Überwachung der Anwendungsleistung, des Zustands und der Ressourcennutzung usw. umfasst Analysieren von Metriken und Protokollen, die Überwachung der Anwendungsleistung, des Zustands . Im Grunde wird das Betriebsteam alles überwachen, und wenn es Probleme findet, wird es diese an die zuständigen Teams weiterleiten Nagios und Prometios sind einige der beliebtesten Tools für die Überwachung, und Dynatrace und App Dynamics sind einige Als nächstes kommt die Lernphase. Und hier sammeln wir im Grunde Feedback von Benutzern, Stakeholdern und Monitoring-Tools um Verbesserungen, Bugfixes oder sogar die Einführung neuer Funktionen vorzuschlagen, mit dem Ziel, die Software zu verfeinern und zu erweitern . Der gesamte Zyklus wiederholt sich nun bereits in der Planungsphase Es ist ein kontinuierlicher Prozess, und neue Versionen würden für immer erscheinen, zumindest bis zu dem Zeitpunkt, an dem das Projekt aufgegeben wird Und das ist der Grund, warum das DevOps-Logo wie ein Unendlichkeitssymbol aussieht , weil dieser Prozess ewig andauern würde und die Software sich jedes Mal weiterentwickeln und verbessern Ein wichtiger Punkt, den ich hier ansprechen möchte den ich bereits erwähnt habe, ist, dass DevOps nicht in jeder Organisation auf die gleiche Weise praktiziert Die Tools und Methoden würden sich je nach Projekt unterscheiden Aber was wir bisher besprochen haben, sind die beliebtesten. Wenn Sie sich nicht sicher sind, was Sie lernen sollen, dann lernen Sie diese beliebten, die ich erwähnt habe. Als Nächstes werden wir über das am meisten hervorgehobene Wort in DevOps sprechen am meisten hervorgehobene Wort in DevOps Kontinuierlich. Ich sehe dich als Nächstes. 7. 0106 Continuous Integration Continuous Delivery: Traditionell haben Entwickler an der Funktion oder Bfix gearbeitet und diese Änderungen dann in ein zentrales Code-Repository wie GitHub, Bitbucket, GitLab übertragen Code-Repository wie GitHub, Bitbucket, GitLab Bitbucket Ich gehe davon aus, dass Sie mit diesen Tools nicht vertraut sind, daher werde ich keine der damit verbundenen Terminologien verwenden der damit verbundenen Terminologien Aber im Grunde würden Entwickler ihre Änderungen einbringen, und erst am Ende des Entwicklungszyklus würden all diese Codeänderungen zusammengeführt werden? Mit anderen Worten, all diese Codeänderungen würden zusammengeführt oder integriert und zu einem Teil der Hauptcodebasis gemacht. Sobald dies erledigt ist, gehen wir unter der Annahme, dass es keine Konflikte gibt , zur nächsten Phase , in der das Testteam alle Änderungen testet , die Anwendung bei der Testregistrierung gründlich testet und davon ausgeht, dass alles gut gelaufen ist und das Testteam keine Probleme gefunden hat, was sehr unwahrscheinlich ist, werden wir die Anwendung bereitstellen auf die Anwendung bereitstellen auf das Staging oder die Registrierung in der Produktionsumgebung . Dies ist jedoch das beste Szenario, aber aller Wahrscheinlichkeit nach werden Sie die Sie werden Integrationsprobleme denn wenn Sie so viele Änderungen auf einmal zusammenführen , besteht die Möglichkeit, dass Sie auf Konflikte stoßen, was bedeutet, dass möglicherweise mehr als ein Entwickler an demselben Code gearbeitet hat, und diese Konflikte müssen und diese Konflikte müssen gelöst werden, bevor Sie fortfahren können. Oder es kann vorkommen , dass Änderungen, die von einem Entwickler vorgenommen wurden, negative Auswirkungen auf Änderungen haben , die von einem anderen Entwickler vorgenommen wurden. Es ist auch sehr schwierig , die Probleme nachzuverfolgen denn wenn Sie so viele Änderungen zusammenfügen, das Problem tatsächlich verursacht hat, falls Sie ein Problem finden ist es wirklich schwierig zu wissen, welche bestimmte Änderung . Daher wird es schwieriger, die Konflikte zu lösen und die Hauptursache von Problemen zu identifizieren , was zu potenziell zeitaufwändigen und fehleranfälligen Integrationsbemühungen führen kann zeitaufwändigen und fehleranfälligen Integrationsbemühungen W, wenn das Testteam ein kritisches Problem feststellt , kann dies sogar zu einer Verzögerung der Veröffentlichung führen, und selbst wenn der Feedback-Zyklus länger ist, werden Entwickler erst in und selbst wenn der Feedback-Zyklus länger ist, der Endphase des Entwicklungszyklus von Konflikten oder Fehlern erfahren , was zu längeren Lösungszeiten führen und die Fähigkeit beeinträchtigen kann , das Problem rechtzeitig zu beheben. Bei der Entwicklung werden wir jedoch einen anderen Ansatz verfolgen, und so läuft es ab Nach der Planungsphase würden die Entwickler also mit dem Programmieren beginnen. Jeder Entwickler würde seine Änderungen in das zentrale Repository einbringen , dann haben wir Jenkins, ein CSCDTOL, das ständig nach neuen Kometen im Repository Ausschau hält. Sobald ein neuer Commit identifiziert wurde, leitet Jenkins einen Build-Prozess ein, um die Artefakte oder das Docker-Image zu erstellen, das dann automatisch in der Testumgebung bereitgestellt leitet Jenkins einen Build-Prozess ein, um die Artefakte oder das Docker-Image zu erstellen, das dann automatisch in der Testumgebung bereitgestellt wird. leitet Jenkins einen Build-Prozess ein, um die Artefakte oder das Docker-Image zu erstellen, das dann automatisch in der Testumgebung bereitgestellt wird. Jenkins wird außerdem automatische Merit-Tests auslösen , um die Anwendung und die Änderungen gründlich zu testen Und sobald dies erledigt ist, wird Jenkins die Prüfer benachrichtigen , damit sie die Codeänderungen überprüfen Die Prüfer werden die Codeänderungen prüfen, erforderliches Feedback geben, Verbesserungen vorschlagen usw., und die Entwickler werden auf das Feedback eingehen, das sie während der Codeüberprüfung sie während der Codeüberprüfung erhalten haben Sie nehmen alle erforderlichen Änderungen vor, fügen Klarstellungen oder erörtern alternative Ansätze. Dieser iterative Prozess wird fortgesetzt, bis die Codeänderungen den erforderlichen Qualitätsstandards entsprechen Sobald alles gut und gut ist, sobald die Prüfer den Code genehmigt haben, gehen wir zur nächsten Phase über, in der wir all diese Änderungen zusammenführen, oder mit anderen Worten, wir werden all diese Änderungen in die Hauptcodebasis integrieren die Hauptcodebasis Und bevor wir die Änderungen tatsächlich zusammenführen, haben wir in Jenkins möglicherweise die Aufgabe, alle zusätzlichen Tests oder Validierungen durchzuführen , bevor wir die haben wir in Jenkins möglicherweise die Aufgabe, alle zusätzlichen Tests oder Validierungen durchzuführen, bevor wir die Änderungen zusammenführen. Nach dem Zusammenführen der Änderungen oder Integration der Änderungen in die Hauptcodebasis können wir den Prozess der Implementierung dieser Änderungen in der Produktions- oder Staging-Umgebung einleiten Implementierung dieser Änderungen der Integration der Änderungen in die Hauptcodebasis können wir den Prozess der Implementierung dieser Änderungen in der Produktions- oder Staging-Umgebung einleiten. Und wieder einmal wird Jenkins die Arbeit für uns erledigen. Es wird das Projekt erstellen, die erforderlichen Artefakte in der Staging- oder Produktionsumgebung bereitstellen der Staging- oder Produktionsumgebung und die Anwendung zum Laufen bringen Jetzt nennen wir den Prozess, den Code beizutragen , automatisierte Tests durchzuführen und schließlich die Änderungen zusammenzuführen oder die Änderungen in die Hauptcodebasis zu integrieren , das was wir als kontinuierliche Integration bezeichnen Oder genauer gesagt, wir haben auch eine kontinuierliche Entwicklung, bei der die Entwickler kontinuierlich Verbesserungen vornehmen und neue Änderungen einführen, und der Prozess des kontinuierlichen Testens der Änderungen mit automatisierten Tests ist kontinuierliches Testen Was wir früher manuell gemacht haben , sind jetzt eine Reihe automatisierter Tests. Und der Prozess, bei dem die Änderungen in die Staging- oder Produktionsumgebung übertragen werden, wird als Continuous Delivery bezeichnet Wir haben auch oft den Begriff Continuous Deployment verwechselt Begriff Continuous Deployment Der Unterschied zwischen Continuous Delivery und Continuous Deployment ist sehr einfach. Wenn wir manuell eingreifen , sodass Jenkins den Code aus der Hauptcodebasis auswählen und die Anwendung schließlich in der Produktionsumgebung bereitstellen kann , spricht man von Continuous Delivery Wenn wir diesen Prozess automatisieren, was bedeutet, dass Jenkins unmittelbar nach der Integration der Änderungen an der Haupt-Codebasis der Integration der Änderungen an der Haupt-Codebasis den Code automatisch aufnimmt und in der Produktionsumgebung bereitstellt , spricht man von kontinuierlicher Bereitstellung , spricht man von Und sobald die Anwendung bereitgestellt ist, würde das Ops-Team eine kontinuierliche Überwachung durchführen, und der gesamte Prozess wiederholt sich als Teil des DevOps-Lebenszyklus Im Gegensatz zu herkömmlichen Ansätzen, bei denen wir die Software in einem großen Batch verbessern, im Fall von DevOps werden Updates im Fall von DevOps kontinuierlich Stück für Stück vorgenommen, sodass der Softwarecode an die Kunden geliefert werden kann , sobald er fertiggestellt und getestet ist Da wir nicht viele Änderungen auf einmal integrieren, werden wir natürlich nicht so viele Konflikte haben, nicht so viele Konflikte haben, und da die Tests fast unmittelbar nach dem Abgeben eines Kommentars durchgeführt werden , würden Entwickler sofort Feedback erhalten, würden Entwickler sofort Feedback erhalten wenn es Probleme mit dem Code gibt, sodass sie genügend Zeit haben, das Problem zu lösen , ohne zu kontaktieren das Ende des Entwicklungszyklus. Also jedes Mal, wenn jemand einen Kometen erzeugt, werden wir den gesamten Prozess wiederholen , weil alles ziemlich automatisiert ist, das wird sehr schnell gehen. Jenkins steht im Mittelpunkt des gesamten Prozesses und verbindet alle Punkte miteinander Als Nächstes werden wir kurz zusammenfassen, was wir mit D Wops erreicht haben 8. 0107 DevOps-Vorteile: Lassen Sie uns über einige der Vorteile von DeWAPS sprechen. verbesserte Zusammenarbeit und verbesserte Kultur, offensichtlich mit einer veränderten Denkweise und Einbeziehung bestimmter kultureller Philosophien und Praktiken sowie kollaborativer Tools, sowie kollaborativer Tools, haben wir die Zusammenarbeit zwischen funktionsübergreifenden Teams und die allgemeine Kultur erheblich verbessert zwischen funktionsübergreifenden Schnellere Innovation und Problemlösung mit viel Schwerpunkt auf Automatisierung und kontinuierlicher Integration und kontinuierlicher Bereitstellung haben wir die Zeit für die Veröffentlichung der Software erheblich reduziert , und aufgrund dieser schnelleren Iterationen können wir schneller innovieren und Probleme auch rechtzeitig lösen. Stabilere Betriebsanmeldungen . Durch den Einsatz verschiedener Tools und Technologien konnten wir für stabile Anmeldungen in allen Teams sorgen Anmeldungen in allen Wenn die Anwendung also in einer Registrierung funktioniert, besteht die Möglichkeit, dass sie auch in einer anderen Umgebung funktioniert, ohne Lassen Sie uns Probleme und Ausfallzeiten bewältigen. Durch die konsequente Durchführung häufiger und regelmäßiger Automerit-Tests und die Aufrechterhaltung stabiler und zuverlässiger Umgebungen können wir die Wahrscheinlichkeit verringern, dass stabiler und zuverlässiger Umgebungen können wir die Wahrscheinlichkeit verringern, Probleme oder Ausfallzeiten während der Produktion auftreten Probleme oder Ausfallzeiten während der Produktion Durch die Verwendung verschiedener Tools wie Ansibl für das Konfigurationsmanagement und durch den Einsatz von Überwachungstools wie Nagios und durch die bessere Zusammenarbeit mit anderen Teammitgliedern haben wir auch die allgemeine betriebliche Effizienz verschiedener Tools wie Ansibl für das Konfigurationsmanagement und durch den Einsatz von Überwachungstools wie Nagios und durch die bessere Zusammenarbeit mit anderen Teammitgliedern verbessert . Kostengünstig. Da wir viel Wert auf Automatisierung legen, was früher manuell oder jetzt automatisiert wurde, und auch durch den Einsatz von Cloud-Dienstanbietern werden wir die Kosten deutlich senken. Und aus diesem Grund müssen Sie ernsthaft in Betracht ziehen , Ihre Fähigkeiten auf DevOps auszuweiten, wenn Sie aus dem Bereich Testing oder IT-Betrieb kommen aus dem Bereich Testing oder IT-Betrieb müssen Sie ernsthaft in Betracht ziehen , Ihre Fähigkeiten auf DevOps auszuweiten, wenn Sie aus dem Bereich Testing oder IT-Betrieb Kundenzufriedenheit. Wenn Sie DevOps-Methoden anwenden, führt dies angesichts all ihrer Vorteile letztendlich natürlich zu einer besseren Kundenzufriedenheit, da sie nicht so lange auf Releases warten müssen, was sich natürlich in da sie nicht so lange auf Releases warten müssen, einem besseren Umsatz und einem besseren Ruf niederschlägt besseren Umsatz und einem besseren Es hilft Ihnen auch dabei, Ihren Mitbewerbern auf dem Markt immer einen Schritt voraus Ihren Mitbewerbern Ich hoffe, Sie haben das Gesamtbild von DevOps verstanden . Ich sehe dich als Nächstes