from glac import Glac, AGENTS
glac = Glac()
sbx = glac.sandboxes.create(image=AGENTS, env=model_keys)
sbx.agent("claude").run("Make a todo app on port 3000")
print(sbx.url(3000)) # preview: a link to the port
image = "ghcr.io/you/todo:1" # what your build pushed
app = glac.cube.deploy(image, name="todo", port=3000)
print(app.url) # its own HTTPS address
app.rollback(1) # back a version in one callアプリごとに 2 台のマシンが必要
どのアプリにも、作るためのマシンと動かすためのマシンが必要で、動かし続ければどちらも 1 か月分の料金がかかります。Glac ではどちらもスリープします。サンドボックスはエージェントが止まったとき、キューブはリクエストの合間に。
サンドボックスで作り、キューブでリリース
エージェントは、開発サーバーへのリンク付きのサンドボックスで作業し、試すたびにフォークします。リリースするのはイメージで、固有のアドレスを持つキューブとしてデプロイされ、インスタンスはリクエストで復帰します。
製品が得られるもの
サンドボックスで作る:ターミナル、開発サーバーへのリンク、試すたびのフォーク。
データベース用のボリューム。保存したデータの量で課金されます。
キューブとしてリリース:デプロイはすべてバージョンになり、固有のアドレスまたは顧客のドメインで公開されます。
開かれるまでスリープ:リクエストが途切れるとスリープし、メモリを保ったまま復帰。
エンドユーザーごとに専用のインスタンス。リクエスト内のキーで振り分けます。
顧客ごとの使用量:ラベルで読み取り、月間の利用上限額も設定できます。
画面はイメージです
約束ではなく実測
ほかに何も動いていないベアメタルでの中央値です。最良のケースであり、そう明記しています。キューブのインスタンスはサンドボックスと同じ種類のものです。 測定方法
サービス開始後は、ご自身のアプリでも確認できます。インスタンスを復帰させたリクエストのログ行に、復帰にかかった時間が記録されます。
glac cube logs todo -f
# one line a request; one that woke an instance says how long it took使用する製品
1 か月の試算
1 か月に 1,000 個のアプリを作って動かす場合を、定価で。 ご自身で見積もる
前提とする使い方
- 1,000 個のアプリ。それぞれエージェントが 2 vCPU、4 GiB のサンドボックスで 30 分かけて作り、CPU 使用率は 5 分の 1、使用メモリは 2 GiB。作成後にサンドボックスは削除。
- その後、各アプリはキューブとして月に 30,000 リクエストに応答。1 リクエストあたり CPU 時間 20 ミリ秒、使用メモリ 256 MiB、レスポンス 20 KB。
- リクエストはランダムに届き、インスタンスは応答中だけ稼働。その後 10 分間メモリ上で一時停止してからスリープ。
定価での 1 か月
- CPU13.81億 CPU ミリ秒 × $0.01 / 100万$13.81
- メモリ180,827 GiB-時間 × $0.008$1,446.61
- リクエスト3000万 × $0.30 / 100万$9.00
- 送信トラフィック600 GB × $0.004$2.40
有料プランでは、この 1 か月は $1,468.82 です。内訳は、月額料金 $5 と、利用枠を超えた分の $1,463.82(同じ料金で残高から支払い)です。
最初のアプリをリリース
キーを用意し、1 つのコマンドでイメージをキューブとしてデプロイ。またはエージェントが作業するためのサンドボックスを作成。