Przejdź do treści

RozwiązaniaBackend dla każdego użytkownika

Instancja dla każdego użytkownika

Klucz w żądaniu kieruje każdego użytkownika, tenanta lub agenta do jego własnej instancji, która zachowuje pamięć i dysk, a między żądaniami zasypia.

Przeczytaj o instancjach przypisanych do kluczy

Python
from glac import Glac

glac = Glac()
app = glac.cube.deploy(
    "ghcr.io/acme/notes:2", name="notes", port=8080,
    keys={"from": {"header": "X-User"},          # the key
          "delete_after_idle_ms": 30 * 86_400_000},
    scale={"suspend_after_ms": 1000})  # sparse traffic: asleep a second after
# a request with X-User: ada reaches ada's own instance
ada = app.instance("ada")         # or make or wake it from code

Za stan każdego użytkownika płacisz co godzinę

Osobny proces dla każdego użytkownika to najprostsza architektura, ale gdy działa bez przerwy, płacisz za niego także wtedy, gdy użytkownika nie ma. Tutaj instancja każdego klucza zasypia między żądaniami, a Ty płacisz tylko za to, co przechowuje.

miesięcznie za samą pamięć 10 000 stale działających instancji po 256 MiB, po cenach katalogowych1
$14,600.00
za te same instancje w uśpieniu, każda ze 100 MB danych1
$20.00

Jak klucz kieruje ruchem

Ustaw keys.from na nagłówek lub segment ścieżki. Pierwsze żądanie z nowym kluczem tworzy jego instancję; każde kolejne trafia do tej samej instancji, z tą samą pamięcią i dyskiem. Żądania bez klucza dzielą instancje aplikacji.

Aplikacja i jej instancje: z kluczami każda instancja należy do jednego klucza, aktywna przy jego żądaniach i uśpiona po nich.

Co dostaje instancja każdego użytkownika

  • Wybierz układ: wspólne instancje albo osobna dla klucza każdego użytkownika.

  • Klucz z żądania, w nagłówku lub ścieżce; pierwsze żądanie tworzy jego instancję.

  • Stan dla każdego użytkownika: pamięć zachowana w uśpieniu, własny dysk i wolumin.

  • Ile to kosztuje: w uśpieniu nie płacisz za CPU, tylko za to, co przechowuje.

  • Czas życia do wyboru: usuwana po wybranym czasie uśpienia, tworzona ponownie przez swój klucz.

  • Zużycie według klucza, z klucza, który każda instancja nosi jako etykietę.

Przeczytaj dokumentację

Ilustracje poglądowe

Zmierzone, nie obiecane

Mediany na serwerze bare metal, na którym nic innego nie działało: najlepszy przypadek, i mówimy to wprost. Instancja klucza jest tego samego rodzaju co piaskownica, na której to zmierzono. Jak mierzymy

na wybudzenie uśpionej instancji2
3.5 ms
na wywołanie, które ją wybudziło, od wysłania do odpowiedzi2
6.7 ms
na uśpienie z zachowaniem pamięci i procesów2
2.3 ms

Po otwarciu usługi zobaczysz to dla własnych kluczy: wiersz logu dla żądania, które wybudziło instancję, podaje czas wybudzenia.

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

Produkty, z których korzysta

Miesiąc w liczbach

Dziesięć tysięcy użytkowników, każdy z własną instancją, po cenach katalogowych. Oszacuj własny koszt

Zastosowanie

  • 10 000 użytkowników, każdy z własną instancją, 256 MiB w użyciu.
  • Każdy użytkownik wysyła 300 żądań dziennie przez 30 dni, każde po 20 ms CPU i 5 KB odpowiedzi, w losowych momentach.
  • Aplikacja ustawiona tak, by instancja zasypiała na dobre sekundę po zatrzymaniu (scale.suspend_after_ms 1000) – to ustawienie właściwe dla tak rzadkiego ruchu: żądania jednego użytkownika dzielą minuty, a instancja wstrzymana między nimi w pamięci jest przez cały ten czas rozliczana za tę pamięć. Każda instancja jest więc aktywna, gdy odpowiada, i jeszcze przez 1 s, potem przez kolejne 1 s wstrzymana, a następnie śpi z zapisaną pamięcią i przechowuje około 100 MB.
  • Koszt takiego ustawienia: żądanie, które zastaje swoją instancję uśpioną, dostaje odpowiedź po 6.7 ms, a gdy instancja jest tylko wstrzymana – po 0.43–1.72 ms; każde uśpienie i wybudzenie to 25.6 ms CPU, wliczane do CPU za cały miesiąc.

Miesiąc po cenach katalogowych

$192.40

  • CPU4.3 miliarda ms CPU × $0.01 / mln$42.95
  • Pamięć12 581 GiB-h × $0.008$100.65
  • Żądania90 milionów × $0.30 / mln$27.00
  • Ruch wychodzący450 GB × $0.004$1.80
  • Przechowywane w uśpieniu1 000 GB-miesiąca × $0.02$20.00

W planie Płatnym ten miesiąc kosztuje $189.60: opłata $5 oraz $184.60 ponad to, co pokrywają pule, z Twojego salda po tych samych cenach.

Daj każdemu użytkownikowi własną instancję

Klucz, a potem aplikacja z keys.from, wdrożona jednym wywołaniem.

KostkaSDK dla Pythona