Zum Hauptinhalt springen
Version: Weekly Build

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.

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

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.