Wiki > Automatisierung, DevOps & CI/CD
Automatisierung, DevOps & CI/CD – IT schneller, stabiler und reproduzierbar
Diese Seite vertieft den Bereich Automatisierung, DevOps & CI/CD der zentralen IT-Wiki. Sie richtet sich an Administrator.innen, Entwickler.innen, Architekt.innen und Projektleiter.innen, die wiederholbare Prozesse etablieren, Release-Zyklen verkürzen und die Zusammenarbeit zwischen Entwicklung und Betrieb verbessern möchten.
Ziele und Nutzen von Automatisierung & DevOps
Automatisierung und DevOps verändern, wie IT-Teams Software und Infrastruktur bereitstellen.
- Reduzierung manueller Tätigkeiten und Fehlerquellen durch Skripte und Tools.
- Schnellere und häufigere Releases bei gleichzeitiger Qualitätsverbesserung.
- Bessere Zusammenarbeit zwischen Entwicklung, Betrieb, Qualitätssicherung und Fachbereichen.
- Transparente, nachvollziehbare und auditierbare Abläufe von Code bis Produktion.
Infrastructure as Code & Konfigurationsmanagement
Infrastructure as Code (IaC) macht Infrastruktur reproduzierbar und versionierbar.
- Beschreibung von Servern, Netzwerken und Diensten in deklarativen Templates (z. B. YAML, HCL).
- Einsatz von Tools für Konfigurationsmanagement und Provisionierung (z. B. Ansible, Terraform-artige Ansätze).
- Versionierung der Infrastrukturdefinitionen mit Git, Pull-Requests und Code-Reviews.
- Aufbau von wiederverwendbaren Rollen, Modulen und Playbooks für Standardaufgaben.
Skripting & Orchestrierung
Skripte und Orchestrierungslösungen bilden häufig den Einstieg in Automatisierung.
- Verwendung von Shell, PowerShell oder Python für wiederkehrende Aufgaben.
- Orchestrierung komplexer Abläufe über mehrere Systeme und Umgebungen hinweg.
- Gestaltung von Wartungsfenstern, Rollouts und Massenänderungen als automatisierte Workflows.
- Umgang mit Fehlerbehandlung, Logging und Rücksetzmechanismen (Rollback).
DevOps-Kultur & Arbeitsweisen
DevOps ist mehr als Tooling – es beschreibt eine andere Art der Zusammenarbeit.
- Gemeinsame Verantwortung für Anwendungen über deren gesamten Lebenszyklus.
- Feedback-Schleifen zwischen Entwicklung, Betrieb, Test und Nutzenden.
- Einsatz agiler Methoden, Kanban-Boards und transparenter Metriken.
- Fokus auf kontinuierliche Verbesserung, Learning Culture und blameless Postmortems.
CI/CD-Grundlagen: Build, Test, Deploy
Continuous Integration (CI) und Continuous Delivery/Deployment (CD) strukturieren den Weg von Code bis Produktion.
- Automatisches Bauen von Anwendungen bei jedem Commit (Build-Pipelines).
- Automatisierte Tests (Unit-, Integrations-, API- und ggf. UI-Tests) als Qualitätssicherung.
- Erstellung von Artefakten (Container-Images, Pakete) und deren Ablage in Repositories.
- Automatisierte oder teilautomatisierte Deployments in Test-, Staging- und Produktionsumgebungen.
Pipeline-Tools & Plattformen
CI/CD-Pipelines werden durch spezialisierte Plattformen umgesetzt.
- Nutzung von Git-basierten Plattformen mit integrierten Pipelines (z. B. GitLab CI/CD, GitHub Actions).
- Einsatz klassischer Pipeline-Server wie Jenkins oder vergleichbaren Lösungen.
- Modellierung von Pipelines als Code, inklusive Stages, Jobs, Triggers und Bedingungen.
- Integration von Security-Scans (DevSecOps), Linter und Code-Quality-Metriken.
Automatisiertes Deployment & Rollback-Strategien
Automatisierte Deployments machen Releases reproduzierbar und planbar.
- Blue-Green-, Canary- und Rolling-Deployment-Strategien für risikoärmere Einführungen.
- Trennung von Build und Deployment, Konfiguration per Environment Variablen oder Secrets.
- Rollback-Konzepte, mit denen bei Problemen schnell auf eine stabile Version zurückgegangen werden kann.
- Umgang mit Datenbankmigrationen und Schema-Änderungen in automatisierten Abläufen.
Monitoring, Logging & Observability im DevOps-Kontext
Ohne Transparenz ist Automatisierung riskant – Monitoring gehört dazu.
- Erfassung von Metriken (z. B. Antwortzeiten, Fehlerquoten, Ressourcenauslastung).
- Zentrales Logging und Tracing für Anwendungen und Infrastruktur.
- Dashboards und Alerting für schnelle Reaktion bei Störungen.
- Nutzung von Kennzahlen wie Deployment-Frequenz, Mean Time to Recovery (MTTR) und Change Failure Rate.
Security by Design & DevSecOps
Sicherheit wird idealerweise in den DevOps-Prozess integriert.
- Einbau von Security-Checks in Build- und Release-Pipelines (z. B. Dependency-Scans).
- Härtung von Build- und Deployment-Umgebungen.
- Umgang mit Secrets, Zertifikaten und Schlüsseln in automatisierten Prozessen.
- Schulung von Teams im sicheren Umgang mit Tools, Skripten und Pipelines.
