Delivery Operations¶
Delivery Operations umfasst Methoden, Tools und Guardrails, die Anwendungsentwickler beim sicheren und zuverlässigen Deployment von Anwendungen auf der ayedo Software Delivery Plattform unterstützen.
Überblick¶
Die ayedo SDP bietet zahlreiche Guardrails (Leitplanken), die es einfach machen, Anwendungen sicher und compliant zu deployen. Diese Guardrails sind technische Safeguards, die automatisch Best Practices durchsetzen und häufige Fehler verhindern.
Wir wissen, dass Sie sich um die Sicherheit und Verfügbarkeit Ihrer Anwendung kümmern. Aber all diese Mühe ist verschwendet, wenn die Plattform es Ihnen erlaubt, triviale Fehler zu machen. Deshalb macht es die ayedo SDP einfach, es richtig zu machen.
Was sind Guardrails?¶
Guardrails sind automatische Sicherheitsmaßnahmen, die mittels Kyverno Policies durchgesetzt werden. Sie:
- Validieren Kubernetes-Ressourcen vor dem Deployment
- Verhindern unsichere oder nicht-compliant Konfigurationen
- Erzwingen Best Practices automatisch
- Reduzieren menschliche Fehler
Wichtig: CNIL Datenschutz-Strafe
Am 27. Januar 2021 verhängte die französische Datenschutzbehörde (CNIL) eine Geldstrafe sowohl gegen den Datenverantwortlichen als auch gegen den Auftragsverarbeiter, weil sie ihre Sicherheitsverpflichtungen nicht erfüllt hatten. Details: Fieldfisher Artikel
Einige dieser Guardrails mögen "unbequem" und "einfach zu deaktivieren" erscheinen. Angesichts enger Fristen könnte es verlockend sein, Administratoren unter Druck zu setzen, einige dieser Guardrails zu deaktivieren.
Behalten Sie diese Guardrails bei, um kostspielige Strafen zu vermeiden. Ein Guardrail sollte nur deaktiviert werden, wenn eine Risikoanalyse ergeben hat, dass die Implementierungskosten das Risiko für personenbezogene Daten überwiegen.
Relevante Vorschriften¶
GDPR Art. 32¶
GDPR Artikel 32 fordert:
Unter Berücksichtigung des Stands der Technik [...] treffen der Verantwortliche und der Auftragsverarbeiter [...] geeignete technische und organisatorische Maßnahmen [...] sowie ein Verfahren zur regelmäßigen Überprüfung, Bewertung und Evaluierung der Wirksamkeit der technischen und organisatorischen Maßnahmen zur Gewährleistung der Sicherheit der Verarbeitung.
Bei der Beurteilung des angemessenen Schutzniveaus sind insbesondere die Risiken zu berücksichtigen, die sich aus der Verarbeitung ergeben, insbesondere durch unbeabsichtigte oder unrechtmäßige Vernichtung, Verlust, Veränderung, unbefugte Offenlegung von oder unbefugten Zugriff auf übermittelte personenbezogene Daten [...]. [Hervorhebung hinzugefügt]
BSI IT-Grundschutz¶
APP.4.4.A13: Zugriffsschutz
Die Ressourcen der Workload-Cluster SOLLTEN ausschließlich aus entsprechenden Namespaces zugewiesen werden.
Kategorien von Guardrails¶
Die ayedo SDP implementiert Guardrails in folgenden Kategorien:
Security Guardrails¶
- Verbot privilegierter Container - Keine Root-Container
- Keine latest Tags - Explizite Versionierung erforderlich
- Trusted Registries - Nur vertrauenswürdige Container Registries
- Network Policies erforderlich - Netzwerk-Segmentierung
Reliability Guardrails¶
- Resource Requests erforderlich - CPU/Memory Requests
- Minimum Replicas - Mindestens 2 Replicas in Production
- PodDisruptionBudgets - Hochverfügbarkeit
- Kein Pod ohne Controller - Pods nur via Deployment/StatefulSet
- Job TTL - Automatisches Cleanup von Jobs
Operational Guardrails¶
- Keine LoadBalancer Services - Nur Ingress erlaubt
- Kein lokaler Storage - Persistente Volumes erforderlich
- Default Topology Spread - Pods über Nodes verteilen
Wie hilft die ayedo SDP?¶
Die ayedo SDP implementiert Guardrails mittels Kyverno:
Enforce Mode¶
Im Enforce Mode werden Deployments, die gegen Guardrails verstoßen, blockiert:
$ kubectl apply -f deployment.yaml
Error from server: error when creating "deployment.yaml":
admission webhook "validate.kyverno.svc" denied the request:
resource Deployment/default/myapp was blocked due to the following policies
require-non-root:
check-runAsNonRoot: 'validation error: Running as root is not allowed.
rule check-runAsNonRoot failed at path /spec/template/spec/securityContext/runAsNonRoot/'
Audit Mode¶
Im Audit Mode werden Verstöße geloggt, aber nicht blockiert. Dies ermöglicht schrittweise Einführung:
- Policy-Violations werden im Policy as Code Dashboard angezeigt
- Teams können Violations identifizieren und beheben
- Gradueller Rollout zu Enforce Mode
Application Deployment Workflow¶
Die ayedo SDP bietet einen vollständigen End-to-End-Workflow für Application Deployments:
graph LR
A[Source Code] --> B[ohMyHelm Package]
B --> C[Build Image]
C --> D[Push to Harbor]
B --> E[Package Chart]
E --> D
D --> F[ArgoCD]
F --> G{Guardrails Check}
G -->|OK| H[Deploy to Cluster]
G -->|Violation| I[Blockiert]
I --> J[Fix & Retry]
J --> F Workflow-Schritte:
- Package mit ohMyHelm - Guardrails-compliant Helm Chart erstellen
- Build & Push zu Harbor - Container Image und Helm Chart in Registry
- Deploy mit ArgoCD - GitOps-basiertes Deployment auf Kubernetes
- Guardrails validieren - Automatische Policy-Checks via Kyverno
- Monitoring - Application-Status in Grafana überwachen
→ Siehe Application Deployment Guide für Details
Best Practices für Entwickler¶
1. Machen Sie sich mit Guardrails vertraut¶
Lesen Sie die Guardrails-Dokumentation und verstehen Sie, welche Policies aktiv sind.
2. Testen Sie lokal¶
Nutzen Sie Tools wie kyverno CLI für lokale Tests:
3. Folgen Sie Best Practices¶
Die meisten Guardrails erzwingen etablierte Best Practices. Wenn Sie diese folgen, sollten Deployments problemlos funktionieren.
4. Verstehen Sie Fehlermeldungen¶
Kyverno gibt klare Fehlermeldungen, die genau erklären, was korrigiert werden muss.
Weiterführende Ressourcen¶
- Application Deployment Guide - End-to-End Deployment-Workflow
- Guardrails im Detail - Alle Guardrails erklärt
- Policy as Code - Technische Details zu Kyverno
- Best Practices - Allgemeine Best Practices
- ohMyHelm - Helper für compliant Deployments
Support¶
Bei Fragen zu Guardrails oder Delivery Operations:
- E-Mail: support@ayedo.de
- Website: ayedo.de
- Discord: ayedo Discord