Codesphere Reactives
Teil von Runtimes
Dies ist eine detaillierte Anleitung für Codesphere Reactives. Für einen Überblick über alle Runtime-Typen und wie man zwischen ihnen wählt, siehe Runtimes Übersicht.
Codesphere Reactives sind eine Runtime-Umgebung, mit der die Anwendungsumgebung über gewöhnliche bash-Befehle definiert werden kann – exakt so, wie man es auf einer lokalen Maschine oder VM tun würde – während die Plattform das gesamte Infrastrukturmanagement automatisch übernimmt. Man erhält die Freiheit einer imperativen Linux-Konfiguration, ohne Container bauen, verwalten oder überhaupt darüber nachdenken zu müssen. Die Runtime verbindet die Leistungsfähigkeit klassischer Serverumgebungen mit automatischer Skalierung und minimalem Infrastrukturaufwand, wenn sie nicht läuft.
Überblick
Im Gegensatz zu traditionellen Serverless-Plattformen, die zustandslos und auf kurzlebige Funktionsausführungen beschränkt sind, oder klassischen VMs, die kontinuierlich Ressourcen verbrauchen, vereinen Codesphere Reactives Vorteile aus beiden Paradigmen:
| Feature | Traditionelles Serverless | Traditionelle VMs | Codesphere Reactives |
|---|---|---|---|
| Umgebungskonfiguration | Nein – eingeschränkte Runtimes | Ja – vollständiges OS-Management erforderlich | Ja – gewöhnliche bash-Befehle |
| Persistenz des Zustands | Nein – zustandslos | Ja – vollständiger Zustand | Ja – gemeinsames Dateisystem |
| Ressourceneffizienz | Ja – Pay-per-Use | Nein – läuft dauerhaft | Ja – aus, wenn nicht genutzt |
| Startzeit | Sekunden | Minuten | Sekunden |
| Langlaufende Prozesse | Nein – Zeitlimits | Ja – unbegrenzt | Ja – unbegrenzt |
| Umgebungskontrolle | Nein – eingeschränkt | Ja – volle Kontrolle | Ja – flexibel über Nix |
| Infrastrukturmanagement | Ja – automatisch | Nein – manuelle Einrichtung & Wartung | Ja – automatisch |
Architektur
Codesphere Reactives sind voll funktionsfähige Ubuntu-Container nach offenem Standard, die über unsere patentierte Deployment-Orchestrierung für verbesserte Startleistung orchestriert werden. Für Private Cloud Deployments kann das Basis-Image von Organisationsadministratoren frei angepasst werden. Unsere Architektur ermöglicht die schnellen Startzeiten, die Reactives zu der Technologie machen, die alle Codesphere Workspace-Cockpit-Deployments antreibt. Jede Instanz erhält ein Netzwerk-Dateisystem-Volume, das über Neustarts und Replikate hinweg bestehen bleibt, sodass man in das Dateisystem schreiben kann wie auf einer lokalen Maschine. Im Ruhezustand skalieren Reactives automatisch auf null herunter, geben Rechenressourcen frei und behalten dabei den Zustand des Dateisystems bei. Bei der nächsten Anfrage starten sie aus einem vorgewärmten Pool neu.

Entsprechende barrierefreie Textbeschreibung
Kernkomponenten
Gemeinsames Netzwerk-Dateisystem
Jedes Reactive hat Zugriff auf ein hochperformantes Netzwerk-Dateisystem, das persistenten Speicher über Neustarts und Replikate hinweg bereitstellt. Man kann jede Datei oder jedes Verzeichnis aus dem Netzwerk-Dateisystem an ein beliebiges Ziel im Container mounten. Standardmäßig werden Dateien in /home/user/app erhalten, während andere Speicherorte flüchtigen Speicher verwenden.
Ressourcenmanagement
Gepoolte Compute-Instanzen über mehrere Nodes hinweg ermöglichen sofortigen Start und automatische Freigabe von Ressourcen während Ruhephasen. Nicht genutzte Ressourcen stehen anderen Workloads sofort zur Verfügung, und eine Wakeup-Logik startet Dienste bei Bedarf neu.
Kubernetes-basierte Orchestrierung
Aufbauend auf Kubernetes mit Health-Monitoring, Load Balancing, Auto-Scaling und geordnetem Herunterfahren – alles von der Plattform verwaltet, ohne dass Kubernetes-Kenntnisse erforderlich sind.
Wann Codesphere Reactives verwendet werden sollten
Anwendungsfälle in der Entwicklung
Reactives glänzen während der Entwicklung, da man Code skalierbar ausführen kann, ohne ständig Container-Images neu bauen zu müssen. Das macht Iterationen schnell und effizient:
- Schnelles Prototyping und Testen
- Schnelle Änderungen von Abhängigkeiten ohne Docker-/Container-Image-Rebuilds
- Sofortige Code-Änderungen mit Hot Reload
- Skalierbare Entwicklungsumgebungen, die die Produktion widerspiegeln
Anwendungsfälle in der Produktion
Reactives werden in der Produktion von Kunden eingesetzt, die auf über 70 Replikate skalieren, sowie von großen Unternehmen, die die einfache Bedienung und den minimalen DevOps-Aufwand schätzen:
- Web-Services und APIs mit automatischer Skalierung
- Microservices-Architekturen
- Zustandsbehaftete Anwendungen mit Bedarf an persistentem Speicher
- Services mit geringem bis hohem Traffic bei effizienter Ressourcennutzung
- Kostensensitive Workloads, die vom „aus, wenn nicht genutzt"-Verhalten profitieren
Migration von VMs
Reactives eignen sich gut für Anwendungen, die von klassischen VMs migriert werden, insbesondere wenn:
- die Anwendung ohne Root-Zugriff laufen kann
- lokale Abhängigkeiten (installiert über Nix oder Paketmanager) ausreichen
- man modernisieren möchte, ohne umfangreiches Refactoring
Überlegungen für den Produktionsbetrieb
Beim Einsatz von Reactives in der Produktion sollte die Reproduzierbarkeit sichergestellt werden durch:
- explizites Pinnen der Versionen von Abhängigkeiten in den Prepare-Schritten
- Dokumentation aller Setup-Schritte der Anwendung in der
ci.yml - Testen des vollständigen Prepare- und Run-Zyklus zur Sicherstellung der Konsistenz
- Verwendung von Nix für die deterministische Installation von Abhängigkeiten
Wann stattdessen Managed Containers in Betracht gezogen werden sollten
Managed Containers verwenden, wenn:
- ein bestimmtes Basis-OS oder eine bestimmte Distribution benötigt wird
- bereits vorhandene OCI-Images genutzt werden sollen
- Abhängigkeiten für garantierte Reproduzierbarkeit vorab eingebettet sein sollen
- bestimmte Pakete auf Systemebene benötigt werden, die über Nix nicht verfügbar sind
Konfiguration & Lebenszyklus
Codesphere Reactives werden über die Datei ci.yml im Repository konfiguriert. Umfassende Anleitungen zur Konfiguration und Verwaltung von Reactives finden sich hier:
- Konfiguration einer Landscape – Vollständige Anleitung zur Landscape-Konfiguration
- Konfiguration der CI-Pipeline – Detaillierte Pipeline-Einrichtung inklusive Prepare- und Run-Stufen
- Landscape-Lebenszyklus – Verständnis von Deployment, Skalierung und Lebenszyklusmanagement
- Umgebungsvariablen – Verwaltung der Umgebungskonfiguration
- Secret-Management – Sichere Handhabung sensibler Daten
- CI-Profile – Verwaltung unterschiedlicher Konfigurationen für Dev, Staging und Produktion