Zum Hauptinhalt springen

Serverless vs. Persistente Server

Leapcell bietet zwei primäre Bereitstellungsmodi, um unterschiedlichen Anwendungsanforderungen gerecht zu werden: Serverless (Pay-as-you-go) und Persistent (Charge-by-time).

Tipp Die Standardbezeichnung für die Tip-Ermahnung (:::tip)

Auf Leapcell kann Ihr Dienst jederzeit zwischen den Modi Serverless und Persistenter Server wechseln. Sie können den Modus wählen, der am besten zu Ihrem spezifischen Anwendungsfall passt.

Das Verständnis ihrer unterschiedlichen Funktionen und Kompromisse wird Ihnen helfen, die am besten geeignete Option für Ihr Projekt auszuwählen.

Serverless (Pay-as-you-go)

Serverless Cost

Der Serverless-Modus ist ein ereignisgesteuertes Rechenmodell, bei dem Sie nur für die Zeit bezahlen, in der Ihr Code aktiv ausgeführt wird.

Die Abrechnung beginnt, wenn eine Anfrage empfangen wird, und endet, sobald die Anfrage vollständig verarbeitet wurde. Für die Leerlaufzeit, in der Ihre Anwendung keinen Datenverkehr bedient, fallen keine Kosten an.

Serverless Active Time

Automatische Skalierung

Die Plattform skaliert die Anzahl der Instanzen automatisch nach oben oder unten, basierend auf dem Datenverkehrsvolumen.

Sie kann auf Tausende von Instanzen skaliert werden, um Verkehrsspitzen mühelos zu bewältigen.

Serverless Scaling
Kaltstarts

Wenn Ihr Dienst für einen bestimmten Zeitraum keinen Datenverkehr empfängt (z. B. 30 Minuten), können seine Instanzen in den Ruhezustand wechseln. Eine neue eingehende Anfrage löst einen „Kaltstart“ aus, um eine neue Instanz bereitzustellen, was eine Latenz von bis zu 250 ms verursachen kann. Dienste mit konstantem Datenverkehr treten selten auf.

Serverless Cold Start

Serverless-Vorteile und -Einschränkungen

Wesentliche Vorteile

VorteilBeschreibung
KostengünstigEliminiert Gebühren für ungenutzte Ressourcen und ist somit ideal für Anwendungen mit variablen oder unvorhersehbaren Datenverkehrsmustern.
Automatische SkalierungDie Plattform skaliert die Anzahl der Instanzen automatisch nach oben oder unten, basierend auf dem Datenverkehrsvolumen. Sie kann auf Tausende von Instanzen skaliert werden, um Verkehrsspitzen mühelos zu bewältigen.

Zu beachtende Einschränkungen

EinschränkungBeschreibung
Nur kurzlebige HTTP-AnfragenDas Serverless-Modell ist für kurzlebige HTTP-Anfragen optimiert. Es ist nicht geeignet für lang andauernde Verbindungen wie WebSockets, Long-Polling oder Hintergrundaufträge.
Temporäres DateisystemNur das /tmp-Verzeichnis ist beschreibbar. Alle anderen Pfade im Dateisystem sind schreibgeschützt.
Anfrage-TimeoutDie maximale Ausführungszeit für eine einzelne Anfrage beträgt 15 Minuten.
CPU-AussetzungWährend Leerlaufzeiten wird die CPU der Instanz ausgesetzt. Dies bedeutet, dass sie keine Hintergrundaufgaben ausführen kann, wenn keine eingehenden Anfragen vorhanden sind.

Persistenter Modus (Charge-by-time)

Persistent Server

Der persistente Modus bietet Ihnen eine dedizierte, kontinuierlich laufende Instanz, ähnlich wie eine lokale Maschine oder ein traditioneller Cloud-Server.

Sie bleibt aktiv und bereit, jederzeit Datenverkehr zu bedienen, unabhängig vom eingehenden Anfragevolumen. Dieser Modus wird auf Basis eines festen Zeitintervalls abgerechnet, z. B. pro Stunde oder pro Monat.

Wesentliche Vorteile:

FunktionBeschreibung
Günstiger pro ZeiteinheitDas Festpreismodell kann für Anwendungen mit gleichmäßiger Auslastung kostengünstiger sein. Weitere Informationen finden Sie unter Leapcell Pricing.
Keine KaltstartsDie Instanz ist immer aktiv und gewährleistet die geringstmögliche Latenz für jede Anfrage.
DateisystemBietet ein beschreibbares Dateisystem über das /tmp-Verzeichnis hinaus, das lokale Datei-E/A, Caching und Statusverwaltung ermöglicht.
Lang andauernde AufgabenIdeal für Prozesse, die über längere Zeiträume ohne Unterbrechung ausgeführt werden müssen, z. B. Hintergrundaufträge, Datenverarbeitung oder die Aufrechterhaltung persistenter Verbindungen (z. B. WebSockets).

Serverless oder Persistent für meinen Anwendungsfall?

Tipp Die Standardbezeichnung für die Tip-Ermahnung (:::tip)

Für die meisten Anwendungsfälle empfehlen wir aufgrund der ausgezeichneten Flexibilität und Kosteneffizienz mit dem Serverless-Modus zu beginnen.

Wann sollte Serverless verwendet werden

Wann sollte Serverless verwendet werdenBeschreibung
Jeder zustandslose HTTP- oder WebdienstDer Status Ihrer Anwendung sollte in einem Objektspeicher oder einer Datenbank gespeichert werden, nicht im Dienst selbst.
Dienste mit unvorhersehbarem Datenverkehr in der frühen PhaseIn der frühen Phase, wenn der Datenverkehr gering oder ungewiss ist, ist das Serverless-Modell die kostengünstigste Wahl.

Wann sollten persistente Server verwendet werden

Der Persistente-Modus ist in den folgenden Szenarien die bessere Wahl:

Wann sollten persistente Server verwendet werdenBeschreibung
Hoher und anhaltender DatenverkehrWenn Ihr Dienst kontinuierlich hohen Datenverkehr verarbeitet, können die Kosten pro Stunde einer persistenten Instanz geringer sein als die kumulativen Kosten für häufige Serverless-Aufrufe.
Lang andauernde HintergrundaufträgeFür Aufgaben, die die 15-Minuten-Grenze überschreiten, wie z. B. Videokodierung, komplexe Datenanalyse oder das Trainieren von Modellen für maschinelles Lernen.
Abhängigkeit vom lokalen DateisystemWenn Ihre Anwendung persistenten lokalen Speicher über /tmp hinaus benötigt, z. B. für Caching oder Statusverwaltung.
Anforderungen an extrem niedrige LatenzIdeal für Anwendungen, bei denen selbst minimale Latenz durch gelegentliche Kaltstarts inakzeptabel ist.
WebSockets oder langlebige VerbindungenWenn Ihr Dienst WebSockets oder andere langlebige Verbindungen benötigt, müssen Sie persistente Server verwenden.