Lewati ke konten

SolusiBackend per pengguna

Satu instans untuk setiap pengguna

Kunci dalam permintaan mengarahkan setiap pengguna, tenant, atau agen ke instansnya sendiri, yang menyimpan memori dan disknya serta tidur di antara permintaan.

Baca tentang instans per kunci

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

State per pengguna, tagihan jalan terus per jam

Satu proses untuk setiap pengguna adalah desain paling sederhana, dan jika terus berjalan, proses itu tetap dibayar saat penggunanya pergi. Di sini instans setiap kunci tidur di antara permintaan dan hanya dikenai biaya untuk yang disimpannya.

per bulan hanya untuk memori 10 000 instans 256 MiB yang terus berjalan, dengan harga resmi1
$14,600.00
untuk instans yang sama dalam keadaan tidur, masing-masing menyimpan 100 MB1
$20.00

Cara kunci mengarahkan permintaan

Atur keys.from ke sebuah header atau segmen path. Permintaan pertama dari kunci baru membuat instansnya; setiap permintaan berikutnya diarahkan ke instans yang sama, beserta memori dan disknya. Permintaan tanpa kunci berbagi instans aplikasi.

Aplikasi dan instansnya: dengan kunci, setiap instans milik satu kunci, terjaga untuk permintaannya dan tidur sesudahnya.

Apa yang didapat instans setiap pengguna

  • Pilih bentuknya: instans bersama, atau satu instans untuk setiap kunci pengguna.

  • Kunci dari permintaan, di header atau path; permintaan pertama membuat instansnya.

  • State per pengguna: memori yang tetap ada selama tidur, disk sendiri, dan sebuah volume.

  • Biayanya: saat tidur, tanpa CPU, hanya yang disimpannya.

  • Masa hidup pilihan Anda: dihapus setelah tidur selama itu, dibuat lagi oleh kuncinya.

  • Penggunaan per kunci, dari kunci yang dibawa setiap instans sebagai label.

Baca dokumentasi

Pratinjau ilustratif

Diukur, bukan dijanjikan

Median di bare metal tanpa beban lain: kasus terbaik, dan kami menyatakannya terus terang. Instans per kunci sejenis dengan sandbox, tempat angka-angka ini diukur. Cara kami mengukur

untuk membangunkan instans yang tidur2
3.5 ms
untuk panggilan yang membangunkannya, dari dikirim sampai direspons2
6.7 ms
untuk menidurkannya, beserta memori dan prosesnya2
2.3 ms

Lihat sendiri untuk kunci Anda begitu layanan dibuka: baris log untuk permintaan yang membangunkan instans menyebutkan berapa lama proses bangunnya.

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

Produk yang digunakan

Contoh hitungan sebulan

Sepuluh ribu pengguna, masing-masing dengan instansnya sendiri, dengan harga resmi. Hitung perkiraan Anda sendiri

Asumsi pemakaian

  • 10 000 pengguna, masing-masing dengan instansnya sendiri, 256 MiB terpakai.
  • Setiap pengguna membuat 300 permintaan sehari selama 30 hari, masing-masing dengan 20 ms CPU dan respons 5 KB, pada waktu acak.
  • Aplikasi diatur agar benar-benar tidur satu detik setelah instans berhenti (scale.suspend_after_ms 1000), pengaturan yang cocok untuk lalu lintas sejarang ini: permintaan seorang pengguna datang berselang beberapa menit, dan instans yang tetap dijeda di memori di antara permintaan itu ditagih untuk memorinya sepanjang waktu. Jadi setiap instans terjaga selama melayani permintaan dan 1 detik sesudahnya, dijeda 1 detik lagi, lalu tidur dengan memorinya disimpan, sekitar 100 MB per instans.
  • Konsekuensinya: permintaan yang mendapati instansnya sedang tidur dilayani dalam 6.7 ms, sedangkan jika instansnya dijeda, dalam 0.43 sampai 1.72 ms; dan setiap kali tidur lalu bangun memakan 25.6 ms CPU, yang sudah masuk hitungan CPU bulan itu.

Sebulan dengan harga resmi

$192.40

  • CPU4.3 miliar milidetik CPU × $0.01 / juta$42.95
  • Memori12 581 GiB-jam × $0.008$100.65
  • Permintaan90 juta × $0.30 / juta$27.00
  • Lalu lintas keluar450 GB × $0.004$1.80
  • Disimpan saat tidur1 000 GB-bulan × $0.02$20.00

Di paket Berbayar, total bulan ini $189.60: biaya $5, ditambah $184.60 untuk pemakaian di luar jatah, dibayar dari saldo Anda dengan harga yang sama.

Beri setiap pengguna instansnya sendiri

Buat kunci, lalu deploy aplikasi dengan keys.from lewat satu panggilan.

KubusSDK Python