큐브
큐브
어떤 컨테이너 이미지든, 요청마다 깨어납니다
이미지를 고유 주소가 있는 앱으로 실행합니다. 인스턴스는 요청이 오면 깨어나고, 요청이 멈추면 잠들며, 멈췄던 지점에서 이어 갑니다.
숫자로 보는 큐브
세 단계로
명령줄, 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이미지 배포하기
버전이 준비되면 고유 주소에서 트래픽을 받습니다.
glac deploy ghcr.io/acme/api:1.4 \ --name api --port 8080curl $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}호출하기
첫 요청이 인스턴스를 깨웁니다.
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/"}지켜보기
요청마다 한 줄로, 인스턴스를 깨웠는지와 깨우는 데 걸린 시간을 알려 줍니다.
glac cube logs api -fcurl -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)이라고 부릅니다.
주요 기능
비교
서비스를 운영하는 흔한 두 방식과 비교합니다.
| 상시 가동 서버 | 0까지 축소되는 컨테이너 | 큐브 | |
|---|---|---|---|
| 한동안 조용하다가 들어온 첫 요청 | 즉시 응답 | 이미지에서 다시 시작하는 동안 대기 | 3.5 ms 만에 깨어남1 |
| 유휴 상태의 메모리와 프로세스 | 유지 | 사라짐 | 잠든 동안 유지: 1시간, 키별 인스턴스라면 살아 있는 동안 내내 |
| 유휴 상태일 때 내는 비용 | 전부 | 없음 | CPU 비용 없음, 보관하는 데이터만 |
| 다른 사용자와의 격리 방식 | 가상 머신 | 대개 공유 커널 | 전용 microVM |
주요 용도
API와 웹 앱
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
가격과 한도
모든 제품과 마찬가지로 사용한 큐브 리소스만큼 과금합니다. 전체 가격과 요금제
| 과금 대상 | 계산 방식 | 가격 |
|---|---|---|
| CPU | CPU가 실제로 일한 시간, 밀리초 단위 | $0.01 / 100만 CPU-밀리초$0.00001 / CPU-초$0.036 / CPU-시간$26.28 / CPU-월 |
| 메모리 | 잡아 둔 메모리, 128 MiB 단위로 밀리초마다 | $0.00222 / 100만 GiB-밀리초$0.00000222 / GiB-초$0.008 / GiB-시간$5.84 / GiB-월 |
| 요청 | 큐브로 들어오거나 샌드박스 링크를 거치는 요청당 | $0.30 / 100만 건 |
| 송신 트래픽북미 · 유럽 | 북미와 유럽에서 나가는 GB당 | $0.004 / GB |
| 송신 트래픽아태 | 아시아 태평양에서 나가는 GB당 | $0.01 / GB |
| 잠든 동안 보관3 | 잠든 인스턴스가 보관하는 데이터와 스냅샷 | $0.00000761 / 100만 GB-밀리초$0.00000000761 / GB-초$0.0000274 / GB-시간$0.02 / GB-월 |
| 로그3 | 큐브가 출력해 보관하는 로그, 출력된 크기 그대로 | $0.00000761 / 100만 GB-밀리초$0.00000000761 / GB-초$0.0000274 / GB-시간$0.02 / GB-월 |
한 달 비용 계산
실제 워크로드와 그 한 달 비용을 유료 요금제와 무료 요금제로 계산합니다.
JSON을 받아 JSON을 돌려주고, 데이터베이스 호출이 한두 번 있습니다.
로그인이 있는 서버 렌더링 페이지.
요청마다 모델의 응답을 기다립니다.
다른 서비스에서 오는 이벤트와 예약된 작업.
인스턴스는 하루 평균 23.8시간 깨어 있고, 그 밖에 0.21시간은 메모리에 일시 정지되어 있습니다. CPU에는 요청 자체가 쓰는 시간 외에 요청당 0.61 ms가 더해집니다. 요청 사이에 깨어 있는 시간과, 멈췄다 깨어날 때마다 드는 시간입니다.
한 달은 30일, 계정에 이 워크로드만 있다고 가정합니다. 출처
유료 요금제 한 달 비용
요청 100만 건당 $0.39
- CPU1107만 CPU-밀리초$0.11
- 메모리90 GiB-시간$0.72
- 요청1000만건의 요청$3.00
- 저장 데이터$0.00
- NVMe 캐시$0.00
- 송신 트래픽6 GB$0.02
- 정가로 계산한 사용량
- $3.85
- 유료 요금제 포함분
- −$3.85
- 유료 요금제 기본료
- $5.00
무료 요금제 한도를 넘는 항목: 요청.
Glac$3.85
크기 기준
요금제별 한도
요금제별 모든 한도| 무료 | 유료 | |
|---|---|---|
| 큐브계정당 | 10 | 500 |
| 큐브 하나의 인스턴스리전별 최대 | 5 | 500 |
| 동시에 깨어 있는 수인스턴스와 샌드박스 | 5 | 500 |
| 최대 인스턴스 크기 | 2 vCPU, 4 GiB | 8 vCPU, 16 GiB |
| 변수와 시크릿큐브당 | 64 | 128 |
| 로그 보관 기간 | 3일 | 30일 |
격리
인스턴스마다 가상 머신을 두고, 보관하는 모든 데이터를 프로젝트의 키로 봉인합니다.
보안전용 microVM
커널까지 따로 있는 Firecracker microVM으로, 이미지에서 부팅합니다.
jail로 한 번 더 격리
비어 있는 루트, 권한 없는 사용자, 별도의 리소스 한도.
API로만 접근
명령과 파일은 네트워크가 아니라 내부의 에이전트를 거칩니다.
허용한 네트워크만
프로젝트마다 프라이빗 네트워크, 접근할 수 있는 호스트는 규칙으로 정합니다.
프로젝트 키로 봉인
디스크, 잠든 메모리, 스냅샷, 로그를 머신 밖으로 나가기 전에 봉인합니다.
정해진 것만 여는 키
API 키는 프로젝트 하나를 범위(scope)가 허용하는 만큼만 열며, 키가 한 일은 감사 로그에 기록됩니다.
더 읽어 보기
플랫폼
큐브
관리형 애플리케이션
- 샌드박스에이전트마다 전용 컴퓨터
- 출시 예정브라우저코드로 조작하는 실제 브라우저
- 출시 예정서버리스 Postgres유휴 시 잠들고 연결이 들어오면 깨어나는 Postgres
- 출시 예정서드파티 앱대신 운영해 드리는 오픈 소스 프로젝트, 이후에는 마켓플레이스