Aller au contenu

Cube

Volume

Des disques qui survivent à leur instance

Le disque de Cube, indépendant de toute instance : toutes ses données en stockage hiérarchisé, et sur le NVMe de la machine dans la proportion que vous choisissez.

Lire la documentation

Volume en chiffres

le GB-mois de données, sans rien en cache
$0.02
le GB-mois entièrement sur NVMe
$0.08
pour écrire ou lire
$0

En trois étapes

Les mêmes appels depuis la ligne de commande, l’API, les SDK et le serveur MCP, où un volume s’appelle un drive.

Avant de commencer

Mettez votre clé API dans 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. Créez un volume

    Seules les données qui y sont écrites sont facturées.

    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. Montez-le, puis écrivez-y

    Dans un bac à sable, au chemin de votre choix.

    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. Transmettez-le

    Au bac à sable suivant, avec ce qu’il contient.

    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"}

Un volume appartient à un seul bac à sable à la fois, jusqu’à ce qu’il soit détaché. Un Cube doté d’un volume a une seule instance.

Ce qu’il fait

  • Écritures et lectures en cache à la vitesse du NVMe, avec la part en cache que vous choisissez.

  • Facturé selon ses données et son cache, heure par heure, jamais selon sa taille ni ses lectures.

  • Chaque écriture en stockage hiérarchisé en moins d’une seconde, envoyée toutes les 250 ms.

  • Monté sur n’importe quelle machine de sa région, ses blocs suivant au fil des lectures.

  • Prenez un instantané d’un volume, dupliquez-le ou restaurez-le, sans rien copier.

  • Un instantané, en lecture seule dans de nombreux bacs à sable à la fois, pour des poids de modèles et des jeux de données.

Lire la documentation

Aperçus à titre d’illustration

Comment conserver l’état

Trois façons dont la plateforme conserve ce que détient un programme, et à quoi sert chacune.

ConservePour
SommeilMémoire, processus et disque, tels quelsUne instance ou un bac à sable entre deux utilisations
InstantanéUn bac à sable entier, à un instant donnéRevenir en arrière, ou en démarrer plusieurs à partir d’un seul
VolumeUn disque, indépendant de toute instanceDes fichiers qui survivent à leur instance : bases de données, espaces de travail, jeux de données

Conçu pour

  • Bases de données sur Cube

    Postgres, MySQL ou Redis dans un Cube, avec ses données sur un 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
  • Des espaces de travail qui se déplacent

    Les fichiers d’un agent suivent son bac à sable sur n’importe quelle machine de sa région.

    glac drives detach work old
    glac drives attach work new:/work
    glac sandboxes exec new -- ls /work
  • Des caches qui durent

    Caches de paquets et de build conservés d’un bac à sable à l’autre, pour que chaque exécution démarre à chaud.

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

Prix et limites

Facturé selon ses données et son cache, heure par heure ; jamais pour y écrire ou le lire. Tous les prix et forfaits

Ce qui est comptéCommentPrix
Données1Tout ce que contient un volume, conservé en stockage hiérarchisé$0.00000761 / million de GB-ms$0.00000000761 / GB-seconde$0.0000274 / GB-heure$0.02 / GB-mois
Cache NVMe1La partie sur le NVMe de la machine, à la taille que vous fixez ; aucuns frais d’écriture ni de lecture$0.0000228 / million de GB-ms$0.0000000228 / GB-seconde$0.0000822 / GB-heure$0.06 / GB-mois

Un mois, chiffré

100 GB tout le mois, mis en cache de trois façons. Y écrire et le lire ne coûtent rien.

  • Tout sur NVMe

    $8.00

    100 GB × ($0.02 + $0.06)

    Chaque lecture à la vitesse du NVMe.

  • Équilibré, 25 % en cache

    $3.50

    100 GB × $0.02 + 25 GB × $0.06

    25 % sur NVMe ; le reste lu à la vitesse du réseau.

  • Rien en cache

    $2.00

    100 GB × $0.02

    Chaque lecture à la vitesse du réseau.

Ce que permettent les forfaits

Toutes les limites de chaque forfait
GratuitPayant
Volumesdans un projet3500, davantage sur demande
Plus grand volume10 GiB1 TiB
Ensemble des volumesdans un projet15 GiBSans limite

Jusqu’à 16 TiB par volume pour un compte entreprise, après accord. Une instance monte au plus 8 volumes.

Comment vos données sont conservées

Écrites d’abord sur sa machine, puis copiées vers le stockage hiérarchisé au fil de l’écriture.

  • D’abord sur la machine

    Les écritures arrivent sur son NVMe ; les lectures de ce qu’elle contient ne la quittent jamais.

  • Copiées en moins d’une seconde

    Envoyées toutes les 250 ms ; les écritures attendent dès que la plus ancienne non envoyée a 900 ms.

  • Ce que coûte la perte d’une machine

    Le volume revient tel qu’il était un instant plus tôt. Le disque d’un bac à sable, copié de la même façon, a perdu au plus 1.0 s d’écritures sur 41 pertes.

  • Un seul rédacteur à la fois

    Une seule machine détient son bail, et cesse d’écrire si elle ne peut pas le renouveler.

  • Chiffré avec votre clé

    Chacun de ses mégaoctets chiffré avec la clé de votre projet, en AES-256-GCM.

  • Un seul port d’attache

    Conservé dans un seul centre de données, et dans aucune autre région à moins d’être déplacé.

Pour aller plus loin

La plateforme