跳至主要內容

方塊

方塊

任何容器映像檔,請求一來就醒

你的映像檔,成為有自己網址的應用程式。執行個體隨請求醒來,請求停了就休眠,醒來時從中斷處接著執行。

閱讀文件

方塊的關鍵數字

喚醒一個執行個體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 金鑰只能開啟一個專案,且只在其權限範圍內;稽核日誌會記錄它做的事。

延伸閱讀

平台