Polycrate¶
Was ist Polycrate?¶
Polycrate ist ein modernes Automatisierungs-Framework und eine Runtime für Ansible, mit dem Sie komplexe Anwendungen und IT- oder Cloud-Infrastruktur paketieren, integrieren und automatisieren können.
Der Kern: Polycrate macht heterogene IT-Infrastrukturen im Bereich Software-Delivery – also Plattformen, Cloud-Infrastruktur, App-Deployments und mehr – deterministisch automatisierbar und wartbar.
Das Problem, das Polycrate löst¶
Software kommt in allen möglichen Formen und Farben – ebenso wie die Infrastruktur, auf der sie läuft. Um Software auf die richtige Art und Weise zum Endkunden zu bringen (auszuliefern), sind zahlreiche komplexe Tools und Methoden nötig:
- Container-Orchestrierung (Kubernetes, Docker)
- Configuration Management (Ansible, Chef, Puppet)
- CI/CD-Pipelines (GitLab, Jenkins, GitHub Actions)
- Cloud-Provider-APIs (AWS, Azure, GCP, Bare Metal)
- Secrets Management, Monitoring, Logging, Networking...
Polycrate bringt all diese Tools und Methoden an einem Ort zusammen, gestützt durch ein einheitliches Framework. Die Idee dahinter: Brücken schlagen zwischen der Vielzahl an Paradigmen, die bei der Entwicklung und dem Betrieb von cloud-nativer Infrastruktur involviert sind.
Das technische Bindemittel ist Ansible – ein bewährter Industrie-Standard für Configuration Management und Automatisierung.
Der gesamte Software Development Lifecycle¶
Polycrate bringt Features mit, die sowohl Developer als auch Operatoren während des gesamten Software Development Lifecycle (SDLC) unterstützen:
┌─────────────────────────────────────────────────────────────────────┐
│ Software Delivery Lifecycle │
├──────────┬──────────┬──────────┬──────────┬──────────┬─────────────┤
│ Develop │ Build │ Test │ Deploy │ Operate │ Monitor │
│ ↓ │ ↓ │ ↓ │ ↓ │ ↓ │ ↓ │
│ Blocks │ Actions │ Actions │ Workflows│ Actions │ Artifacts │
│ Config │ Playbooks│ Playbooks│ Rollout │ Wartung │ Logging │
└──────────┴──────────┴──────────┴──────────┴──────────┴─────────────┘
Polycrate bildet den gesamten SDLC ab und ermöglicht es seinen Usern, ihre Software sicher, planbar und hochverfügbar zu entwickeln und zu betreiben.
Für wen ist Polycrate?¶
Polycrate ist für Menschen und Organisationen, die Software als Service an ihre Kunden ausliefern:
- SaaS-Anbieter, die ihre Plattform zuverlässig und reproduzierbar deployen müssen
- Managed Service Provider, die heterogene Kundenumgebungen verwalten
- Interne Platform-Teams, die Self-Service-Infrastruktur bereitstellen
- DevOps-Engineers, die den Betrieb automatisieren und standardisieren wollen
- Entwickler, die ihre Anwendungen in einer konsistenten Umgebung testen und deployen
Mit Polycrate können Sie Tools, Abhängigkeiten und Installations-Logik für beliebige IT-Systeme in modulare Blocks kapseln, diese in einem gemeinsamen Workspace zusammenführen und benutzerfreundliche Actions bereitstellen, die für jedes System einen individuellen Installations- und Wartungs-Workflow ermöglichen.

