devops tutorial ultimate guide devops
Dies ist eine vollständige DevOps-Tutorialserie mit mehr als 25 Text- und Video-Tutorials, die alle Aspekte der DevOps wie Was ist DevOps, DevOps-Prinzipien und deren Architekt abdecken.
Liste der Tutorials in der DevOps-Schulungsreihe::
# 1) Einführung in DevOps (Dieses Tutorial)
#zwei) DevOps und Softwaretests
DevOps VIDEO Tutorials:
# 3) Video Tutorial 1: DevOps Hintergrund, Definition, Wert, Nutzen, Gewohnheiten und Best Practices
- Teil 1 Block 1 - DevOps entmystifizieren
# 4) Video-Tutorial 2: DevOps-Praktiken basieren auf den Agile Principles, der Quellcodeverwaltung und der DevOps-Automatisierung
Dieses Video-Tutorial ist unterteilt in 6 Blöcke:
- Teil 2 Block 1 - DevOps-Praxis basierend auf agilem Manifest
- Teil 2 Block 2 - Quell- und Versionskontrolle in DevOps
- Teil 2 Block 3 - Automatisierung in DevOps
- Teil 2 Block 4 - Kleine Lieferschritte in DevOps
- Teil 2 Block 5 - Zusammenarbeit in DevOps-Teams
- Teil 2 Block 6 - So entwickeln Sie die Zusammenarbeit in DevOps-Teams
# 5) Video-Tutorial 3: DevOps verarbeitet Continuous Integration, Continuous Testing und Continuous Delivery
Dieses Video-Tutorial ist unterteilt in 4 Blöcke:
- Teil 3 Block 1 - Kontinuierliche Integration in DevOps
- Teil 3 Block 2 - Kontinuierliche Lieferung in DevOps
- Teil 3 Block 3 - Kontinuierliche Bereitstellung in DevOps
- Teil 3 Block 4 - Kontinuierliches Testen in DevOps
# 6) Video-Tutorial 4: DevOps Configuration Management und Überwachung der Live-Anwendungsleistung
Dieses Video-Tutorial ist unterteilt in 3 Blöcke:
- Teil 4 Block 1 - Konfigurationsmanagement in DevOps-Praktiken
- Teil 4 Block 2 - Release Management in DevOps
- Teil 4 Block 3 - Überwachung der Anwendungsleistung in DevOps
# 7) Video-Tutorial 5: Rückblick auf den gesamten Kurs.
- Teil 5 Block 1 - Zusammenfassung der DevOps-Video-Tutorials
Text-Tutorials:
# 8) Testen nach links verschieben
# 9) So verbessern Sie die Softwarequalität durch kontinuierliche Integration
# 10) Kontinuierlicher Lieferprozess
DevOps Tools:
#elf) DevOps Tools
# 12) Installation und Konfiguration häufig verwendeter Open Source DevOps-Tools
# 13) Beste Tools für die kontinuierliche Integration
# 14) Top Continuous Delivery Tools
Microsoft VSTS-Lernprogramm:
#fünfzehn) Microsoft VSTS Teil 1
# 16) Microsoft VSTS Teil 2
AWS DevOps Tools:
# 17) AWS DevOps Tools Teil 1 (CodeCommit)
# 18) AWS DevOps Tools Teil 2 (CodeBuild)
# 19) AWS DevOps Tools Teil 3 (CodeDeploy)
#zwanzig) Bereitstellung von .NET-Webanwendungen mit AWS Elastic Beanstalk
Ansible für DevOps:
#einundzwanzig) Ansible Teil 1: Installation und Konfiguration
# 22) Ansible Teil 2: Aufgabenautomatisierung mit Playbooks
# 2. 3) Ansible Teil 3: Ansible Rollen und Integration mit Jenkins
# 24) Integration von Jenkins mit Selen
# 25) Hudson Continuous Integration Tool
# 26) DevOps Service Provider Unternehmen
# 27) Fragen zum DevOps-Interview
Beginnen wir mit dem ersten Tutorial dieser Reihe.
Was du lernen wirst:
- Einführung in DevOps
- Übersicht über Agile und DevOps
- Geht es bei DevOps nur um Tools?
- Komponenten von DevOps
- Zusammenfassung
- Literatur-Empfehlungen
Einführung in DevOps
Bei DevOps geht es nicht nur um Tools, sondern auch um eine Reihe von Best Practices, mit denen die Lücke zwischen den Entwicklungs- und Betriebsteams in den Bereichen kontinuierliche Integration und Bereitstellung geschlossen werden kann, indem integrierte Tools zur Automatisierung der Softwarebereitstellung verwendet werden.
am besten kostenlos youtube to mp3 downloader
Es ist unbedingt erforderlich, dass die Entwickler die Betriebsseite verstehen und umgekehrt. Das Ziel von DevOps ist es daher, jedem Unternehmen dabei zu helfen, Anwendungen schnell an die Endbenutzer zu liefern und ein schnelleres Feedback der Endbenutzer zu ermöglichen, wie es heute für jedes Unternehmen erforderlich ist.
Übersicht über Agile und DevOps
Es gibt keinen Unterschied zwischen Agile und DevOps. Stattdessen ergänzen sie sich. Betrachten wir zunächst das Wasserfallmodell, bei dem alle Anforderungen eingefroren sind und Design und Entwicklung nacheinander durchgeführt werden, bis ein stabiles Produkt verfügbar ist.
Das Problem hierbei ist also, dass es keine Möglichkeit gibt, den geänderten Bedarf einzubeziehen und zu liefern, wenn sich der Bedarf des Kunden zu diesem Zeitpunkt ändert.
Um das Problem der Anpassung an die Bedürfnisse des Kunden besser anzugehen als bei der Wasserfallmethode, wurde Agile eingeführt. Die Idee dabei war, eine Software in kleineren Sprints oder Iterationen zu entwickeln, etwa 2 bis 3 Wochen, die den Entwicklungsteams dabei half, am Feedback der Endbenutzer zu arbeiten und die Änderungen in die neueren Versionen aufzunehmen.
Daher müssen Entwicklungs- und Betriebsteams in ihren Arbeitsbereichen agil sein undDevOpswurde geboren, um eine bessere Zusammenarbeit zwischen ihnen zu ermöglichen.
Agile bringt Prozesse wie XP, SCRUM usw. ein, und DevOps bringt Praktiken wie Continuous Integration, Continuous Delivery, Continuous Testing und Continuous Monitoring ein, die wir im weiteren Verlauf dieses Tutorials im Detail sehen werden.
Geht es bei DevOps nur um Tools?
In gewisser Weise können Sie argumentieren, dass Sie zur Implementierung von DevOps Tools benötigen. Es ist wahr, aber Werkzeuge sind nur Beschleuniger.
Aber eigentlich geht es um die folgenden 3 Aspekte:
Menschen ::Es ist sehr wichtig, ein hochmotiviertes Team von Menschen auszubilden und zu haben, um auf diesem gesamten Weg des kulturellen Wandels effektiv kommunizieren und zusammenarbeiten zu können.
Prozess: Da es sich um einen kulturellen Wandel für die Implementierung von DevOps handelt, ist es sehr wichtig, Praktiken und Strategien zu haben, die dem Kunden einen Mehrwert bieten. Ein geeigneter Weg wäre, eine AS-IS-Reifegradbewertung durchzuführen, Lücken zu untersuchen und einen Fahrplan für die Umsetzung geeigneter Empfehlungen vorzuschlagen.
Ich werde nicht eingehend darüber sprechen, wie ich zu diesen Bewertungen gekommen bin, aber ich werde gerne alle Beiträge dazu teilen.
Werkzeuge: Schließlich geht es darum, die Beschleuniger zu verwenden, indem der Prozess mit den heute verfügbaren Standard-DevOps-Tools automatisiert wird. Dies kann Open Source (Jenkins, Git usw.), Commercial (Microsoft TFS, VSTS, IBM Rational, Jira usw.) oder eine Mischung aus beiden sein.
Komponenten von DevOps
Ich hoffe, Sie haben inzwischen eine Vorstellung davon, was DevOps ist.
Schauen wir uns nun die folgenden 4 Komponenten von DevOps an, die aus Sicht der Implementierung den Kern bilden, und auch die Organisationen haben gute Automatisierungs-Frameworks entwickelt, um sie ihren Kunden als Service anzubieten.
- Kontinuierliche Integration
- Kontinuierliches Testen
- Kontinuierliche Lieferung
- Kontinuierliche Überwachung
Ich habe wirklich geglaubt, dass, wenn ein Entwickler in diesem Modus arbeiten muss, ein Ausführungselement wie eine Aufgabe oder ein Fehler (in Agile kann es ein Teil der User Story sein) ihm zugewiesen werden sollte, damit er die Arbeit in diesem Modus ausführen kann der Sprint-Zeitrahmen.
Noch bevor die oben aufgeführten Schritte implementiert werden können, sollten diese Entwickleraufgaben oder -fehler in einem Sprint geplant werden. Tools wie JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS usw. helfen bei der Erstellung der Agile Release / Sprint-Pläne.
Schauen wir uns nun jede dieser Komponenten im Detail an.
# 1) Kontinuierliche Integration
Als Entwickler arbeiten Sie mehrmals täglich an den Aufgaben oder Fehlern, die dem Code zugewiesen sind, und checken ihn in ein freigegebenes Repository ein. In ähnlicher Weise checken auch die anderen Mitglieder des Teams den Code in das freigegebene Repository ein.
So richten Sie eine gefälschte E-Mail ein
Anschließend integrieren Sie die gesamte Arbeit der Teammitglieder in einen gemeinsamen Build-Server und führen einen automatisierten Build durch. Das regelmäßige Durchführen dieser Integrationen und automatisierten Builds wird als kontinuierliche Integration bezeichnet.
Diese Vorgehensweise hilft, Probleme sehr früh zu erkennen und stellt sicher, dass alle integrierten Module nach Bedarf funktionieren. Wenn Sie diesen Ansatz nicht befolgen, kann die Integration der Teamarbeit einmal im Monat erfolgen, was möglicherweise zu spät ist, um Integrationsprobleme zu finden und zu beheben.
Beispiel für einen Workflow zur kontinuierlichen Integration:
# 2) Kontinuierliche Lieferung
Die kontinuierliche Lieferung ist der nächste Schritt nach der kontinuierlichen Integration. Ziel von Continuous Delivery ist es, die in die Produktion integrierte Anwendung so schnell wie möglich voranzutreiben. Während dieses Prozesses durchläuft es verschiedene Phasen im Lieferzyklus, d. H. QS, Staging, Produktionsumgebungen usw.
Dieser Prozess der regelmäßigen Bereitstellung der in verschiedenen Phasen integrierten Anwendungen wird als kontinuierliche Bereitstellung bezeichnet.
Die kontinuierliche Lieferung trägt im Vergleich zu herkömmlichen Methoden zu einer schnelleren Markteinführung bei, verringert das Risiko, senkt die Kosten, indem sie den Release-Prozess automatisiert und vor allem schnellere Rückmeldungen von den Endbenutzern zur Herstellung eines Qualitätsprodukts erhält.
Aus meiner Erfahrung habe ich gesehen, dass dieser Prozess für jede Art von Webanwendungsentwicklung gut funktioniert.
Ich habe auch eine ganze Reihe von Bewertungen zu DevOps-Implementierungen für Organisationen im Halbleitergeschäftsbereich durchgeführt, jedoch aufgrund ihrer bestehenden Freigabezyklus Dieser Bereich der kontinuierlichen Lieferung scheint nicht dazu zu passen, da es sich eher um einen Wasserfallprozess handelt, der verfolgt wird und Bereitstellungen nach Bedarf in einer Kundenumgebung durchgeführt werden.
Beispiel für einen Workflow für die kontinuierliche Lieferung:
In der obigen Abbildung können Sie verschiedene verfügbare Umgebungen betrachten, sodass diese Bereitstellung der Infrastruktur für die Umgebungen auch während dieses kontinuierlichen Bereitstellungsprozesses automatisiert werden kann.
# 3) Kontinuierliches Testen
Aus den beiden oben genannten Vorgehensweisen haben wir erfahren, dass CI und CD bei der Bereitstellung der Anwendung oder bei Änderungen an der Produktion helfen. Dieser gesamte Prozess umfasst die ordnungsgemäße Validierung des Codes und dessen Integration in alle daran beteiligten Komponenten, um sicherzustellen, dass die Anwendung wie vorgesehen funktioniert und frei von Fehlern oder Defekten ist.
Kontinuierliches Testen ist also der Prozess, bei dem verschiedene Arten von automatisierten Tests ausgeführt werden, beginnend mit dem CI-Prozess bis zur endgültigen Bereitstellung der Anwendung für die Produktion.
Sie können dem vorherigen Diagramm entnehmen, dass wir im Schritt 'Kontinuierliche Integration' alle Entwickler in einen gemeinsamen Build-Server integrieren und die Entwickler in dieser Phase eine bestimmte Anzahl von Komponententests ausführen würden.
Sobald diese Integration und Tests fehlerfrei funktionieren, werden die Anwendung oder Änderungen erst dann in der QS-Umgebung bereitgestellt, nachdem diese Qualitätsgatter und Genehmigungen beantragt wurden.
In der QS-Umgebung werden die Funktionstests ausgeführt und basieren erneut auf den Genehmigungen, die für eine Staging-Umgebung bereitgestellt werden, die wie die Produktionssysteme und die durchgeführten Abnahmetests paritätisch ist. Sobald diese Aktivität abgeschlossen ist, werden die Anwendung oder die Änderungen endgültig in den Produktionssystemen bereitgestellt.
Daher kann man hier feststellen, dass kontinuierliches Testen als Aktivität bereits in der CI-Phase selbst beginnt und ein sehr obligatorischer Schritt während des gesamten kontinuierlichen Lieferprozesses ist.
Beispiel-Testworkflow im kontinuierlichen Lieferprozess:
# 4) Kontinuierliche Überwachung
Während die Anwendung oder Änderungen in der Produktionsumgebung bereitgestellt werden, wird das Betriebsteam versuchen, die Anwendung und die Umgebung unter dem Gesichtspunkt der Verfügbarkeit, Stabilität und Verfügbarkeit zu überwachen. Dieser Vorgang wird als kontinuierliche Überwachung bezeichnet.
Die Betriebsteams verfügen über eigene Software zur Überwachung der Umgebung, müssen jedoch auch ihren Teil dazu beitragen, die bereitgestellten Anwendungen auf Probleme zu überwachen. Dazu müssten sie mit den Entwicklungsteams zusammenarbeiten, um bestimmte Tools zur Analyse der Anwendungsprobleme zu erstellen.
Im Rahmen der kontinuierlichen Überwachung werden also nur Infrastruktur-, Umgebungs- und Anwendungsprobleme überwacht.
Zusammenfassung
In diesem Tutorial haben wir erfahren, worum es beim DevOps-Prozess genau geht, einschließlich der verschiedenen Komponenten, die daran beteiligt sind. Diese Komponenten tragen dazu bei, die Anwendungsbereitstellung zu beschleunigen und Zeit für die Markteinführung zu sparen, was aus wettbewerbsrechtlicher Sicht heute erforderlich ist.
In der kommenden Reihe von Tutorials im DevOps-Segment werden Sie einen Blick auf die verschiedenen Videos / wahrscheinlichen DevOps-Tools werfen, die die Teams verwenden können, sowie auf die Implementierung von DevOps mit bestimmten Tools für On-Premise und Cloud.
Und wie gesagt und getan, habe ich die Implementierung von DevOps als aufregend empfunden, was die Betrachtung einer organisatorischen Änderung betrifft.
In unserem nächsten Tutorial erfahren Sie alles über DevOps und Softwaretests.
Literatur-Empfehlungen
- Ausführliche Eclipse-Tutorials für Anfänger
- Kontinuierliche Lieferung in DevOps
- Kontinuierliche Bereitstellung in DevOps
- DevOps-Test-Tutorial: Wie wirkt sich DevOps auf QS-Tests aus?
- Kontinuierliche Integration in DevOps
- Kontinuierliches Testen in DevOps
- Zusammenfassung der DevOps-Video-Tutorials
- AWS CodeCommit-Lernprogramm für die DevOps-Implementierung in der Cloud