Zum Hauptinhalt springen
Version: 1.89.x (Q2 26)

Plattformarchitektur

Codesphere ist eine virtuelle Cloud-Plattform mit einer mehrschichtigen Architektur. Die Plattform besteht aus zwei Hauptschichten: der Infrastrukturschicht (IaaS) und der Plattformschicht. Jede Schicht hat klar abgegrenzte Aufgaben und stellt spezifische Schnittstellen für Nutzer und Administratoren bereit.

Architekturübersicht

Die Plattformschicht (PaaS) ist für Unternehmensumgebungen konzipiert und stellt eine virtuelle Cloud-Schicht mit Funktionen bereit, die typischerweise bei großen Public-Cloud-Anbietern zu finden sind — darunter Managed Runtimes & Datenbanken, Entwickler-Workspaces, Managed Services, Observability, API- & CLI-Tools sowie Team-Kollaboration. Das vollständige Paket umfasst ein Installer-Produkt, mit dem Unternehmen den gesamten Plattform-Stack selbst hosten können, einschließlich der Bereitstellung und Konfiguration aller notwendigen Infrastrukturkomponenten.

Diagramm der Plattformarchitektur, das die Beziehung zwischen Infrastruktur- und Plattformschicht in Codesphere zeigt.

Entsprechende barrierefreie Textbeschreibung

Infrastrukturschicht (IaaS)

Die grundlegende Schicht stellt die zentralen Infrastrukturkomponenten 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, einschließlich On-Premises-Rechenzentren, Private Clouds und Public-Cloud-Anbietern. Weitere Informationen zu Bereitstellungsoptionen und Cluster-Einrichtung findest du im Installationsleitfaden.

Plattformschicht (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 aus Datenbanken, Storage-, 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 Nutzungsauswertung (Cost- & FinOps-Einblicke)
  • Multi-Tenancy: Ressourcenisolierung, RBAC und Richtliniendurchsetzung
  • APIs & Integration: REST-API, CLI und Kubernetes Operator für Automatisierung

Landscapes: Zusammenstellung von Microservice-Architekturen

Im Zentrum der Plattformschicht steht das Konzept der Landscapes — deklarative Deployment-Konfigurationen, mit denen Teams vollständige Microservice-Architekturen zusammenstellen können. Eine Landscape wird durch eine einzelne ci.yml-Datei definiert, die Folgendes festlegt:

  • Mehrere Runtimes: Bereitstellung verschiedener Services über unterschiedliche Runtime-Typen (Container, VMs oder Kubernetes)
  • Managed Services: Verbindung von Datenbanken, Caches, Message Queues und Storage-Diensten 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 versionskontrolliert zu verwalten, wodurch sie über verschiedene Umgebungen hinweg reproduzierbar und einfach kollaborativ nutzbar ist. Jede Landscape ist mit einem Workspace verknüpft, 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 kann man es sich vorstellen

Landscapes verbinden 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 einzigen deklarativen Konfiguration heraus.

Erfahre mehr über Landscapes & Workspaces und schau dir den Leitfaden für den Einstieg an, um deine erste Anwendung bereitzustellen.