Software Delivery Plattform¶
Die ayedo Software Delivery Plattform ist eine integrierte Lösung für die Bereitstellung, den Betrieb und die Wartung von Cloud-Native-Anwendungen in produktionsreifen Kubernetes-Umgebungen.
Was ist die Software Delivery Plattform?¶
Die ayedo Software Delivery Plattform kombiniert drei Kernkomponenten zu einer ganzheitlichen Lösung:
- Kubernetes Distribution - Die Container-Plattform
- Polycrate - Deployment-Automation und Day-2-Ops
- ohMyHelm - Developer-freundliche Helm-Charts
Diese Komponenten arbeiten nahtlos zusammen und bieten eine vollständige Software Delivery Pipeline von der Entwicklung bis zum Betrieb.
Komponenten im Überblick¶
graph TB
subgraph SoftwareDeliveryPlatform[Software Delivery Plattform]
subgraph Dev[Entwicklung]
Developer[Entwickler]
ohMyHelm[ohMyHelm<br/>Helm Chart Wrapper]
end
subgraph Ops[Operations]
Polycrate[Polycrate<br/>Deployment & Automation]
K8s[Kubernetes Distribution<br/>Container Platform]
end
subgraph Apps[Anwendungen]
ManagedApps[50+ Managed Apps<br/>GitLab, Vault, etc.]
CustomApps[Custom Apps]
end
end
Developer -->|schreibt Code| ohMyHelm
ohMyHelm -->|erzeugt| HelmChart[Helm Chart]
HelmChart -->|deployed via| Polycrate
Polycrate -->|orchestriert| K8s
K8s -->|betreibt| ManagedApps
K8s -->|betreibt| CustomApps
Polycrate -->|verwaltet| ManagedApps Kubernetes Distribution¶
Die ayedo Kubernetes Distribution ist eine produktionsreife, vollständig verwaltete Kubernetes-Plattform mit integrierten Plattform-Services.
Kernfeatures¶
- Cilium - eBPF-basiertes Networking und Network Policies
- VictoriaMetrics - Metriken und Monitoring
- VictoriaLogs - Zentralisierte Log-Aggregation
- Harbor - Container Registry mit Image Scanning
- Keycloak - Identity und Access Management
- Kyverno - Policy-Enforcement
- Cert-Manager - Automatisierte TLS-Zertifikatsverwaltung
- Velero - Backup und Disaster Recovery
Vorteile¶
- ✅ Produktionsreif: Bewährte CNCF-Komponenten
- ✅ Open Source: Kein Vendor Lock-In
- ✅ DSGVO-konform: Betrieb in europäischen Rechenzentren
- ✅ 24/7 Support: Managed Service mit persönlichem Support
- ✅ Compliance: BSI IT-Grundschutz, GDPR, NIS2, ISO 27001
Managed Apps¶
Über 50 vorkonfigurierte Anwendungen sind als Managed Apps verfügbar:
- DevOps: GitLab, ArgoCD, Flux, Harbor
- Datenbanken: PostgreSQL, MongoDB, Redis, ClickHouse
- Identity: Keycloak, Authentik, Zitadel
- Monitoring: Grafana, VictoriaMetrics, InfluxDB
- Messaging: Kafka, RabbitMQ, NATS
- und viele mehr...
Weitere Informationen:
Polycrate¶
Polycrate ist das Deployment-Automation-Framework, das die Installation, Konfiguration und Day-2-Operations der gesamten Plattform orchestriert.
Was macht Polycrate?¶
Polycrate paketiert komplexe Anwendungen und Infrastruktur in wiederverwendbare Blocks:
- Kubernetes-Cluster selbst
- Plattform-Komponenten (Cilium, Monitoring, Logging)
- Managed Apps (GitLab, Harbor, Datenbanken)
- Custom Applications
Kernkonzepte¶
Blocks¶
Modulare Einheiten, die Tools, Dependencies und Installations-Logik kapseln:
# workspace.poly
name: my-platform
blocks:
- name: gitlab
from: cargo.ayedo.cloud/ayedo/k8s/gitlab:1.0.0
config:
domain: gitlab.example.com
storage_size: 100Gi
- name: harbor
from: cargo.ayedo.cloud/ayedo/k8s/harbor:2.0.0
config:
domain: harbor.example.com
Workspaces¶
Gemeinsame Umgebung, in der Blocks zusammengeführt werden:
my-workspace/
├── workspace.poly # Workspace-Konfiguration
├── blocks/ # Block-Verzeichnisse
│ ├── custom-app/
│ └── monitoring/
├── artifacts/ # Generierte Artefakte
│ └── blocks/
│ ├── gitlab/
│ └── harbor/
└── .logs/ # Transaction Logs (optional)
Actions¶
Benutzerfreundliche Befehle für Workflows:
# Action eines Blocks ausführen
polycrate run gitlab install
# Shortcut für install Action
polycrate install gitlab
# Weitere Actions
polycrate run gitlab backup
polycrate run harbor upgrade
polycrate run monitoring status
Vorteile¶
- Infrastructure as Code: Deklarative Konfiguration in Git
- Wiederverwendbarkeit: Blocks können über Projekte hinweg genutzt werden
- Versionierung: Alle Changes nachvollziehbar via Git
- PolyHub: Zentrales Repository für geteilte Blocks
Integration mit Kubernetes Distribution¶
Polycrate deployed und verwaltet die gesamte Kubernetes Distribution:
- Cluster Bootstrap: Initiales Kubernetes-Cluster Setup
- Platform Installation: Installation aller Platform-Services
- App Deployment: Deployment von Managed Apps
- Day-2 Operations: Updates, Backups, Monitoring
Weitere Informationen:
ohMyHelm¶
ohMyHelm ist ein universeller Helm Chart Wrapper, der es Entwicklern ermöglicht, ihre Anwendungen ohne eigene Chart-Entwicklung auf Kubernetes zu deployen.
Was macht ohMyHelm?¶
ohMyHelm stellt vorgefertigte, flexible Helm Chart Templates bereit, die über die values.yaml konfiguriert werden können.
Hauptfunktionen¶
Chart-Funktion¶
Wenn chart.enabled: true:
- Deployment/StatefulSet - Flexibel wählbar
- Service - Automatische Service-Konfiguration
- Ingress - TLS und Routing
- RBAC - ServiceAccount und Permissions
- HPA - Horizontal Pod Autoscaler
- ConfigMaps & Secrets - Konfiguration und Credentials
- Init-Container & Sidecars - Multi-Container-Pods
- Jobs - Pre-/Post-Install Jobs
- Volumes - Persistent Storage
Helper-Funktionen¶
Unabhängige Helper, die auch standalone verwendet werden können:
- Namespaces - Namespace-Erstellung
- Docker Registry Secrets - Image Pull Secrets
- Secrets - Generische Secrets mit Auto-Generierung
- TLS Secrets - TLS-Zertifikate
- ConfigMaps - Konfigurationsdateien
- Ingress - Standalone Ingress
- ServiceMonitor - Prometheus-Monitoring
Vorteile für Entwickler¶
- ✅ Keine Template-Entwicklung: Fertige, getestete Templates
- ✅ Wiederverwendbar: Ein Chart für viele Apps
- ✅ Flexibel: Von einfach bis komplex
- ✅ Konsistent: Gleiche Struktur für alle Apps
- ✅ GitOps-freundlich: Deklarative Konfiguration
Beispiel¶
# Chart.yaml
dependencies:
- name: ohmyhelm
alias: myapp
repository: https://gitlab.com/ayedocloudsolutions/ohmyhelm
version: 1.13.0
# values.yaml
myapp:
chart:
enabled: true
image:
repository: myapp
tag: 1.0.0
ingress:
enabled: true
host: myapp.example.com
tls: true
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 10
Integration mit der Plattform¶
ohMyHelm nutzt automatisch alle Platform-Services:
- Cert-Manager: Automatische TLS-Zertifikate
- Monitoring: ServiceMonitor für VictoriaMetrics
- Logging: Logs werden automatisch gesammelt
- Network Policies: Via Kyverno oder manuell
- Backup: Velero Annotations
Weitere Informationen:
Wie die Komponenten zusammenarbeiten¶
Developer Workflow¶
- Entwicklung: Entwickler schreibt Code
- Chart erstellen: ohMyHelm als Dependency einbinden
- Konfiguration:
values.yamlanpassen - Commit: Push zu Git-Repository
- Deployment: GitOps (Flux/ArgoCD) oder Polycrate deployed automatisch
- Monitoring: Automatisch in VictoriaMetrics/Grafana sichtbar
Operations Workflow¶
- Infrastructure Setup: Polycrate bootstrapped Kubernetes-Cluster
- Platform Installation: Polycrate installiert alle Platform-Services
- App Onboarding: Neue Apps via ohMyHelm oder Polycrate Blocks
- Day-2 Operations: Updates, Backups, Monitoring via Polycrate
- Incident Response: 24/7 Support durch ayedo-Team
Beispiel: Neue App deployen¶
Als Entwickler (mit ohMyHelm):
# 1. ohMyHelm Chart erstellen
helm create myapp
# Chart.yaml: ohMyHelm als Dependency
# 2. Konfigurieren
vim values.yaml
# 3. Deployen
helm install myapp ./myapp
Als Platform Admin (mit Polycrate):
# workspace.poly
blocks:
- name: myapp
from: cargo.ayedo.cloud/ayedo/k8s/generic-app:1.0.0
config:
image: myapp:1.0.0
replicas: 3
Vorteile der integrierten Plattform¶
Für Entwickler¶
- Schneller Einstieg: Keine Kubernetes-Expertise erforderlich
- Standardisiert: Bewährte Patterns und Best Practices
- Self-Service: Unabhängiges Deployment ohne Ops-Team
- Monitoring inklusive: Automatische Integration mit Grafana
Für Operations¶
- Automatisierung: Polycrate orchestriert alles
- Konsistenz: Gleiche Patterns über alle Umgebungen
- Wartbarkeit: Infrastructure as Code via Git
- Skalierbarkeit: Von 1 bis 100+ Anwendungen
Für das Business¶
- Time-to-Market: Schnellere Releases
- Kostenkontrolle: Transparente, planbare Kosten
- Compliance: GDPR, BSI, NIS2, ISO 27001
- Support: 24/7 Managed Service
Erste Schritte¶
1. Kubernetes Distribution kennenlernen¶
Verstehen Sie die Plattform-Features und verfügbaren Managed Apps:
2. Polycrate für Deployment nutzen¶
Lernen Sie, wie Sie Infrastruktur und Apps mit Polycrate verwalten:
3. Apps mit ohMyHelm entwickeln¶
Deployen Sie Ihre erste App ohne eigenes Helm Chart:
Support¶
- E-Mail: support@ayedo.de
- Website: ayedo.de
- PolyHub: hub.polycrate.io
- Discord: ayedo Discord