Zum Inhalt springen

Würfel

Volume

Festplatten, die ihre Instanz überdauern

Die Festplatte von Würfel, unabhängig von jeder Instanz: alle Daten in mehrstufigem Speicher, davon so viel auf dem NVMe-Speicher der Maschine, wie du willst.

Zur Doku

Volume in Zahlen

pro GB-Monat Daten, nichts davon im Cache
$0.02
pro GB-Monat, alles auf NVMe
$0.08
für Schreiben oder Lesen
$0

In drei Schritten

Dieselben Aufrufe über die Kommandozeile, die API, die SDKs und den MCP-Server, wo ein Volume „drive“ heißt.

Bevor du anfängst

Speichere deinen API-Schlüssel in GLAC_API_KEY.

curl -fsSL https://glac.ai/install.sh | sh
export GLAC_API_KEY=ak_...
API=https://api.glac.ai/v1
AUTH="Authorization: Bearer $GLAC_API_KEY"
from glac import DriveMount, Glac
glac = Glac()
import { Glac } from "glac";
const glac = new Glac();
# give your agent the tools (Claude Code here)
claude mcp add glac -e GLAC_API_KEY=ak_... -- npx glac-mcp
  1. Ein Volume erstellen

    Abgerechnet werden nur die Daten, die darauf geschrieben werden.

    glac drives create --name data \
      --size-bytes 10GiB
    curl $API/drives -H "$AUTH" \
      --json '{"name": "data", "size_bytes": 10737418240}'
    drive = glac.drives.create(name="data", size_bytes=10 << 30)
    const drive = await glac.drives.create(
      { name: "data", sizeBytes: 10 * 2 ** 30 });
    drive_create {"name": "data", "size_gib": 10}
  2. Einbinden und beschreiben

    In einer Sandbox, unter einem Pfad deiner Wahl.

    glac sandboxes create --name web \
      --drive data:/data
    glac sandboxes exec web -- \
      sh -c 'echo kept > /data/note'
    curl $API/sandboxes -H "$AUTH" --json '{"name": "web",
      "drives": [{"drive": "data", "path": "/data"}]}'
    curl $API/sandboxes/web/run -H "$AUTH" \
      --json '{"command": "echo kept > /data/note"}'
    mount = DriveMount("/data", drive)
    sbx = glac.sandboxes.create(drives=[mount])
    sbx.run("echo kept > /data/note")
    const mount = { path: "/data", drive: drive.id };
    const sbx = await glac.sandboxes.create(
      { drives: [mount] });
    await sbx.files.write("/data/note", "kept\n");
    drive_attach {"drive": "data", "sandbox": "web",
                  "path": "/data"}
    sandbox_run {"sandbox": "web",
                 "command": "echo kept > /data/note"}
  3. Weitergeben

    An die nächste Sandbox, mit allem, was darauf liegt.

    glac drives detach data web
    glac sandboxes create --name next \
      --drive data:/data
    glac sandboxes exec next -- \
      cat /data/note
    curl -X DELETE $API/sandboxes/web/drives/data -H "$AUTH"
    curl $API/sandboxes -H "$AUTH" --json '{"name": "next",
      "drives": [{"drive": "data", "path": "/data"}]}'
    glac.drives.detach(sbx, drive)
    nxt = glac.sandboxes.create(drives=[mount])
    print(nxt.run("cat /data/note").stdout)
    await glac.drives.detach(sbx, drive);
    const nxt = await glac.sandboxes.create(
      { drives: [mount] });
    console.log(await nxt.files.readText("/data/note"));
    drive_detach {"drive": "data", "sandbox": "web"}
    drive_attach {"drive": "data", "sandbox": "next",
                  "path": "/data"}

Ein Volume gehört jeweils einer Sandbox, bis es getrennt wird. Ein Würfel mit einem Volume hat eine Instanz.

Funktionen

  • Schreiben und Lesen aus dem Cache mit NVMe-Geschwindigkeit, so viel davon im Cache, wie du wählst.

  • Abgerechnet nach Daten und Cache, Stunde für Stunde, nie nach Größe oder Lesevorgängen.

  • Jeder Schreibvorgang innerhalb einer Sekunde im mehrstufigen Speicher, alle 250 ms übertragen.

  • Auf jeder Maschine seiner Region einbindbar, seine Blöcke folgen, sobald sie gelesen werden.

  • Snapshot, Fork oder Wiederherstellung eines Volumes, ohne dass etwas kopiert wird.

  • Ein Snapshot, schreibgeschützt in vielen Sandboxen gleichzeitig, für Gewichte und Datensätze.

Zur Doku

Beispielhafte Vorschauen

