Naar de inhoud

OplossingenVibe coding

Elke prompt een draaiende app

Je agent bouwt elke app in een sandbox, met een link om hem te bekijken, en rolt hem daarna uit als Kubus die slaapt tot iemand hem opent.

Lees de docs over Kubus

Python
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

Twee machines voor elke app

Elke app heeft een machine nodig om in te bouwen en een om op te draaien, en voor elk betaal je de hele maand als ze blijven draaien. Hier slapen ze allebei: de sandbox als de agent stopt, de Kubus tussen verzoeken.

per maand alleen voor het geheugen van 1 000 apps van 512 MiB die blijven draaien, tegen de lijstprijzen1
$2,920.00
voor de CPU en het geheugen van een app die niemand opent: die slaapt1
$0

Bouw in een sandbox, rol uit als Kubus

De agent werkt in een sandbox, met een link naar zijn ontwikkelserver en een fork voor elke poging. Wat hij oplevert, is een image, uitgerold als Kubus op een eigen adres, met instanties die wakker worden voor verzoeken.

Bouwen: de sandbox van de agent, een snapshot ervan, en forks die vanaf dat moment opnieuw proberen.
Uitrollen: de versies van de app, de template van de versie die klaar is, en de instanties in elke regio, wakker voor een verzoek en daarna in slaap.

Wat je product krijgt

  • Bouw in een sandbox: een terminal, een link naar de ontwikkelserver, een fork voor elke poging.

  • Een volume voor de database, afgerekend op de data die erop staat.

  • Rol uit als Kubus: elke uitrol een versie, op een eigen adres of het domein van je klant.

  • In slaap tot iemand hem opent: hij gaat slapen als de verzoeken ophouden en wordt wakker met zijn geheugen.

  • Eén instantie per eindgebruiker, gekozen via een sleutel in het verzoek.

  • Verbruik per klant, uitgelezen via hun label, met een maandelijkse uitgavenlimiet.

Lees de docs

Illustratieve voorbeelden

Gemeten, niet beloofd

Medianen op bare metal terwijl er verder niets draait: het gunstigste geval, en dat zeggen we erbij. Een instantie van een Kubus is van dezelfde soort als een sandbox. Hoe we meten

om een slapende instantie te wekken2
3.5 ms
voor de aanroep die hem wekte, van verzonden tot beantwoord2
6.7 ms
om hem in slaap te brengen, met zijn geheugen en processen2
2.3 ms

Kijk het zelf na bij je eigen apps zodra de dienst opengaat: de logregel van een verzoek dat een instantie wekte, zegt hoe lang het wekken duurde.

Shell
glac cube logs todo -f
# one line a request; one that woke an instance says how long it took

De producten die het gebruikt

Een maand, uitgerekend

Duizend apps gemaakt en gedraaid in een maand, tegen de lijstprijzen. Bereken je eigen maand

Het gebruik

  • 1 000 apps, elk een halfuur door de agent gebouwd in een sandbox van 2 vCPU’s en 4 GiB, de CPU een vijfde van de tijd actief, 2 GiB in gebruik; de sandbox daarna verwijderd.
  • Elke app daarna een Kubus die in de maand 30 000 verzoeken beantwoordt, elk 20 ms CPU, 256 MiB in gebruik, 20 KB per antwoord.
  • Verzoeken komen willekeurig binnen; een instantie is wakker terwijl ze antwoordt en blijft daarna nog 10 minuten gepauzeerd in het geheugen voordat ze gaat slapen.

Een maand tegen de lijstprijzen

$1,471.82

  • CPU1.38 miljard CPU-ms × $0.01 / M$13.81
  • Geheugen180 827 GiB-uur × $0.008$1,446.61
  • Verzoeken30 miljoen × $0.30 / M$9.00
  • Uitgaand verkeer600 GB × $0.004$2.40

Met Betaald kost deze maand $1,468.82: het abonnementsgeld van $5, en $1,463.82 boven wat de inbegrepen hoeveelheden dekken, uit je saldo tegen dezelfde prijzen.

Rol de eerste app uit

Een sleutel, dan een image dat met één commando als Kubus wordt uitgerold, of een sandbox waarin je agent kan bouwen.

KubusSandbox