Zum Hauptinhalt springen

Serverless vs. Persistent Servers

Leapcell bietet zwei primäre Deployment-Modi, um den 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 Persistent Server wechseln. Sie können den Modus wählen, der am besten zu Ihrem spezifischen Anwendungsfall passt.

Das Verständnis ihrer jeweiligen Eigenschaften 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 bearbeitet wurde. Für die Leerlaufzeit, in der Ihre Anwendung keinen Traffic 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 Traffic-Volumen.

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

Serverless Scaling
Kaltstarts

Wenn Ihr Dienst für einen bestimmten Zeitraum keinen Traffic empfängt (z. B. 30 Minuten), können seine Instanzen in den Ruhezustand versetzt werden. 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 Traffic stoßen selten darauf.

Serverless Cold Start

Serverless Vorteile und Einschränkungen

Wesentliche Vorteile

VorteilBeschreibung
KosteneffizientEliminiert Gebühren für ungenutzte Ressourcen, wodurch es ideal für Anwendungen mit variablen oder unvorhersehbaren Traffic-Mustern ist.
Automatische SkalierungDie Plattform skaliert die Anzahl der Instanzen automatisch nach oben oder unten, basierend auf dem Traffic-Volumen. Sie kann auf Tausende von Instanzen skaliert werden, um Traffic-Spitzen 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 langlaufende Verbindungen wie WebSockets, Long-Polling oder Hintergrundaufgaben.
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-SuspendierungWährend der Leerlaufzeiten wird die CPU der Instanz suspendiert. Dies bedeutet, dass sie keine Hintergrundaufgaben ausführen kann, wenn keine eingehenden Anfragen vorliegen.

Persistent Mode (Charge-by-time)

Persistent Server

Der Persistent-Modus bietet Ihnen eine dedizierte, kontinuierlich laufende Instanz, ähnlich einer lokalen Maschine oder einem traditionellen Cloud-Server.

Sie bleibt aktiv und bereit, Traffic 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:

FeatureBeschreibung
Günstiger pro ZeiteinheitDas feste Abrechnungsmodell kann für Anwendungen mit konstanten Workloads 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 Zustandsverwaltung ermöglicht.
Langlaufende AufgabenIdeal für Prozesse, die über einen längeren Zeitraum ohne Unterbrechung laufen müssen, wie z. B. Hintergrundaufgaben, 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, mit dem Serverless-Modus zu beginnen, da er eine ausgezeichnete Flexibilität und Kosteneffizienz bietet.

Wann Serverless verwenden

Wann Serverless verwendenBeschreibung
Jeder zustandslose HTTP- oder WebdienstDer Zustand Ihrer Anwendung sollte in einem Objektspeicher oder einer Datenbank gespeichert werden, nicht im Dienst selbst.
Dienste mit unvorhersehbarem Traffic in der FrühphaseIn der Frühphase, wenn der Traffic gering oder ungewiss ist, ist das Serverless-Modell die kosteneffizienteste Wahl.

Wann persistente Server verwenden

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

Wann persistente Server verwendenBeschreibung
Hoher und anhaltender TrafficWenn Ihr Dienst konstant hohen Traffic verarbeitet, können die Kosten pro Stunde einer persistenten Instanz geringer sein als die kumulativen Kosten häufiger Serverless-Aufrufe.
Langlaufende HintergrundaufgabenFür Aufgaben, die die 15-Minuten-Grenze überschreiten, wie z. B. Videokodierung, komplexe Datenanalyse oder das Training 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 Zustandsverwaltung.
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.