跳到正文

方块

方块

任意容器镜像,有请求就唤醒

把你的镜像作为应用运行,拥有独立地址。有请求时实例被唤醒,请求一停便休眠,下次唤醒时接着上次的状态继续。

查看文档

方块的关键数字

唤醒实例1
3.5 毫秒
请求间隔较长时,休眠前的空闲时间2
0 毫秒
即可回滚部署
1 次调用

三步上手

命令行、API、SDK 和 MCP 服务器,调用方式都一样。

开始之前

把你的 API 密钥写入 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 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. 部署镜像

    版本一就绪就开始接收流量,并有自己的地址。

    glac deploy ghcr.io/acme/api:1.4 \
      --name api --port 8080
    curl $API/apps -H "$AUTH" --json '{"name": "api",
      "image": "ghcr.io/acme/api:1.4", "port": 8080}'
    app = glac.cube.deploy("ghcr.io/acme/api:1.4",
                           name="api", port=8080)
    const app = await glac.cube.deploy("ghcr.io/acme/api:1.4",
      { name: "api", port: 8080 });
    cube_deploy {"app": "api", "image": "ghcr.io/acme/api:1.4",
                 "port": 8080}
  2. 调用它

    第一个请求会唤醒一个实例。

    curl https://api-‹project›.glac.run/
    curl https://api-‹project›.glac.run/
    import urllib.request
    print(urllib.request.urlopen(app.url).status)
    console.log((await fetch(app.url)).status);
    # from a sandbox made for the one command
    sandbox_run {"command":
      "curl -s https://api-‹project›.glac.run/"}
  3. 实时查看

    每个请求一行日志,写明是否唤醒了实例、唤醒用了多久。

    glac cube logs api -f
    curl -N "$API/apps/api/logs?follow=true" -H "$AUTH"
    for line in app.logs(follow=True):
        print(line)
    for await (const line of app.logs({ follow: true }))
      console.log(line);
    cube_logs {"app": "api", "kinds": ["requests"]}

‹project› 是你的项目 ID 中的六个字符。在 API 中,方块叫作 app。

它能做什么

  • 请求一停就休眠,下一个请求来时 3.5 毫秒内唤醒。1

  • 每次部署都是一个版本:就绪后流量才切过去,一次调用就能切回。

  • 每个键一个实例,由该键的第一个请求创建,有自己的内存和磁盘。

  • 各区域独立扩缩:请求来了就启动实例,最多到你设定的上限。

  • 自定义域名,证书自动签发和续期。

  • 你的 Compose 文件里每个服务各对应一个方块,通过服务名就能访问。

查看文档

图片仅作示意

对比

与两种常见的服务运行方式对比。

常驻服务器缩容到零的容器方块
空闲一段时间后的第一个请求立即响应要等它从镜像重新启动3.5 毫秒内唤醒1
空闲时的内存和进程保留丢失休眠时保留:一小时;键控实例则存在多久保留多久
空闲时的费用全额不收费不收 CPU 费用,只收保存内容的费用
与他人隔离的方式虚拟机通常共享内核独立的 microVM

适用场景

  • API 和 Web 应用

    CPU 按实际使用的毫秒数计费,没有请求时休眠。

    glac deploy ghcr.io/acme/web:2.0 \
      --name web --port 3000
    curl https://web-‹project›.glac.run/
  • 每个用户或智能体一个后端

    每个键一个实例,各有自己的内存和磁盘。

    glac.cube.deploy(
      "ghcr.io/acme/agent:3",
      name="agent", port=8080,
      keys={"from": {"header": "User"}})
  • 任务

    一个镜像,运行完就停止。

    glac deploy ghcr.io/acme/report:1 \
      --name report --kind job
    glac cube logs report -f

价格与限制

和所有产品一样,按所用的方块资源计费。 全部价格与套餐

计费项计量方式价格
CPUCPU 实际使用时间,按毫秒计$0.01 / 百万 CPU 毫秒$0.00001 / CPU 秒$0.036 / CPU 小时$26.28 / CPU 月
内存按占用量计,精确到毫秒,以 128 MiB 为一档$0.00222 / 百万 GiB·毫秒$0.00000222 / GiB·秒$0.008 / GiB·小时$5.84 / GiB·月
请求发往方块或沙箱链接的每个请求$0.30 / 百万次
出站流量北美 · 欧洲从北美和欧洲流出的每 GB$0.004 / GB
出站流量亚太从亚太流出的每 GB$0.01 / GB
休眠存储3休眠实例保存的内容,以及快照$0.00000761 / 百万 GB·毫秒$0.00000000761 / GB·秒$0.0000274 / GB·小时$0.02 / GB·月
日志3方块输出并保留的日志,按原始大小计$0.00000761 / 百万 GB·毫秒$0.00000000761 / GB·秒$0.0000274 / GB·小时$0.02 / GB·月

估算月度费用

一个真实的工作负载,在付费版和免费版上一个月各花多少。

JSON 进,JSON 出,再查一两次数据库。

实例平均每天运行 23.8 小时,另有 0.21 小时暂停在内存中。 除了请求本身,CPU 还为每个请求多计 0.61 毫秒:请求之间保持运行的时间,以及每次休眠和唤醒。

按每月 30 天计,账户上只运行这一个工作负载。 数据来源

付费版月度费用

$5.00

每百万次请求 $0.39

  • CPU1107万 CPU 毫秒$0.11
  • 内存90 GiB·小时$0.72
  • 请求1000万 次请求$3.00
  • 出站流量6 GB$0.02
用量(按标价)
$3.85
付费版已含
−$3.85
付费版月费
$5.00

超出免费版额度的有:请求。

免费版付费版
方块每个账户10500
单个方块的实例数每个区域最多5500
同时运行实例和沙箱5500
单个实例上限2 vCPU、4 GiB8 vCPU、16 GiB
变量和机密每个方块64128
日志保留时长3 天30 天

安全隔离

每个实例一台虚拟机,它保存的一切都用你项目的密钥加密。

安全
  • 独立的 microVM

    Firecracker microVM,有独立内核,从你的镜像启动。

  • 外加一层 jail

    空的根目录、无特权的用户、独立的资源限制。

  • 通过 API 访问

    命令和文件经由其内部的代理程序传递,不走它的网络。

  • 网络由你放行

    每个项目一个私有网络;用规则限定它能访问的主机。

  • 用你的密钥加密

    磁盘、休眠时的内存、快照和日志,在离开机器之前加密。

  • 权限明确的密钥

    一个 API 密钥只能访问一个项目,且以其权限范围为限;审计日志记录它做的每件事。

延伸阅读

平台