Tag 01 - Einführung
Modulübersicht
Kursplan
Inhaltsverzeichnis
[TOC]
Tagesziel
- Modulübersicht
- Einführung in DevOps
- Was ist DevOps?
- DevOps Lifecycles
- Technologieübersicht
- Projekt Kickoff
Theorie
Willkommen zum ersten Tag unseres DevOps-Kurses! Heute legen wir das Fundament für unser gemeinsames Verständnis von DevOps und starten mit unserem Praxisprojekt - der Modernisierung des Online-Shops von TechStyle.
DevOps ist mehr als nur ein technisches Konzept - es ist eine Kultur, eine Denkweise und eine Sammlung von Praktiken, die darauf abzielen, die Zusammenarbeit zwischen Entwicklung (Development) und Betrieb (Operations) zu verbessern. In den kommenden Wochen werden wir diese Prinzipien nicht nur theoretisch erlernen, sondern sie praktisch in unserem durchgängigen Projekt anwenden.
Einführung in DevOps
1. DevOps-Prinzipien
DevOps stützt sich auf einige grundlegende Prinzipien:
-
Zusammenarbeit und Kommunikation • Entwickler und Admins arbeiten eng zusammen • Gemeinsame Verantwortung für den gesamten Lebenszyklus der Software
-
Automatisierung • Möglichst viele wiederkehrende Aufgaben werden automatisiert • Reduziert menschliche Fehler und beschleunigt Prozesse
-
Kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) • Codeänderungen werden regelmässig integriert und automatisiert getestet • Neue Versionen werden automatisch bereitgestellt
-
Monitoring und Feedback • Laufende Überwachung der Anwendungen und Infrastruktur • Schnelles Feedback bei Fehlern oder Problemen
2. DevOps Lifecycle
|
DevOps Lifecycle Phasen
|
3. Typische Probleme in IT-Projekten
IT-Projekte stehen oft vor ähnlichen Herausforderungen. Diese Probleme können zu Verzögerungen, Budgetüberschreitungen und unzufriedenen Stakeholdern führen:
🎯 Anforderungsmanagement
- Unklare Ziele: Anforderungen ändern sich ständig oder sind von Beginn an unpräzise definiert
- Fehlende Dokumentation: Wichtige Informationen gehen verloren oder werden nicht festgehalten
- Unklare Erfolgskriterien: Was bedeutet eigentlich “fertig” für dieses Projekt?
🤝 Kommunikation und Zusammenarbeit
- Silodenken: Entwicklung, Betrieb und Business arbeiten isoliert voneinander
- Informationsverlust: Bei Übergaben zwischen Teams gehen wichtige Details verloren
- Missverständnisse: Verschiedene Teams haben unterschiedliche Vorstellungen vom Projektziel
⚙️ Prozess- und Workflow-Probleme
- Verzögerungen: Abhängigkeiten und Engpässe bremsen den Projektfortschritt
- Bürokratie: Lange Freigabeprozesse verlangsamen die Entwicklung
- Manuelle Arbeit: Fehleranfällige, wiederkehrende Aufgaben werden nicht automatisiert
🔍 Qualität und Risikomanagement
- Go-Live-Angst: Unsicherheit, ob das System in der Produktion funktioniert
- Späte Fehlererkennung: Probleme werden erst entdeckt, wenn es zu spät ist
- Legacy-Integration: Alte Systeme erschweren moderne Entwicklungsansätze
👥 Ressourcen und Verantwortlichkeiten
- Kapazitätsengpässe: Zu wenig Personal für zu viele Aufgaben
- Unklare Rollen: Wer ist eigentlich wofür verantwortlich?
- Wissenslücken: Fehlende Expertise in kritischen Bereichen
💻 Technische Schulden
- Schnelle vs. saubere Lösungen: Zeitdruck führt zu Code-Qualitätsproblemen
- Vernachlässigte Architektur: Kurzfristige Fixes schaffen langfristige Probleme
- Unzureichende Versionskontrolle: Änderungen sind schlecht nachvollziehbar
Die gute Nachricht: DevOps adressiert systematisch diese typischen Probleme durch bessere Zusammenarbeit, Automatisierung und kontinuierliche Verbesserung.
4. Vertiefung
Lest den Auftrag 3 und beantwortet die dazugehörigen Fragen.
5. Warum DevOps?
DevOps hat sich in den letzten Jahren als Standard in der IT-Branche etabliert, weil es konkrete Probleme löst, die in traditionellen Softwareentwicklungsprozessen auftreten:
| Ohne DevOps | Mit DevOps |
|---|---|
| ❌ Probleme | ✅ Lösungen |
| Lange Entwicklungszyklen (Monate bis zur Auslieferung) | Schnellere Releases (täglich oder stündlich) |
| Häufige Produktionsausfälle durch Updates | Höhere Qualität durch automatisierte Tests |
| Silodenken zwischen Entwicklung und Betrieb | Bessere Zusammenarbeit als ein Team |
| Manuelle, fehleranfällige Deployment-Prozesse | Automatisierte, zuverlässige Deployments |
| Späte Fehlererkennung erst in der Produktion | Frühe Fehlererkennung durch kontinuierliche Tests |
| Reaktive Problembehandlung | Proaktive Überwachung und schnellere Fehlerbehebung |
| Isoliertes Arbeiten ohne Feedback-Schleifen | Kontinuierliches Feedback von Nutzern und Systemen |
Beispielhafte Erfolgsgeschichten:
- Netflix: Über 1000 Deployments pro Tag ohne Ausfälle
- Amazon: Deployment alle 11,7 Sekunden
- Spotify: Hunderte autonome Teams arbeiten effizient zusammen
DevOps ist heute nicht mehr nur ein “Nice-to-have”, sondern eine Notwendigkeit für Unternehmen, die in der digitalen Welt wettbewerbsfähig bleiben wollen.
6. Tooling / Technologieübersicht
Während des Kurses werden wir verschiedene DevOps-Tools und -Technologien kennenlernen:
- Versionskontrolle: Git, GitHub
- CI/CD: GitHub Actions
- Testing: Automatisierte Tests, SonarQube
- Deployment: Canary Strategien, AWS, Blue-Green
- Monitoring: Grafana, Metriken, Alerting
- Security: SAST/DAST, Dependency Management, Snyk
- Containerisierung: Docker
- Infrastructure as Code: Terraform
- GitOps: Argo CD
- Methodik: CALMS Framework, The Three Ways, MVP-Konzept
Diese Technologien werden durch praktische Übungen am Projekt TechStyle Online-Shop angewendet und vertieft.
Praxis
Auftrag 1 - Was ist DevOps? (5-10min)
Brainstorming an der Wandtafel (5-10min)
- Was versteht Ihr unter dem Begriff DevOps?
Auftrag 2 - Problemanalyse (10-15min)
Überlegt euch in der Gruppe kurz ein Projekt aus eurem Betrieb, bei dem es zu typischen IT Probelem Problemen (Typische Probleme in IT-Projekten) kam. Erstellt dazu Notizen und versucht herauszufinden, wo genau die Probleme lagen und wie sie gelöst wurden – oder eben auch nicht.
Ablauf:
- Gruppenarbeit: Diskutiert ein konkretes Projekt aus eurer Erfahrung.
- Notizen: Notiert die wichtigsten Problemfelder und deren Auswirkungen
- Plenum : Wir tragt die Erkenntnisse im Plenum zusammen und besprechen allfällige Lösungsansätze.
Auftrag 3 - Vertiefung
Beantwortet folgende Fragen mit Hilfe der Literatur.
Fragen
- Was ist DevOps und wie hat sich dieses Konzept in der IT-Branche entwickelt?
- Welche grundlegenden Prinzipien und Praktiken bilden das Fundament von DevOps?
- Wie unterscheidet sich DevOps von traditionellen IT-Ansätzen und welche konkreten Vorteile entstehen daraus?
- Was bedeuten die Begriffe “Continuous Integration” und “Continuous Delivery/Deployment” und wie funktionieren diese Prozesse in der Praxis?
- Welche kulturellen Veränderungen sind für eine erfolgreiche DevOps-Transformation notwendig?
- Welche Tool-Kategorien und beispielhafte Technologien werden in modernen DevOps-Umgebungen eingesetzt?
- Welche Herausforderungen können bei der Einführung von DevOps auftreten und wie können diese bewältigt werden?
Literatur
- https://www.atlassian.com/de/devops
- https://azure.microsoft.com/de-de/solutions/devops/tutorial
- https://about.gitlab.com/de-de/topics/devops/
- https://learn.microsoft.com/de-de/training/paths/devops-foundations-core-principles-practices/
- https://www.redhat.com/de/topics/devops
Recap - Tag01
Wir fassen im Plenum zusammen was Ihr nun nach den neuen Inputs über DevOps wisst. (5-10min)
Projekt
DevOps Storyline: TechStyle’s E-Commerce Modernisierung
| TechStyle Team | |
|---|---|
| TechStyle, ein traditionsreiches Modegeschäft mit 25-jähriger Geschichte, steht vor der fundamentalen Herausforderung der digitalen Transformation. Der aktuelle Online-Shop basiert auf einer veralteten monolithischen Architektur, die unter manuellen Deployments, langsamen Release-Zyklen und häufigen Produktionsausfällen leidet. Das Unternehmen hat erkannt, dass es eine umfassende technologische Modernisierung braucht, um im digitalen Zeitalter wettbewerbsfähig zu bleiben. Die Geschäftsleitung hat daher ein spezialisiertes DevOps-Team zusammengestellt, um die E-Commerce-Plattform grundlegend zu erneuern und moderne Entwicklungspraktiken zu implementieren. Das Team wird über die nächsten 20 Wochen einen vollständigen DevOps-Transformationsprozess durchführen - von der Einführung grundlegender Codeverwaltung und CI/CD-Pipelines bis hin zu fortgeschrittenen Konzepten wie Infrastructure as Code, Container-Orchestrierung, automatisiertem Monitoring und Incident Management. |
![]() |
AWS Login
Projekt Kick-Off
|
Story: Die Geschäftsleitung von TechStyle hat nach mehreren kritischen Ausfällen des Online-Shops und einem signifikanten Umsatzrückgang beschlossen, einen DevOps-Transformationsprozess zu starten. Heute trifft sich das neu zusammengestellte Team zum ersten Mal, um die Vision, Ziele und den Technologie-Stack für die Modernisierung zu besprechen. Das Team beginnt mit der Einrichtung der grundlegenden DevOps-Infrastruktur und erstellt ein gemeinsames Verständnis des DevOps-Lifecycles. |
|
Projektauftrag
-
Einlesen in das Projekt
- Lies das das Dokument Kickoff-Informationen für einen Überblick über das Projekt
-
AWS Setup
- Teste deinen AWS Login
-
Setup von Applikation
- Ihr installiert die Flask-App Ecommerce anhand der Anleitung. Ziel ist es, dass ihr die Applikation ganz Konventionell installieren könnt.
Ressourcen
Folien: Tag 01 Folien
