Codesphere Reactives
Teil von Runtimes
Dies ist eine detaillierte Anleitung für Codesphere Reactives. Für einen Überblick über alle Runtime-Typen und die Auswahl zwischen ihnen siehe Runtimes Overview.
Codesphere Reactives sind eine Runtime-Umgebung, mit der die Anwendungsumgebung über Standard-Bash-Befehle definiert werden kann – genau wie auf einer lokalen Maschine oder VM – während die Plattform die gesamte Infrastrukturverwaltung automatisch übernimmt. Damit erhält man die Freiheit einer imperativen Linux-Konfiguration, ohne Container bauen, verwalten oder überhaupt bedenken zu müssen. Die Runtime verbindet die Leistungsfähigkeit traditioneller Server-Umgebungen mit automatischer Skalierung und minimalem Infrastruktur-Overhead, wenn sie nicht läuft.
Überblick
Anders als klassische Serverless-Plattformen, die zustandslos und auf kurzlebige Funktionsausführungen beschränkt sind, oder herkömmliche VMs, die kontinuierlich Ressourcen verbrauchen, vereinen Codesphere Reactives die Vorteile beider Paradigmen:
| Merkmal | Traditionelles Serverless | Traditionelle VMs | Codesphere Reactives |
|---|---|---|---|
| Umgebungskonfiguration | Nein – eingeschränkte Runtimes | Ja – vollständige Betriebssystemverwaltung erforderlich | Ja – Standard-Bash-Befehle |
| Zustandspersistenz | Nein – zustandslos | Ja – vollständiger Zustand | Ja – gemeinsames Dateisystem |
| Ressourceneffizienz | Ja – Bezahlung nach Nutzung | Nein – läuft dauerhaft | Ja – abschaltbar bei Nichtnutzung |
| Startzeit | Sekunden | Minuten | Sekunden |
| Langlaufende Prozesse | Nein – Zeitlimits | Ja – unbegrenzt | Ja – unbegrenzt |
| Umgebungskontrolle | Nein – begrenzt | Ja – volle Kontrolle | Ja – flexibel über Nix |
| Infrastrukturverwaltung | Ja – automatisch | Nein – manuelle Einrichtung & Wartung | Ja – automatisch |
Architektur
Codesphere Reactives sind voll funktionsfähige Ubuntu-Container nach offenen Standards, die mithilfe unserer patentierten Deployment-Orchestrierung für verbesserte Startleistung orchestriert werden. Für Private-Cloud-Deployments kann das Basisimage 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 erhalten bleibt, sodass ins Dateisystem geschrieben werden kann wie auf einer lokalen Maschine. Im Leerlauf skalieren Reactives automatisch auf null herunter, wodurch Rechenressourcen freigegeben werden, während der Zustand des Dateisystems erhalten bleibt. Bei der nächsten Anfrage starten sie aus einem vorgewärmten Pool neu.

Entsprechende barrierefreie Textbeschreibung
Zentrale Komponenten
Gemeinsames Netzwerk-Dateisystem
Jede Reactive hat Zugriff auf ein leistungsstarkes Netzwerk-Dateisystem, das persistenten Speicher über Neustarts und Replikate hinweg bereitstellt. Beliebige Dateien oder Verzeichnisse aus dem Netzwerk-Dateisystem können in jedes beliebige Ziel im Container eingebunden werden. Standardmäßig werden Dateien in /home/user/app erhalten, während andere Speicherorte flüchtigen Speicher verwenden.
Ressourcenverwaltung
Gepoolte Compute-Instanzen über mehrere Knoten hinweg ermöglichen einen sofortigen Start und eine automatische Freigabe von Ressourcen während Leerlaufzeiten. Ungenutzte Ressourcen stehen anderen Workloads sofort zur Verfügung, und eine Wakeup-Logik startet Dienste bedarfsgerecht neu.
Kubernetes-basierte Orchestrierung
Aufgebaut 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 eignen sich besonders gut für die Entwicklung, da Code skalierbar ausgeführt werden kann, ohne Container-Images ständig neu bauen zu müssen. Das macht Iterationen schnell und effizient:
- Schnelles Prototyping und Testen
- Schnelle Abhängigkeitsänderungen ohne Docker-/Container-Image-Neubau
- 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 den einfachen Einsatz und den minimalen DevOps-Overhead 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 von der Abschaltung bei Nichtnutzung profitieren
Migration von VMs
Reactives eignen sich gut für Anwendungen, die von traditionellen VMs migrieren, insbesondere wenn:
- die Anwendung ohne Root-Zugriff laufen kann
- lokale Abhängigkeiten (installiert über Nix oder Paketmanager) ausreichend sind
- die Modernisierung ohne umfangreiches Refactoring erfolgen soll
Überlegungen für den Produktionseinsatz
Beim Einsatz von Reactives in der Produktion sollte die Reproduzierbarkeit sichergestellt werden durch:
- explizites Fixieren von Abhängigkeitsversionen in den Prepare-Schritten
- Dokumentation aller Anwendungs-Setup-Schritte in der
ci.yml - Testen des vollständigen Prepare- und Run-Zyklus zur Sicherstellung der Konsistenz
- Verwendung von Nix für eine deterministische Installation von Abhängigkeiten
Wann Managed Containers stattdessen in Betracht gezogen werden sollten
Managed Containers sollten verwendet werden, wenn:
- ein bestimmtes Basis-Betriebssystem oder eine bestimmte Distribution benötigt wird
- bereits vorhandene OCI-Images genutzt werden sollen
- Abhängigkeiten für garantierte Reproduzierbarkeit vorab eingebacken werden sollen
- bestimmte systemnahe Pakete 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:
- Configuring a Landscape - Vollständige Anleitung zur Landscape-Konfiguration
- Configuring CI Pipeline - Detaillierte Pipeline-Einrichtung inklusive Prepare- und Run-Phasen
- Landscape Lifecycle - Verständnis von Deployment, Skalierung und Lebenszyklusverwaltung
- Environment Variables - Verwaltung der Umgebungskonfiguration
- Secret Management - Sicherer Umgang mit sensiblen Daten
- CI Profiles - Verwaltung unterschiedlicher Konfigurationen für Dev, Staging und Produktion