Wie du Zustand aufbewahrst

Drei Wege, wie die Plattform aufbewahrt, was ein Programm hat, und wofür jeder gedacht ist.

Was erhalten bleibtWofür
SchlafArbeitsspeicher, Prozesse und Festplatte, wie sie warenEine Instanz oder eine Sandbox zwischen zwei Nutzungen
SnapshotEine ganze Sandbox zu einem ZeitpunktZurückkehren oder viele aus einer starten
VolumeEine Festplatte, unabhängig von jeder InstanzDateien, die ihre Instanz überdauern: Datenbanken, Arbeitsbereiche, Datensätze

Einsatzbereiche

  • Datenbanken auf Würfel

    Postgres, MySQL oder Redis in einem Würfel, mit den Daten auf einem Volume.

    glac drives create --name data \
      --size-bytes 5GiB --region eu
    glac deploy redis:7 --name cache \
      --port 6379 --public false \
      --region eu --drive data:/data
  • Arbeitsbereiche, die umziehen

    Die Dateien eines Agenten folgen seiner Sandbox auf jede Maschine ihrer Region.

    glac drives detach work old
    glac drives attach work new:/work
    glac sandboxes exec new -- ls /work
  • Caches, die bleiben

    Paket- und Build-Caches, von einer Sandbox zur nächsten behalten, damit jeder Lauf warm startet.

    glac drives create --name deps \
      --size-bytes 20GiB
    glac sandboxes create --name ci \
      --drive deps:/root/.cache

Preise und Limits

Abgerechnet nach Daten und Cache, Stunde für Stunde; nie für Schreiben oder Lesen. Alle Preise und Tarife

Was gezählt wirdZählweisePreis
Daten1Alles, was ein Volume enthält, in mehrstufigem Speicher aufbewahrt$0.00000761 / Million GB-Millisekunden$0.00000000761 / GB-Sekunde$0.0000274 / GB-Stunde$0.02 / GB-Monat
NVMe-Cache1Der Teil auf dem NVMe-Speicher der Maschine, in der Größe, die du festlegst; keine Gebühren für Schreib- und Lesezugriffe$0.0000228 / Million GB-Millisekunden$0.0000000228 / GB-Sekunde$0.0000822 / GB-Stunde$0.06 / GB-Monat

Ein Monat, durchgerechnet

100 GB den ganzen Monat, auf drei Arten gecacht. Schreiben und Lesen kosten nichts.

  • Alles auf NVMe

    $8.00

    100 GB × ($0.02 + $0.06)

    Jeder Lesezugriff mit NVMe-Geschwindigkeit.

  • Ausgewogen, 25% im Cache

    $3.50

    100 GB × $0.02 + 25 GB × $0.06

    25% auf NVMe; der Rest wird mit Netzwerkgeschwindigkeit gelesen.

  • Nichts im Cache

    $2.00

    100 GB × $0.02

    Jeder Lesezugriff mit Netzwerkgeschwindigkeit.

Was die Tarife erlauben

Alle Limits aller Tarife
GratistarifBezahltarif
Volumesin einem Projekt3500, mehr auf Anfrage
Größtes Volume10 GiB1 TiB
Alle Volumes zusammenin einem Projekt15 GiBKein Limit

Bis zu 16 TiB pro Volume für ein Enterprise-Konto, nach Absprache. Eine Instanz bindet höchstens 8 Volumes ein.

Wie deine Daten aufbewahrt werden

Zuerst auf seiner Maschine geschrieben und schon beim Schreiben in den mehrstufigen Speicher kopiert.

  • Zuerst auf der Maschine

    Schreibvorgänge landen auf ihrem NVMe-Speicher; was dort liegt, wird gelesen, ohne die Maschine zu verlassen.

  • Innerhalb einer Sekunde hinauskopiert

    Alle 250 ms übertragen; Schreibvorgänge warten, sobald der älteste noch nicht übertragene 900 ms alt ist.

  • Was der Verlust einer Maschine kostet

    Es kommt so zurück, wie es einen Moment zuvor war. Die Festplatte einer Sandbox, auf dieselbe Weise kopiert, verlor bei 41 Verlusten höchstens 1.0 s an Schreibvorgängen.

  • Immer nur ein Schreiber

    Eine Maschine hält seinen Lease und hört auf zu schreiben, wenn sie ihn nicht erneuern kann.

  • Mit deinem Schlüssel versiegelt

    Jedes Megabyte mit dem Schlüssel deines Projekts verschlüsselt, per AES-256-GCM.

  • Ein Standort

    In einem Rechenzentrum aufbewahrt und in keiner zweiten Region, es sei denn, es zieht um.

Weiterlesen

Die Plattform