Warum Polycrate?¶
Polycrate's Framework ermöglicht es Unternehmen, Teams und einzelnen Entwicklern:
- Reproduzierbare System-Blöcke zu erzeugen, die getestet, versioniert und geteilt werden können
- Diese Blöcke mit etablierten Guard-Rails zu ganzen Systemen zusammenzustecken
- Legacy-Systeme schrittweise in die Automatisierung zu überführen
- Neue Systeme von Anfang an automatisiert zu entwickeln
- Migrationspfade von Alt nach Neu direkt in die DNA der Infrastruktur einzubauen
- Den gesamten SDLC in einem einheitlichen Workflow abzubilden
Wer nutzt Polycrate?¶
Polycrate wird von zahlreichen Unternehmen eingesetzt, um:
- Dev, Ops und DevSecOps Workflows umzusetzen
- Souveräne Systeme über mehrere Provider und Architektur-Generationen hinweg zu pflegen
- Einen kollaborativen Technologie-Layer zu etablieren, auf dem die ganze Organisation aufbauen kann
- Software sicher, planbar und hochverfügbar an ihre Kunden auszuliefern
Links¶
- PolyHub: hub.polycrate.io – Block-Marketplace und CLI-Downloads
- Polycrate API: Zentrale Web-Plattform für Teams mit Monitoring, Alerting und Kollaboration
Überblick¶
Polycrate ist ein Kommandozeilen-Tool und benötigt Docker auf dem System, auf dem es eingesetzt wird.
So funktioniert es:
- Containerisierte Ausführung: Polycrate führt alle Actions in einem Docker Container aus, der eine Vielzahl an cloud-nativen Tools enthält (Ansible, kubectl, Helm, Cloud-CLIs)
- Ansible als Kern: Polycrate bietet erstklassigen Support für Ansible-Playbooks als Action-Implementierung, mit automatischer Übergabe aller Workspace- und Block-Variablen
- Deterministische Ausführung: Der containerisierte Ansatz garantiert reproduzierbare Ergebnisse unabhängig von der lokalen Entwicklerumgebung
- Block-Bibliotheken: Fertige Blocks können von OCI-kompatiblen Registries gepullt und in Workspaces wiederverwendet werden
Der Polycrate-Ansatz¶
┌─────────────────────────────────────────────────────────────┐
│ Ihr Workspace │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Block A │ │ Block B │ │ Block C │ ... │
│ │ (Datenbank) │ │ (Cluster) │ │ (App) │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Polycrate Container (Ansible) │ │
│ │ • Einheitliche Toolchain │ │
│ │ • Konsistente Ausführungsumgebung │ │
│ │ • Automatische Artefakt-Verwaltung │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Linux │ │ Kubernetes│ │ Cloud │
│ Hosts │ │ Cluster │ │ Provider │
└───────────┘ └───────────┘ └───────────┘
Cloud Migration: Raus aus der Hyperscaler-Abhängigkeit¶
-
Von Hyperscalern zu souveräner Infrastruktur
Migrieren Sie Ihre Infrastruktur von AWS, Azure oder Google Cloud zu einer Kubernetes-nativen, standardisierten Architektur mit offenen Standards.
Polycrate ist das ideale Werkzeug für Data Act-konforme Cloud-Migration:
- ✅ Ansible-basiert: Industrie-Standard für heterogene Infrastruktur
- ✅ Kubernetes-nativ: Cloud-agnostische Ziel-Plattform
- ✅ Kostenlose Blocks: Hyperscaler-Alternativen vom PolyHub (RDS → CloudNativePG, ElastiCache → Redis, etc.)
- ✅ Provider-unabhängig: Vollständig portable Workspaces
- ✅ Data Act-konform: Offene Standards, maschinenlesbare Formate, keine Lock-ins
Architektur¶
graph TB
User[Benutzer] -->|polycrate CLI| CLI[Polycrate CLI]
CLI -->|lädt| WS[Workspace]
CLI -->|erstellt| Container[Docker Container]
WS -->|enthält| Blocks[Blocks]
WS -->|definiert| Workflows[Workflows]
WS -->|konfiguriert| Config[workspace.poly]
Container -->|führt aus| Ansible[Ansible Playbooks]
Container -->|führt aus| Kubectl[kubectl/Helm]
Ansible -->|provisioniert| Hosts[Linux Hosts]
Kubectl -->|deployed| K8s[Kubernetes Cluster]
CLI -->|push/pull| Hub[Polycrate Hub]
CLI -->|push/pull| Registry[OCI Registry]
CLI -->|erstellt| TX[Transactions]
TX -->|logged in| Logs[Transaction Logs]
Blocks -->|speichern| Artifacts[artifacts/]
Artifacts -->|enthält| Inventory[Ansible Inventory]
Artifacts -->|enthält| Kubeconfig[Kubeconfig] Polycrate orchestriert Infrastructure-as-Code über einen containerisierten Ansatz. Die CLI lädt einen Workspace, erstellt einen Docker-Container mit allen notwendigen Tools (Ansible, kubectl, Helm), und führt Actions aus Blocks aus. Alle Operationen werden als Transactions geloggt.
Kernkonzepte¶
Blocks¶
Blocks sind modulare Einheiten in Polycrate, die Tools, Abhängigkeiten und Installations-Logik für beliebige IT-Systeme kapseln. Ein Block kann:
- Ein Datenbank-Cluster sein (z.B. CloudNativePG)
- Eine Kubernetes-Installation (z.B. k3s, RKE2)
- Eine Anwendung (z.B. Victoria Metrics, Zammad)
- Ein Basis-System (z.B. Linux-Host-Konfiguration)
Workspace¶
Ein Workspace ist die gemeinsame Umgebung, in der verschiedene Blocks zusammengeführt werden. Er definiert:
- Welche Blocks verwendet werden
- Wie diese konfiguriert sind
- Welche Workflows verfügbar sind
- Wie Blocks untereinander Artefakte teilen
Actions¶
Actions sind benutzerfreundliche Befehle, die für jedes System einen individuellen Installations- und Wartungs-Workflow ermöglichen:
Nächste Schritte¶
- Cloud Migration - Migration von Hyperscalern zu souveräner Infrastruktur
- Warum Polycrate? - Die Philosophie und Vorteile von Polycrate
- Erste Schritte - Installation und Setup von Polycrate
- Konfiguration - Konfiguration von Workspaces und Blocks
- Workspace-Verschlüsselung - Sichere Verschlüsselung von Secrets mit age
- PolyHub - Block-Marketplace als Hyperscaler-Alternativen
- API Integration - Integration mit der Polycrate API
- Polycrate API (Web) - Zentrale Web-Plattform für Teams