Zum Hauptinhalt springen

Was ist der Leapcell Service?

Leapcell Service ist eine vollständig verwaltete, serverlose Plattform, die entwickelt wurde, um Ihren Code auszuführen, ohne dass eine Serververwaltung erforderlich ist.

Sie können sich auf das Schreiben von Code konzentrieren, während Leapcell die Infrastruktur, die Skalierung und die Wartung übernimmt.

data

Serverloser Modus

Leapcell Serverless Service ist eine Hosting-Plattform, die sich an die 12-Faktoren-Methodik hält und eine vollständig serverlose Erfahrung bietet.

Nachfolgend finden Sie eine Architekturübersicht des Dienstes.

Serverless Cost

Konzepte

CPU, Arbeitsspeicher und Netzwerk

Leapcell Service weist dynamisch CPU- und Netzwerkressourcen basierend auf der ausgewählten Speichergröße zu. Durch die Anpassung der Speichergröße können Sie sowohl die Leistung als auch die Kosten optimieren. Die Abrechnung erfolgt pro Millisekunde Rechenzeit.

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

Kleinere Speichergrößen sind nicht immer billiger. Zum Beispiel:

  • Ein Dienst mit 128 MB Speicher benötigt 1 Sekunde für die Ausführung.
  • Derselbe Dienst mit 1024 MB Speicher benötigt 0,1 Sekunden für die Ausführung.

Die Kosten bleiben gleich, aber die höhere Speicherkonfiguration bietet eine schnellere Ausführung und eine bessere Netzwerkbandbreite. Zum Beispiel:

  • Eine 300-MB-Konfiguration kann Leapcell Table in weniger als 50 ms aufrufen, während eine 128-MB-Konfiguration aufgrund geringerer CPU- und Netzwerkressourcen möglicherweise 100 ms benötigt.
Konfigurierter Speicher (MB)Zugewiesene Kerne
128–17691
1770–35382
3539–53073
5308–70764
SpeicherCPU-Limit
192 MB10,8 %
256 MB14,1 %

Speicher

Leapcell Service bietet begrenzten beschreibbaren Speicherplatz.

  • Nur das /tmp-Verzeichnis ist beschreibbar und für temporäre Dateien vorgesehen.
  • Andere Verzeichnisse sind schreibgeschützt. Der Versuch, in diese zu schreiben, führt zu einem Berechtigungsfehler.
Achtung Die Standardbezeichnung für die Caution-Ermahnung (:::caution)

Lagern Sie keine kritischen Daten in /tmp. Dieses Verzeichnis ist nicht persistent – sein Inhalt geht verloren, wenn der Dienst neu startet. Verwenden Sie für eine dauerhafte Speicherung persistente Speicherdienste wie Leapcell Redis.

Umgebungsvariablen

Sensible Informationen wie Datenbankanmeldeinformationen sollten über Umgebungsvariablen verwaltet werden:

  • Diese Variablen sind verschlüsselt und privat.
  • Konfigurieren Sie sie im Abschnitt Service > Umgebung. Änderungen werden automatisch übernommen, ohne dass der Dienst neu gestartet werden muss.

Paketierung und Bereitstellung

Die Paketierung bündelt Ihren Code und Ihre Abhängigkeiten in einem Image, das automatisch bereitgestellt wird.

Worker-Ressourcen für die Paketierung

PlanRessourcen
Hobby2 vCPUs, 4 GB RAM
Pro4 vCPUs, 10 GB RAM

Bereitstellungsschritte

  1. Manuelle Bereitstellung

    • Klicken Sie auf der Service-Seite auf Manuelle Bereitstellung.
    • Füllen Sie die erforderlichen Felder wie unten beschrieben aus.
  2. Konfigurationsdetails

    • Laufzeit: Wählen Sie aus unterstützten Laufzeiten wie Python, Node.js, Go oder Rust.
    • Build-Befehl: Geben Sie den Befehl zur Installation von Abhängigkeiten an. Beispiele:
      • Python: pip install requests
      • Web App: pip install -r requirements.txt
      • AI App:
        apt-get update && apt-get install -y libsm6 libxext6 libxrender-dev
        pip install tensorflow pillow
    • Startbefehl: Geben Sie den Befehl zum Starten Ihres Dienstes an. Stellen Sie sicher, dass er für minimale Kaltstartzeiten optimiert ist. Beispiele:
      • Flask: gunicorn -w 1 -b :8080 app:app
      • Express.js: node app.js
    • Serving-Port: Der Port, an dem Ihr Dienst lauscht (Standard: 8080). Stellen Sie sicher, dass dieser mit dem Port in Ihrem Startbefehl übereinstimmt.
    • Umgebungsvariablen: Fügen Sie alle zusätzlichen Variablen hinzu, die für die Bereitstellung spezifisch sind.
  3. Bereitstellen Klicken Sie auf die Schaltfläche Bereitstellen, um die Paketierung und Bereitstellung Ihres Dienstes zu starten.


Debuggen von Bereitstellungsproblemen

  • Build-Fehler: Überprüfen Sie die Bereitstellungsinformationen auf Echtzeitprotokolle und beheben Sie Fehler basierend auf der Ausgabe.

  • Startfehler: Wenn der Dienst erfolgreich bereitgestellt wird, aber nicht reagiert, finden Sie im Abschnitt Observability Tipps zur Fehlerbehebung.


Persistenter Servermodus

Persistent Server

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

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