(030) 449 25 45

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.