Die zugrundeliegende Projektarbeit befasst sich mit der Fragestellung, wie IT-Unternehmen die Softwareentwicklung gestalten sollten, damit sowohl die Geschwindigkeit der Softwareauslieferung als auch die Softwarequalität gesteigert werden können. Im zweiten Kapitel wird als erstes die Konfliktsituation in IT-Unternehmen geschildert und die daraus resultierenden Folgen wiedergegeben. Anschließend wird das Thema DevOps eingeführt und die Grundprinzipien von DevOps herausgearbeitet. Die Grundprinzipien von DevOps eignen sich im besonderen Maße, um die Funktionsweise von DevOps zu veranschaulichen und um darzustellen, wie DevOps-Prinzipien oder - Methoden genutzt werden können, um eine effizientere Softwareentwicklung zu ermöglichen.
Im darauffolgenden Kapitel wird als erstes der allgemeine Software-Entwicklungszyklus dargestellt, weil der Deployment-Prozess ein Teil des Software-Entwicklungszyklus ist. Daraufhin werden die einzelnen Phasen der Deployment-Pipeline beschrieben. Die präzise Ausarbeitung der einzelnen Deployment-Phasen und die Beschreibung der Tools und Technologien können als Orientierung bei der Implementierung einer Deployment-Pipeline genutzt werden. Im Anschluss daran werden die drei unterschiedlichen Automatisierungsstufen der CI/CD-Pipeline veranschaulicht und gegenübergestellt.
Abschließend werden im Fazit die erzielten Ergebnisse im Rahmen der vorliegenden Projektarbeit wiedergegeben und die zukünftige Entwicklung von DevOps prognostiziert. Aufgrund der Rahmenbedingung der Projektarbeit konnten nicht alle Themenaspekte von DevOps behandelt werden. Folgende relevante Themengebiete fehlen: Microservices, Monitoring, Logging und agile Vorgehensmodelle.
Inhaltsverzeichnis
1. Einleitung
1.1 Problemstellung und Zielsetzung
1.2 Aufbau der Arbeit
2. DevOps
2.1 Einführung
2.2 Grundprinzipien
3. CI/CD-Pipeline
3.1 Software-Lebenszyklus
3.2 Phasen der Pipeline
3.3 Continuous Integration
3.4 Continuous Delivery- & Continuous Deployment-Pipeline
4. Fazit
5. Literaturverzeichnis
Zielsetzung & Themen
Die Arbeit untersucht, wie IT-Unternehmen ihre Softwareentwicklung durch DevOps-Kultur und Automatisierung effizienter gestalten können, um die Geschwindigkeit der Softwareauslieferung bei gleichzeitig hoher Qualität zu steigern.
- Überwindung des Konflikts zwischen Softwareentwicklung und IT-Betrieb
- Etablierung der DevOps-Kultur und der zentralen CALMS-Prinzipien
- Analyse der Phasen des Software-Lebenszyklus und der Deployment-Pipeline
- Automatisierung durch Continuous Integration, Delivery und Deployment
- Bewertung von Erfolgsfaktoren für eine beschleunigte, risikolarme Softwarebereitstellung
Auszug aus dem Buch
2.1 Einführung
Der Begriff DevOps setzt sich aus den beiden englischen Wörtern Development (dt. Entwicklung) und Operations (dt. IT-Betrieb) zusammen. Damit werden die jeweiligen Organisationseinheiten im IT-Bereich angesprochen, die in einer traditionellen Organisation klassischerweise separat voneinander arbeiten und unterschiedliche Ziele verfolgen.
Die Softwareentwicklung ist für die Herstellung von Software, deren kontinuierliche Weiterentwicklung und für ihre Einbettung in bestehende Softwarearchitekturen zuständig. In der Regel endet die Verantwortung der Softwareentwickler mit dem Akzeptanztest und der Freigabe der Software für die Übernahme in die Produktivumgebung. Des Weiteren ist die Softwareentwicklung häufig dafür verantwortlich, auf Marktänderungen zu reagieren. Ein Beispiel hierfür ist z.B. die kontinuierlich ansteigende Datenmasse. Softwareentwickler verwenden innovative Technologien, wie NoSQL-Datenbanken oder Data Mining, um riesige Datenmengen schneller und flexibler verarbeiten zu können.
Der IT-Betrieb hingegen visiert ein hohes Maß an Stabilität, Verfügbarkeit und Sicherheit an. Folglich setzt der IT-Betrieb auf ausgereifte und bewährte Technologien sowie auf stabile Prozesse. Infolgedessen ist der IT-Betrieb des Öfteren kritisch gegenüber Änderungen in der Produktivumgebung. In die Zuständigkeit des IT-Betriebs fällt die anschließende Installation und Konfiguration der Software in die Produktivumgebung.
Beide Organisationseinheiten verfolgen unterschiedliche Ziele. Hinzu kommt noch, dass wenn im Rahmen der Softwareentwicklung die Erfordernisse des Betriebs für eine reibungslose Inbetriebnahme nicht ausreichend berücksichtigt werden, das Deployment sich verspätet oder fehlschlägt.
Zusammenfassung der Kapitel
1. Einleitung: Die Einleitung beleuchtet die Notwendigkeit von Flexibilität und hoher Reaktionsgeschwindigkeit in der IT, um im Wettbewerb zu bestehen, und führt in die Problematik des Konflikts zwischen Entwicklung und Betrieb ein.
2. DevOps: Dieses Kapitel definiert DevOps als kollaborative Kultur zur Vereinheitlichung von Menschen, Prozessen und Technologien und erläutert die CALMS-Grundprinzipien.
3. CI/CD-Pipeline: Der Abschnitt beschreibt den Software-Lebenszyklus sowie die technischen Phasen der Pipeline von der Entwicklung über den Commit bis hin zum automatisierten Deployment und Release.
4. Fazit: Das Fazit fasst zusammen, dass DevOps durch Automatisierung und kulturellen Wandel maßgeblich zur Steigerung der Deployment-Frequenz und Softwarequalität beiträgt.
5. Literaturverzeichnis: Hier werden sämtliche in der Arbeit verwendeten Quellen und Fachpublikationen detailliert aufgelistet.
Schlüsselwörter
DevOps, Softwareentwicklung, IT-Betrieb, CI/CD-Pipeline, Automatisierung, Continuous Integration, Continuous Delivery, Continuous Deployment, Softwarequalität, Software-Lebenszyklus, CALMS, Deployment-Frequenz, Time-to-Market, Versionsverwaltung, Softwarebereitstellung
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit behandelt die Implementierung von DevOps-Praktiken in IT-Unternehmen, um die Zusammenarbeit zwischen Softwareentwicklung und IT-Betrieb zu verbessern.
Was sind die zentralen Themenfelder der Publikation?
Die Arbeit konzentriert sich auf die Konfliktsituation zwischen Entwicklung und Betrieb, die Grundprinzipien von DevOps und die technische Ausgestaltung von CI/CD-Pipelines.
Was ist das primäre Ziel der Untersuchung?
Das Ziel ist die Beantwortung der Frage, wie IT-Unternehmen die Softwareentwicklung gestalten müssen, um sowohl die Geschwindigkeit der Auslieferung als auch die Softwarequalität zu erhöhen.
Welche wissenschaftliche Methode wurde verwendet?
Es handelt sich um eine theoretische Projektarbeit, die auf einer umfassenden Literaturanalyse und der Auswertung bestehender DevOps-Frameworks basiert.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in die Einführung in DevOps, die Erläuterung der Grundprinzipien (CALMS) und eine detaillierte technische Analyse der Phasen einer CI/CD-Pipeline.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wichtige Begriffe sind DevOps, CI/CD-Pipeline, Automatisierung, Software-Lebenszyklus und Continuous Integration.
Was ist der Hauptunterschied zwischen Continuous Delivery und Continuous Deployment?
Während bei Continuous Delivery das Release zum Produktivsystem weiterhin manuell erfolgt, sind bei Continuous Deployment alle Phasen der Pipeline vollständig automatisiert.
Warum sollte der Einsatz einer Continuous Deployment-Pipeline in der Medizintechnik kritisch hinterfragt werden?
Aufgrund der hohen Anforderungen an Sicherheit und Stabilität in kritischen Anwendungsbereichen kann ein zu hoher Automatisierungsgrad ohne manuelle Freigabe Risiken bergen, weshalb hier ein reduzierter Ansatz ratsam ist.
- Arbeit zitieren
- Döndü Emili (Autor:in), 2021, Einführung von DevOps. Verbesserung der Geschwindigkeit der Softwareauslieferung und der Softwarequalität, München, GRIN Verlag, https://www.hausarbeiten.de/document/1133335