솔루션웹 앱과 API
어떤 앱이든, 호출 전까지는 잠든 상태
어떤 컨테이너 이미지든 고유 주소에서 실행됩니다. 요청이 멈추면 잠들고 3.5 ms 만에 깨어나므로, 유휴 시간에는 CPU를 쓰지 않습니다.
# any image; waits until it is ready, then prints its address
glac deploy ghcr.io/acme/api:1.4 --name api --port 8080
glac cube versions api # every deploy is a version
glac cube rollback api # back to the version before
glac cube logs api -f # its log, a line per request
glac compose up # a Cube for each Compose service아무도 호출하지 않아도 유료인 서버
계속 켜 둔 서버는 한 달 내내 매시간 비용이 듭니다. 큐브에서는 인스턴스가 요청이 오면 깨어나고 요청이 멈추면 잠들며, CPU는 실제로 일한 밀리초만큼만 과금합니다.
버전, 그리고 깨어나는 인스턴스
배포할 때마다 버전이 생기며, 그 인스턴스는 서비스가 이미 실행 중인 템플릿에서 시작합니다. 요청은 해당 리전의 인스턴스 하나를 깨우고, 인스턴스는 요청이 멈추면 잠들며 1시간 동안 쓰이지 않으면 삭제됩니다.
앱에 제공되는 기능
명령 하나: 버전이 준비되면 glac deploy가 주소를 출력합니다.
상태 그대로 깨어남: 메모리의 캐시, 풀, 세션이 그대로 남아 있습니다.
버전과 롤백: 준비되면 트래픽이 옮겨 가고, 호출 한 번으로 되돌립니다.
리전별 확장: 요청이 오는 대로 인스턴스가 시작되며, 정한 한도까지 늘어납니다.
HTTP/3, gRPC, WebSocket: 인증서를 갖춘 자체 도메인에서.
Compose, 워커, 배치 작업: 서비스마다 큐브 하나, 배치 작업은 끝까지 실행됩니다.
이해를 돕기 위한 예시 그림
약속이 아닌 측정값
다른 작업이 없는 베어메탈에서 잰 중앙값입니다. 최선의 경우이며, 그렇다고 밝힙니다. 큐브 인스턴스는 이 수치를 측정한 샌드박스와 같은 종류입니다. 측정 방법
서비스가 열리면 직접 운영하는 앱에서도 확인할 수 있습니다. 인스턴스를 깨운 요청의 로그 줄에 깨우는 데 걸린 시간이 나옵니다.
glac cube logs api -f
# one line a request; one that woke an instance says how long it took사용하는 제품
한 달 비용 계산
요금 계산기의 첫 번째 앱을 정가로 계산했습니다. 직접 계산해 보기
사용 조건
- 한 리전에서 월 1000만건의 요청이 무작위로 들어옵니다.
- 요청마다 CPU 20 ms, 사용 메모리 256 MiB, 응답 10 KB.
- 인스턴스 크기는 따로 정하지 않을 때 앱이 받는 2 vCPU입니다. 이 정도 트래픽이면 요청 후 1.2초를 기다렸다가 잠들고, 그 뒤 10분 동안은 메모리에 일시 정지된 채 머뭅니다.
정가로 계산한 한 달
- CPU2억 CPU-밀리초 × $0.01 / 100만$2.06
- 메모리180 GiB-시간 × $0.008$1.44
- 요청1000만건 × $0.30 / 100만 건$3.00
- 송신 트래픽100 GB × $0.004$0.40
유료 요금제라면 이 한 달은 $6.46입니다. 기본료 $5에, 포함 사용량을 넘는 $1.46를 같은 가격으로 잔액에서 냅니다.
첫 앱 배포하기
키를 받은 뒤 어떤 이미지든 명령 하나로 배포하세요. 버전이 준비되면 주소를 출력합니다.