Zum Inhalt

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:

  1. Kubernetes Distribution - Die Container-Plattform
  2. Polycrate - Deployment-Automation und Day-2-Ops
  3. 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:

  1. Cluster Bootstrap: Initiales Kubernetes-Cluster Setup
  2. Platform Installation: Installation aller Platform-Services
  3. App Deployment: Deployment von Managed Apps
  4. 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

  1. Entwicklung: Entwickler schreibt Code
  2. Chart erstellen: ohMyHelm als Dependency einbinden
  3. Konfiguration: values.yaml anpassen
  4. Commit: Push zu Git-Repository
  5. Deployment: GitOps (Flux/ArgoCD) oder Polycrate deployed automatisch
  6. Monitoring: Automatisch in VictoriaMetrics/Grafana sichtbar

Operations Workflow

  1. Infrastructure Setup: Polycrate bootstrapped Kubernetes-Cluster
  2. Platform Installation: Polycrate installiert alle Platform-Services
  3. App Onboarding: Neue Apps via ohMyHelm oder Polycrate Blocks
  4. Day-2 Operations: Updates, Backups, Monitoring via Polycrate
  5. 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
polycrate install myapp

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

Weitere Dokumentation