OplossingenWebapps en API’s
Elke app, in slaap tot hij wordt aangeroepen
Elk containerimage op een eigen adres. Het slaapt als de verzoeken ophouden en wordt in 3.5 ms wakker, zodat stille uren geen CPU gebruiken.
# 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 serviceBetalen voor een server die niemand aanroept
Een server die blijft draaien, betaal je elk uur van de maand. Als Kubus wordt een instantie wakker voor een verzoek en slaapt ze zodra de verzoeken ophouden; de CPU betaal je per milliseconde rekentijd.
Versies en instanties die wakker worden
Elke uitrol is een versie waarvan de instanties starten vanuit haar template, waarin je service al draait. Een verzoek wekt er een in zijn regio; die gaat slapen zodra de verzoeken ophouden, en wordt na een uur ongebruikt verwijderd.
Wat je app krijgt
Eén commando: glac deploy toont het adres zodra de versie klaar is.
Wordt wakker met zijn toestand: caches, pools en sessies in het geheugen zijn er nog.
Versies en terugdraaien: het verkeer gaat over zodra een versie klaar is, en terug met één aanroep.
Schalen per regio: instanties starten als er verzoeken komen, tot aan je limiet.
HTTP/3, gRPC en WebSockets, op je eigen domein met een certificaat.
Compose, workers en jobs: een Kubus voor elke service, en een job draait tot hij klaar is.
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, waarop deze metingen zijn gedaan. 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 app zodra de dienst opengaat: de logregel van een verzoek dat een instantie wekte, zegt hoe lang het wekken duurde.
glac cube logs api -f
# one line a request; one that woke an instance says how long it tookDe producten die het gebruikt
- KubusElk containerimage als app die tussen verzoeken slaaptDe app zelf: elk image, versies, een eigen adres, in slaap tussen verzoeken.
- VolumeDe schijven van Kubus, die langer meegaan dan hun instantieEen schijf voor een service met een eigen toestand, zoals een database.
- Serverloze PostgresBinnenkortPostgres die slaapt als er niets te doen is en wakker wordt bij een verbindingBeheerde Postgres die slaapt als er niets te doen is, zodra hij beschikbaar is.
Een maand, uitgerekend
De eerste app uit de schatting op de prijspagina, tegen de lijstprijzen. Bereken je eigen maand
Het gebruik
- 10 miljoen verzoeken per maand, die willekeurig binnenkomen, in één regio.
- Elk 20 ms CPU, 256 MiB geheugen in gebruik, 10 KB per antwoord.
- Een instantie van 2 vCPU’s, de grootte die een app krijgt als je niets anders opgeeft. Bij dit verkeer wacht ze na een verzoek 1.2 seconden voordat ze gaat slapen, en blijft ze daarna 10 minuten gepauzeerd in het geheugen.
Een maand tegen de lijstprijzen
- CPU206 miljoen CPU-ms × $0.01 / M$2.06
- Geheugen180 GiB-uur × $0.008$1.44
- Verzoeken10 miljoen × $0.30 / M$3.00
- Uitgaand verkeer100 GB × $0.004$0.40
Met Betaald kost deze maand $6.46: het abonnementsgeld van $5, en $1.46 boven wat de inbegrepen hoeveelheden dekken, uit je saldo tegen dezelfde prijzen.
Rol de eerste uit
Een sleutel, dan één commando met welk image ook. Dat toont het adres zodra de versie klaar is.