Plattformarchitektur
Codesphere ist eine virtuelle Cloud-Plattform, die eine mehrschichtige Architektur verwendet. Die Plattform besteht aus zwei Hauptschichten: der Infrastructure Layer (IaaS) und der Platform Layer. Jede Schicht hat eigene Verantwortlichkeiten und stellt spezifische Schnittstellen für Nutzer und Administratoren bereit.
Architekturüberblick
Die Platform Layer (PaaS) ist für Unternehmensumgebungen konzipiert und bietet eine virtuelle Cloud-Schicht mit Funktionen, die typischerweise bei großen Public-Cloud-Anbietern zu finden sind — darunter Managed Runtimes & Datenbanken, Developer Workspaces, Managed Services, Observability, API- & CLI-Tools sowie Team-Kollaboration. Das Gesamtpaket umfasst ein Installer-Produkt, das Unternehmen ermöglicht, den gesamten Plattform-Stack selbst zu hosten und das die Bereitstellung und Konfiguration aller notwendigen Infrastrukturkomponenten übernimmt.

Zugehörige barrierefreie Textbeschreibung
Infrastructure Layer (IaaS)
Die grundlegende Schicht stellt die Kerninfrastrukturkomponenten bereit. Diese werden über das Codesphere OMS (Operations Management System) verwaltet und umfassen:
- Kubernetes: Verteiltes Compute für Runtimes und Services
- Ceph: Verteilter Speicher (Block, Objekt und Datei) für persistente Datenanwendungsfälle
- Networking: Load Balancing, Ingress und Service Mesh
Dieser Technologie-Stack macht Codesphere unabhängig von der zugrunde liegenden Infrastruktur. Die Schicht kann in verschiedenen Umgebungen bereitgestellt werden, darunter On-Premises-Rechenzentren, Private Clouds und Public-Cloud-Anbieter. Weitere Informationen zu Bereitstellungsoptionen und Cluster-Einrichtung findest du im Installationsleitfaden.
Platform Layer (PaaS)
Die Anwendungs- und Lifecycle-Management-Schicht stellt Komponenten für Entwicklungsteams und Plattformbetreiber bereit, darunter:
- Lifecycle Management: Git-basierte Versionierung, CI/CD-Pipelines und unterbrechungsfreie Deployments
- Managed Services: Kuratierter Katalog von Datenbanken, Speicher-, Messaging- und Caching-Diensten
- Runtime-Umgebungen: Unterstützung für Container, Kubernetes und VMs
- Entwicklungstools: Kollaborative IDE, Remote-Entwicklung und Debugging-Funktionen
- Runtime-Umgebungen: Unterstützung für Container, Kubernetes und VMs
- Observability: Monitoring, Logging, Tracing und Nutzungsverfolgung (Cost- & FinOps-Einblicke)
- Multi-Tenancy: Ressourcenisolierung, RBAC und Policy-Durchsetzung
- APIs & Integration: REST-API, CLI und Kubernetes-Operator für Automatisierung
Landscapes: Zusammenstellung von Microservice-Architekturen
Im Zentrum der Platform Layer steht das Konzept der Landscapes — deklarative Deployment-Konfigurationen, die es Teams ermöglichen, vollständige Microservice-Architekturen zusammenzustellen. Eine Landscape wird durch eine einzige ci.yml-Datei definiert, die Folgendes festlegt:
- Mehrere Runtimes: Bereitstellung verschiedener Services mit unterschiedlichen Runtime-Typen (Container, VMs oder Kubernetes)
- Managed Services: Anbindung von Datenbanken, Caches, Message Queues und Speicherdiensten aus dem kuratierten Katalog
- Private Networking: Sichere Service-zu-Service-Kommunikation innerhalb des isolierten Netzwerks der Landscape
- Routing & Load Balancing: Konfiguration von Load Balancing, Domain-Mapping und pfadbasiertem Routing
Diese Anwendungsbereitstellung mit IaC ermöglicht es Teams, ihre gesamte Anwendungstopologie versioniert zu verwalten, wodurch sie über Umgebungen hinweg reproduzierbar und einfach gemeinsam bearbeitbar wird. Jede Landscape ist mit einem Workspace gekoppelt, der die Entwicklungstools, CI/CD-Pipelines und Monitoring-Funktionen bereitstellt, die zum Erstellen, Bereitstellen und Betreiben der in dieser Landscape definierten Services benötigt werden.
So kannst du es dir vorstellen
Landscapes kombinieren die Multi-Service-Orchestrierung von Docker Compose mit der skalierbaren Infrastrukturbereitstellung von Terraform — alles in einer einzigen Datei mit integrierten CI/CD-Pipelines, Monitoring und unterbrechungsfreien Deployments. Definiere deine gesamte Microservice-Architektur, stelle Datenbanken und Infrastruktur bereit und konfiguriere Networking und Routing — alles aus einer deklarativen Konfiguration heraus.
Erfahre mehr über Landscapes & Workspaces und entdecke den Leitfaden für den Einstieg, um deine erste Anwendung bereitzustellen.