Untuk pemilik bioskop dan operator ·

Titik impas: server on-premise atau cloud untuk sistem tiket bioskop

Halaman ini untuk pemilik bioskop dan untuk operator yang menjalankan movie-ticket bagi bioskop. Isinya biaya tiap tempat menjalankan sistem tiket, siapa yang membayar tiap barisnya, dan dari volume berapa server sendiri lebih murah daripada cloud.

Perkiraan, bukan penawaran harga. Harga dibaca dan dihitung , dengan satu kurs: JISDOR 3 November 2026, Rp18.148 per dolar AS. [A] berarti asumsi, [E] berarti perkiraan dari masukan yang disebut. Harga cloud, suku cadang, dan memori berubah, jadi periksa sumbernya sebelum menganggarkan.

movie-ticket adalah kode sumber terbuka (lisensi Apache-2.0) untuk pemesanan kursi bioskop. Operator di halaman ini adalah orang atau perusahaan yang menjalankannya untuk bioskop. Penyewa adalah usaha bioskop yang memakainya, dan satu penyewa bisa punya banyak bioskop. Klaim tentang kode menunjuk baris pada commit 39351cc.

Kapasitas dihitung dari pengukuran proyek ini. CPU per render peta kursi diukur dengan uji beban pada 5 November 2026 (bagian 2); versi pertama halaman ini menyimpulkannya dari uji yang tidak mencatat CPU. Harga dibaca dari halaman penjual serta API harga penyedia cloud. Setiap angka bisa ditelusuri ke masukan di bagian 2 dan ke sumber di bagian 17, dan rumusnya ditulis di samping tabelnya.

Ringkasan

Putusan per pola: biaya sebulan, rata-rata 5 tahun, dengan jam admin [A]
PolaTiket sebulanTermurahPutusan
P1 · bioskop kecil, lalu lintas rata9.800Cloudflare Rp1,24 juta, Container Apps Rp1,27 jutaContainer Apps atau Cloudflare, pada volume berapa pun yang bisa dicapai satu bioskop. Server sendiri (A, Rp1,75 juta) baru lebih murah daripada Cloud Run, ECS, dan SAE, dan hanya bila dipakai 5 tahun.
P2 · satu bioskop 4 layar, ramai akhir pekan19.600Cloudflare Rp1,25 juta, Container Apps Rp1,26 jutaSama dengan P1. Ramainya akhir pekan tidak mengubah tagihan, karena instans terkecil (0,5 vCPU) memikul ±1,1 juta tiket sebulan dengan bentuk ini, sedangkan bioskop ini menjual 19.600.
P3 · minggu film laris, prapenjualan29.400Container Apps Rp1,20 juta, Cloudflare Rp1,25 jutaContainer Apps paling murah justru karena paling lama menganggur, 73 jam seminggu. Puncak prapenjualan, 8,4% tiket seminggu dalam satu jam, tidak menambah satu instans pun untuk satu bioskop.
P4 · 20 bioskop, tiga zona waktu400.000satu penyewa: Cloudflare Rp1,66 juta, Container Apps Rp1,67 juta
penyewa terpisah: B1 Rp2,21 juta
Bila ke-20 bioskop cabang satu penyewa, Cloudflare atau Container Apps tetap termurah; server on-premise operator baru menyusul dari ±0,73–0,84 juta tiket sebulan. Bila penyewanya terpisah, server operator (Rp2,21 juta) sudah lebih murah paling lambat sejak penyewa ketiga, karena di cloud tiap penyewa butuh deployment sendiri, Rp25–47 juta untuk 20.

1. Delapan tempat menjalankan sistem yang sama

Semua tempat menjalankan aplikasi dan PostgreSQL yang sama. Bedanya ada pada siapa pemilik perangkatnya, di mana letaknya, dan berapa bioskop yang berbagi satu sistem.

Tempat, pemilik, dan ukuran yang dihargai
KodeTempatPemilik perangkat atau akun Yang dihargai
AServer milik bioskop, di bioskop; satu penyewaPenyewa Menara dan UPS: EPYC 4124P, 2 × 16 GB ECC, 2 × SSD 960 GB dengan pelindung putus daya (PLP), Rp43,6 juta. Dijangkau dari luar lewat Cloudflare Tunnel di jalur internet bioskop [A].
B1Server on-premise milik operator, di kantor operator; banyak bioskopOperator Perangkat yang sama, ditambah internet rumah 350 Mbps (Rp400 ribu + PPN 11%) dan tunnel.
B2Server milik operator di colocation Jakarta; banyak bioskopOperator Isi yang sama dalam casing 1U, tanpa UPS: Rp37,4 juta. Colocation 1U Rp1,10 juta sebulan (450 W, 1 IPv4).
C1Google Cloud Run, JakartaOperator bila satu deployment dipakai bersama; penyewa atau operator bila satu deployment per bioskop 1 vCPU dan 1 GiB, penagihan berbasis instans, selalu satu yang menyala; Cloud SQL db-g1-small, 10 GB SSD.
C2AWS ECS Express Mode, Jakarta Fargate 1 vCPU dan 2 GB [A]; Application Load Balancer; 3 alamat IPv4; RDS t4g.micro, 20 GB gp3.
C3Azure Container Apps, Indonesia Central 0,5 vCPU dan 1 GiB; PostgreSQL Flexible Server B1ms, 32 GB; Container Registry Basic. README movie-ticket memilih B2s, yang menambah US$51 sebulan (bagian 8).
C4Cloudflare Containers, Asia Pasifik (bukan Jakarta) standard-1 (½ vCPU, 4 GiB) di paket Workers US$5; basis data RDS t4g.micro yang terbuka ke publik di AWS Jakarta, di jaringan lain.
C5Alibaba Cloud SAE, Jakarta 1 vCPU dan 2 GB, tanpa mode diam; NAT Gateway; Classic Load Balancer; RDS PostgreSQL, yang harganya tidak ditemukan ([E] US$18–35, dipakai US$26,5).

Setiap cloud dihitung dua kali bila hasilnya berbeda: bersama, satu deployment untuk semua bioskop, dan per bioskop, satu deployment untuk tiap bioskop. Ukurannya yang terkecil yang masuk akal untuk satu JVM, dengan basis data terkelola terkecil [A]. README movie-ticket hanya menetapkan dua di antaranya: standard-1 untuk Cloudflare (README:521) dan B2s untuk Azure (README:447).

Apa arti "berbagi" di kode hari ini

Satu penyewa bisa punya banyak bioskop: tabel site menyimpan tiap bioskop bersama tenant_id pemiliknya (V1:124). Cabang-cabang satu penyewa bisa berbagi satu deployment tanpa syarat tambahan.

Penyewa yang berbeda lain soal. Untuk pengguna yang sudah masuk, penyewanya dibaca dari identitasnya. Halaman publik, yaitu jadwal dan peta kursi yang dibuka tanpa masuk, hanya menampilkan penyewa yang dikonfigurasi lewat booking.tenant.slug. Komentar di kodenya menyebut bahwa melayani halaman publik banyak penyewa dari satu layanan bersama masih butuh mekanisme hostname terverifikasi, dan "explicitly not claimed to work here" (CurrentTenant.kt:36–42). Jadi, hari ini:

2. Masukan

Semua angka di halaman ini dihitung dari masukan berikut. Bagian 8 menggeser masukan yang paling menentukan.

Masukan dan asalnya
MasukanNilaiAsal
Satu bioskop 4 layar19.600 tiket sebulan; ±120 di jam puncaknya 2.145 layar di 517 lokasi (BPI, Februari 2024); 115–135 juta tiket setahun, karena total dengan film asing tidak ditemukan dan film Indonesia (80,2 juta pada 2025) dianggap 60–70% darinya [A]
P1, bioskop kecil, lalu lintas rata9.800 tiket sebulan2 layar [A]
P2, satu bioskop, ramai akhir pekan19.600bioskop 4 layar di atas
P3, minggu film laris29.4001,5 × P2; prapenjualan Rabu 12.00 membawa 25% tiket seminggu dalam 2 jam, akhir pekan ganda [A]
P4, 20 bioskop, 1–8 layar400.00020 × P2 × 4,1 ÷ 4, tersebar di WIB, WITA, dan WIT [A]
Bentuk minggu: puncak ÷ rata-rata, jam puncak, jam di bawah 2% puncak P1 2,85 · 1,7% · 49 jam; P2 4,58 · 2,7% · 53; P3 14,2 · 8,4% · 73; P4 4,39 · 2,6% · 46 kurva penjualan per jam [A]: nol pada 00–06, puncak 19–20; Senin–Kamis 10% seminggu tiap hari, Jumat 15%, Sabtu 23%, Minggu 22%
Kerja satu tiket ±48 render-setara (FE) = 0,154 vCPU-detik; 40 permintaan; 0,5 MB keluar; 6 KB data [E]: halaman, polling peta kursi tiap 3 detik selama ±60 detik memilih (seatmapFragment.html:201), penahanan, QRIS, dan dua penonton yang tidak jadi membeli per pesanan [A]; 12,5 KB per permintaan [A]
Satu render peta kursi3,2 milidetik CPU (rentang 2,8–4,3) diukur dengan wrk2 open-loop (5 November 2026) pada PC pengembang Core i7-9700: 2,75–2,86 ms di JVM dan 0,41–0,43 ms di PostgreSQL per permintaan fragmen 200 kursi bergzip, dipakai apa adanya tanpa diskalakan ke 4215R. 2,8 ms adalah JVM saja; 4,3 ms adalah 3,2 × 4,7 ÷ 3,5 GHz, inti 4215R yang lebih lambat [E]. Versi pertama halaman ini memakai 1,6 ms (rentang 0,8–2,9), batas dari uji 30 Agustus 2026 yang tidak mencatat CPU
Kapasitas server EPYC 4124P67 tiket per detik (dasar), 3,7 (terburuk); ±2.020 atau ±110 bioskop 4 layar diskalakan dengan SPECrate2017_int_base (58,9 terhadap 3,41 per thread 4215R), pada 60% CPU
Kapasitas satu instans cloud1 vCPU: 2,2 juta tiket sebulan (P2); 0,5 vCPU: 1,1 juta [E]: 60% × vCPU ÷ 0,154 vCPU-detik, dibatasi jam puncak
Perangkatmenara + UPS Rp43,6 juta; 1U Rp37,4 juta harga toko daring Indonesia (bagian 17); Xeon 6353P yang diimpor sampai Rp51,9 dan Rp45,6 juta
ListrikRp0,06 juta sebulan45–60 W + 10% rugi UPS, Rp1.444,70 per kWh (B-2/TR, triwulan IV 2026)
Cadangan suku cadang10% harga perangkat setahun[A]
Cadangan data di luar lokasiUS$0,015 per GB sebulan, 10 GB gratisCloudflare R2
Jam admin6 jam per server sebulan; +1 jam perjalanan untuk colocation; 2 jam per deployment cloud; Rp100.000 per jam[A], tidak pernah diukur; bagian 5 menunjukkan berapa jam yang dibayar oleh selisihnya
Biaya keluar4 jam (basis data sendiri) atau 8 jam (basis data bersama), ditambah biaya keluar data cloud[A]

3. Biaya bulanan dan siapa yang membayar

Server sendiri: A, B1, B2

bulanan = perangkat ÷ (12 × Y) + listrik + akses + colocation + cadangan data
          + 10% × perangkat ÷ 12 + jam admin × tarif

Y adalah masa pakai, 3 atau 5 tahun, tanpa nilai sisa. Biaya ini tetap berapa pun jumlah tiketnya, sampai batas kapasitas server: ±2.020 bioskop 4 layar pada perkiraan dasar, ±110 pada perkiraan terburuk. A dihitung per bioskop, B per server.

Rp juta sebulan per server; A untuk satu bioskop 4 layar
BarisA · di bioskopB1 · kantor operatorB2 · colocationDibayar langsung oleh
Perangkat: harga ÷ (12 × Y), 3 · 5 tahun1,21 · 0,731,21 · 0,731,04 · 0,62A: penyewa · B: operator
Listrik0,060,06termasuk colocationA: penyewa · B1: operator
Akses dari luar0 (tunnel)0,44termasuk colocationA: penyewa, jalur yang sudah ada [A] · B1: operator
Colocation——1,10operator
Cadangan suku cadang, 10% setahun [A]0,360,360,31pemilik server
Cadangan data di luar lokasi (R2)0≤ 0,02 untuk 20 bioskop≤ 0,02 untuk 20 bioskoppemilik server
Jumlah infrastruktur, 3 · 5 tahun1,64 · 1,152,08 · 1,602,45 · 2,03
Jam admin [A]6 jam = 0,606 jam = 0,607 jam = 0,70A: penyewa, lewat stafnya atau operator · B: operator
Jumlah dengan jam admin, 3 · 5 tahun2,24 · 1,752,68 · 2,203,15 · 2,73

Untuk P4, A dikali 20, satu server per bioskop. Dengan Xeon 6353P yang diimpor, bukan EPYC 4124P, tambahkan Rp0,30 juta (3 tahun) atau Rp0,21 juta (5 tahun) sebulan. B1 dengan internet dedicated (Rp2,0–4,5 juta + PPN sebulan) lebih mahal daripada B2 pada volume berapa pun.

Cloud: C1–C5

bulanan = tagihan satu instans yang selalu menyala + basis data terkecil
          + instans tambahan di jam puncak + pertumbuhan data 6 KB per tiket
          + jam admin × tarif

Kolom "bulan kosong" adalah tagihan tanpa satu tiket pun. Sisanya rata-rata 5 tahun, termasuk penyimpanan yang tumbuh di atas ukuran awalnya, tanpa jam admin. Jam admin menambah Rp0,20 juta per deployment.

Rp juta sebulan, tanpa jam admin; rata-rata 5 tahun
PlatformBulan kosongP1P2P3P4 bersamaP4, 20 deploymentRp per tiket tambahan pada 400 rb
C1 · Google Cloud Run1,691,711,731,742,6234,532,4
C2 · AWS ECS Express Mode1,781,781,781,782,1535,661,6
C3 · Azure Container Apps0,721,071,061,001,4721,181,7
C4 · Cloudflare Containers1,041,041,051,051,4620,981,3
C5 · Alibaba Cloud SAE2,142,152,162,172,5543,211,0

Siapa yang membayar

4. Biaya total 3 dan 5 tahun

biaya total = 12 × Y × bulanan + biaya keluar

P1–P3 adalah satu bioskop. P4 adalah 20 bioskop: A berarti 20 server, B satu server, cloud bersama satu deployment, dan cloud per bioskop 20 deployment. Angkanya sudah termasuk jam admin [A] dan biaya keluar [A]. Sel hijau adalah yang termurah di kolomnya.

Biaya total 3 tahun, Rp juta, dengan jam admin [A] dan biaya keluar [A]
TempatP1P2P3P4P4 per bioskopDibayar langsung oleh
A · server di bioskop80,980,980,91.618,280,9penyewa (perangkat), penyewa atau operator (jam admin)
B1 · server on-premise operator97,397,397,397,64,9operator
B2 · server operator di colocation114,2114,2114,2114,55,7operator
C1 · Google Cloud Run69,570,170,798,54,9operator
C2 · AWS ECS Express Mode72,272,272,283,04,2operator
C3 · Azure Container Apps46,646,144,059,03,0operator
C4 · Cloudflare Containers45,645,846,058,22,9operator
C5 · Alibaba Cloud SAE85,485,886,1100,25,0operator
C1 · Google Cloud Run, per bioskop= bersama= bersama= bersama1.395,369,8penyewa atau operator (tagihan), operator (jam admin)
C2 · AWS ECS Express Mode, per bioskop= bersama= bersama= bersama1.436,171,8penyewa atau operator (tagihan), operator (jam admin)
C3 · Azure Container Apps, per bioskop= bersama= bersama= bersama914,745,7penyewa atau operator (tagihan), operator (jam admin)
C4 · Cloudflare Containers, per bioskop= bersama= bersama= bersama907,345,4penyewa atau operator (tagihan), operator (jam admin)
C5 · Alibaba Cloud SAE, per bioskop= bersama= bersama= bersama1.707,985,4penyewa atau operator (tagihan), operator (jam admin)
Biaya total 5 tahun, Rp juta, dengan jam admin [A] dan biaya keluar [A]
TempatP1P2P3P4P4 per bioskopDibayar langsung oleh
A · server di bioskop105,5105,5105,52.110,0105,5penyewa (perangkat), penyewa atau operator (jam admin)
B1 · server on-premise operator132,5132,5132,5133,66,7operator
B2 · server operator di colocation164,8164,8164,8165,98,3operator
C1 · Google Cloud Run115,4116,4117,4170,58,5operator
C2 · AWS ECS Express Mode119,8119,8119,8142,07,1operator
C3 · Azure Container Apps77,176,472,8101,45,1operator
C4 · Cloudflare Containers75,475,776,1100,65,0operator
C5 · Alibaba Cloud SAE141,8142,4143,0166,48,3operator
C1 · Google Cloud Run, per bioskop= bersama= bersama= bersama2.320,2116,0penyewa atau operator (tagihan), operator (jam admin)
C2 · AWS ECS Express Mode, per bioskop= bersama= bersama= bersama2.388,2119,4penyewa atau operator (tagihan), operator (jam admin)
C3 · Azure Container Apps, per bioskop= bersama= bersama= bersama1.519,276,0penyewa atau operator (tagihan), operator (jam admin)
C4 · Cloudflare Containers, per bioskop= bersama= bersama= bersama1.506,875,3penyewa atau operator (tagihan), operator (jam admin)
C5 · Alibaba Cloud SAE, per bioskop= bersama= bersama= bersama2.841,1142,1penyewa atau operator (tagihan), operator (jam admin)

Biaya keluar: memindahkan data dan domain

Biaya keluar sekali, setelah 5 tahun, Rp juta; jam × Rp100.000 [A] + data keluar
TempatJam [A]Data keluar, satu bioskopSatu bioskopP4 (20 bioskop)
A · server sendiri4 per bioskop00,408,00
B1, B2 · basis data bersama800,800,80
Cloud bersama80,01–0,020,81–0,821,09–1,26
Cloud per bioskop4 per bioskop0,01–0,020,41–0,428,29–8,46

5. Titik impas

Volume: dari mana server sendiri lebih murah

volume impas = volume bulanan terkecil dengan  bulanan(server sendiri) ≤ bulanan(cloud, volume)

Server sendiri berbiaya tetap. Tagihan cloud naik pelan bersama volume karena data yang keluar, permintaan di atas kuota gratis, penyimpanan yang tumbuh, dan instans tambahan di jam puncak. A dibandingkan per bioskop dengan satu deployment untuk bioskop itu. B dibandingkan dengan satu deployment bersama, dan volumenya bertambah per bioskop 4 layar. Angka utama memakai jam admin [A]; angka dalam kurung tanpa jam admin.

Volume bulanan, semua bioskop, dari mana server sendiri lebih murah; dengan jam admin [A], dan tanpa
Server sendiriCloud RunECS ExpressContainer AppsCloudflareSAE
A, 3 tahuntidak tercapai (±180 rb)
tanpa admin: sejak tiket pertama
tidak tercapai (±378 rb)
tanpa admin: sejak tiket pertama
tidak tercapai (±846 rb)
tanpa admin: tidak tercapai (±575 rb)
tidak tercapai (±1,00 juta)
tanpa admin: tidak tercapai (±638 rb)
sejak tiket pertama
tanpa admin: sejak tiket pertama
A, 5 tahunsejak tiket pertama
tanpa admin: sejak tiket pertama
sejak tiket pertama
tanpa admin: sejak tiket pertama
tidak tercapai (±473 rb)
tanpa admin: tidak tercapai (±223 rb)
tidak tercapai (±490 rb)
tanpa admin: tidak tercapai (±149 rb)
sejak tiket pertama
tanpa admin: sejak tiket pertama
B1, 3 tahun392 rb
tanpa admin: 201 rb
694 rb
tanpa admin: 410 rb
1,13 juta
tanpa admin: 863 rb
1,31 juta
tanpa admin: 1,04 juta
336 rb
tanpa admin: sejak tiket pertama
B1, 5 tahun142 rb
tanpa admin: sejak tiket pertama
314 rb
tanpa admin: sejak tiket pertama
735 rb
tanpa admin: 488 rb
844 rb
tanpa admin: 525 rb
sejak tiket pertama
tanpa admin: sejak tiket pertama
B2, 3 tahun617 rb
tanpa admin: 378 rb
1,03 juta
tanpa admin: 670 rb
1,43 juta
tanpa admin: 1,11 juta
1,62 juta
tanpa admin: 1,29 juta
801 rb
tanpa admin: 305 rb
B2, 5 tahun372 rb
tanpa admin: 159 rb
657 rb
tanpa admin: 339 rb
1,07 juta
tanpa admin: 759 rb
1,21 juta
tanpa admin: 874 rb
397 rb
tanpa admin: sejak tiket pertama

"Sejak tiket pertama": server sendiri sudah lebih murah pada 1.000 tiket sebulan. "Tidak tercapai": impasnya di atas 100.000 tiket sebulan untuk satu bioskop, lima kali bioskop 4 layar; angkanya dalam kurung.

Penyewa terpisah: dari penyewa keberapa

Hari ini penyewa yang terpisah butuh deployment cloud sendiri-sendiri (bagian 1). Server on-premise operator, dengan satu proses per penyewa, dibandingkan dengan satu deployment per penyewa, masing-masing bioskop 4 layar.

Penyewa ke berapa yang membuat server operator lebih murah daripada satu deployment per penyewa; dengan jam admin (tanpa)
Server operatorCloud RunECS ExpressContainer AppsCloudflareSAE
B1, 3 tahun2 (2)2 (2)3 (2)3 (2)2 (1)
B1, 5 tahun2 (1)2 (1)2 (2)2 (2)1 (1)
B2, 3 tahun2 (2)2 (2)3 (3)3 (3)2 (2)
B2, 5 tahun2 (2)2 (2)3 (2)3 (2)2 (1)

Jam admin yang dibayar oleh selisihnya

Jam admin tidak pernah diukur, jadi tabel ini membaliknya: berapa jam admin tambahan sebulan yang terbayar oleh selisih biaya infrastruktur, pada Rp100.000 per jam. Server sendiri layak selama jam tambahannya, di atas jam admin cloud, di bawah angka ini. Angka negatif berarti cloud sudah lebih murah sebelum jam admin dihitung.

Jam admin tambahan sebulan yang terbayar oleh selisih biaya infrastruktur, 5 tahun, Rp100.000 per jam
PembandingCloud RunECS ExpressContainer AppsCloudflareSAE
A lawan satu deployment, satu bioskop (P2)5,76,3−0,9−1,010,1
B1 lawan satu deployment bersama, 20 bioskop (P4)10,15,3−1,4−1,69,4
B2 lawan satu deployment bersama, 20 bioskop (P4)5,71,0−5,8−5,95,0
B1 lawan 20 deployment, satu per penyewa (P4)329341196194416

Biaya per tiket, dan biaya layanan yang menutupnya

biaya per tiket = (biaya tetap + jam admin × tarif) ÷ (N × v) + biaya cloud per tiket tambahan
N = jumlah bioskop, v = tiket sebulan per bioskop

Biaya layanan yang menutup infrastruktur sama dengan angka ini. Untuk B, satu server cukup sampai ±2.020 bioskop 4 layar pada perkiraan dasar, atau ±110 pada perkiraan terburuk. Di atas itu, tambahkan satu server.

Rp per tiket, 3 tahun, dengan jam admin [A]; tiap bioskop 4 layar (19.600 tiket sebulan). Cloud per bioskop: Rp64–120 berapa pun jumlahnya. Pada 5 tahun A turun ke Rp89.
BioskopAB1B2Cloud RunECSContainer AppsCloudflareSAE
1114137161981016464120
211468805051333261
511427322120131325
10114141612106,87,013
201146,98,16,95,84,14,07,0
501142,83,24,03,22,52,33,4
1001141,41,63,12,32,11,92,2
2001140,70,82,61,91,91,71,6

Pemilik belum menetapkan biaya. Kodenya menagih penyewa dengan tarif bulanan tetap, bukan per tiket (docs/plan.md:832–834). Angka di konfigurasinya hanya contoh: "Tier NAMES are placeholders; the numbers are config precisely because pricing is what a first tenant conversation informs" (application.properties:306–310). Dibagi 19.600 tiket sebulan, contoh itu setara Rp26 per tiket (Starter, Rp0,5 juta), Rp102 per tiket (Business, Rp2,0 juta), Rp383 per tiket (Enterprise, Rp7,5 juta).

6. Sisi penyewa

Berapa yang dibayar satu bioskop 4 layar sebulan pada biaya layanan tertentu. Kolom kedua mengenakan biaya itu pada semua tiket, termasuk loket. Kolom ketiga hanya pada tiket daring, 40% [A], seperti biaya layanan aplikasi tiket hari ini yang dibayar pembeli.

Satu bioskop 4 layar, Rp juta sebulan; server sendiri (A) Rp1,75 juta (5 tahun) atau Rp2,24 juta (3 tahun), dengan jam admin
Biaya per tiketSemua tiket (19.600)Tiket daring saja (7.840)Semua tiket, dibanding A 5 tahun
Rp250,490,20lebih murah
Rp500,980,39lebih murah
Rp1001,960,78lebih mahal
Rp2504,901,96lebih mahal
Rp5009,803,92lebih mahal
Rp1.00019,607,84lebih mahal
Rp1.50029,4011,76lebih mahal
Rp4.00078,4031,36lebih mahal

7. Kalkulator

Masukkan volume, biaya layanan, tempat, dan pola. Rumusnya sama dengan tabel di atas, termasuk instans tambahan di jam puncak dan pertumbuhan data. Tabel-tabel di atas tetap berlaku tanpa JavaScript.

8. Kepekaan

Kapasitas bertumpu pada tiga masukan. CPU per FE diukur pada 5 November 2026 (bagian 2); FE per tiket dan thread lawan inti belum pernah diukur. Masing-masing digeser naik dan turun di bawah, satu per satu, dengan yang lain tetap di nilai dasar.

Satu masukan digeser, yang lain tetap; 5 tahun, dengan jam admin
MasukanSatu instans, P4: Cloud Run / Container Apps (juta tiket sebulan)Bioskop per server on-premiseRp per tiket tambahan: Cloud Run / Container AppsImpas B1 lawan Container AppsImpas B2 lawan Cloud RunP4 sebulan: Cloud Run / Container Apps (Rp juta)
9 FE per tiket: sebentar memilih, tanpa penonton12,46 / 6,2310.8001,0 / 0,42,00 juta879 rb2,07 / 1,19
Dasar: 48 FE, 3,2 ms per FE2,34 / 1,172.0202,4 / 1,7735 rb372 rb2,62 / 1,47
328 FE per tiket: lama memilih, 9 penonton0,34 / 0,1729613 / 9,7131 rb72 rb6,58 / 4,61
2,8 ms per FE: JVM saja, basis data di mesin lain (cloud)2,67 / 1,34— (server on-premise juga menjalankan basis data)2,4 / 1,7735 rb372 rb2,62 / 1,47
4,3 ms per FE: inti Xeon Silver 4215R [E]1,74 / 0,871.5102,4 / 1,7735 rb372 rb2,62 / 1,47
vCPU = satu inti, bukan thread2,34 / 1,171.0102,4 / 1,7735 rb372 rb2,62 / 1,47
Tanpa PLP: flush 2,8 ms, bukan di bawah 0,01 mssamasama: satu penyewa dibatasi ±310 tiket/detik, di atas CPU server ini (±67)samasamasamasama

Diukur sesudahnya (5 November 2026)

Angka di bawah ini diukur setelah versi pertama halaman ini. Sejak 5 November 2026 tabel dan kalkulator di halaman ini memakai CPU per FE yang terukur.

Bulan teoretis 24/7 lawan bulan bioskop

Kapasitas sebulan yang dihitung dari puncak dikali 720 jam tidak pernah terpakai: bioskop menjual malam hari dan akhir pekan, dan semua bioskop memuncak bersama. Biaya per tiket ditentukan oleh tiket yang benar-benar terjual, bukan oleh kapasitasnya.

Server B1 yang sama, Rp2,21 juta sebulan (5 tahun, dengan jam admin); di volume teoretis penyimpanannya sudah tidak cukup
VolumeTiket sebulanRp per tiket
Bulan teoretis 24/7: 67 tiket per detik × 720 jam173.664.0000,0127
Kapasitas nyata, semua puncak bersamaan: ±2.020 bioskop 4 layar39.592.0000,0558
P4: 20 bioskop400.0005,5
Satu bioskop 4 layar19.600113

Masukan lain

9. Mengapa cloud tidak turun ke nol untuk sistem ini

Platform kontainer serverless menjalankan image OCI/Docker tanpa server yang Anda kelola: Google Cloud Run, AWS ECS Express Mode, Azure Container Apps, Cloudflare Containers (lewat Worker perantara), dan Alibaba Serverless App Engine bisa menjalankan image yang sama. Daya tarik utamanya adalah turun ke nol: tidak ada permintaan, tidak ada instans, tidak ada tagihan. Pertanyaan yang menentukan untuk sistem pemesanan bukanlah mana yang lebih murah per permintaan, melainkan apa saja di aplikasi yang harus tetap berjalan saat tidak ada yang mengirim permintaan. Contoh di bawah memakai Cloud Run; perilaku turun ke nol platform lain berbeda.

Platform bioskop ini awalnya dirancang dalam dua bentuk dari satu basis kode: native image GraalVM (Mandrel) di Cloud Run dengan Cloud SQL for PostgreSQL di region Jakarta, dan JVM yang selalu menyala di server on-premise. movie-ticket mengambil bentuk lain lagi: hanya JVM, dengan satu Dockerfile.jvm, dan README-nya menjelaskan cara menjalankannya di komputer pengembang dan di kelima cloud di atas.

Yang tidak ikut turun ke nol

Proyek ini menimbang dua cara untuk tetap turun ke nol, lalu menolak keduanya (19 Oktober 2026): memindahkan pekerjaan terjadwal ke panggilan Cloud Scheduler, atau menyalakan timer setiap kali tahanan atau pertunjukan dibuat. Timer di memori mati bersama instansnya, dan instans yang dibangunkan setiap menit berbiaya sama dengan instans yang selalu menyala, sementara notifikasi tetap membutuhkan CPU di luar permintaan. Keputusannya: --min-instances=1 ditambah --no-cpu-throttling, dan jangan merekayasa jalan memutarinya. Kelima tagihan cloud di halaman ini mengikuti keputusan itu: satu instans selalu menyala.

Lantainya, di Jakarta

Satu instans 1 vCPU yang menyala sebulan penuh (730 jam) memakai ±2,63 juta vCPU-detik. Dengan tarif berbasis instans di Jakarta (Tier 2), US$0,0000216 per vCPU-detik, CPU-nya saja US$56,8, dan dengan 1 GiB memori US$63,1. Kuota gratis mengurangi US$5,22. Cloud SQL db-g1-small menambah US$33,2, dan 10 GB SSD US$2,2. Jadi bulan tanpa satu tiket pun berbiaya US$93,3, atau Rp1,69 juta. Untuk sistem pemesanan, "turun ke nol" berarti "turun ke satu".

10. Native image atau JVM: hanya penting bila cold start sering

Cloud Run memberi tambahan CPU selama instans dinyalakan dan 10 detik sesudahnya, yaitu startup CPU boost, dan tambahan itu ikut ditagih. Untuk batas 1 vCPU, CPU-nya digandakan menjadi 2. Jadi startup yang lambat tidak hanya ditagih lebih lama, tetapi juga dengan CPU dua kali lipat. Tabel resmi Quarkus (uji 21 April 2026: Quarkus 3.34.3, JDK 25.0.2, 4 CPU, -Xmx512m; dibaca ulang 5 November 2026) menunjukkan selisihnya:

Waktu sampai permintaan pertama, throughput puncak, dan memori
ModeSampai permintaan pertama Throughput puncakMemori (RSS)
JVM fast-jar4.417 ㎳13.265 tps304 MiB
JVM + cache AOT Leyden1.859 ㎳12.389 tps (−7%)240 MiB
Native (Mandrel)581 ㎳5.411 tps (−59%)95 MiB

Native kehilangan 59% throughput puncak, karena tidak ada JIT yang belajar dari profil berjalan. Beban sistem pemesanan didominasi I/O, yaitu perjalanan bolak-balik ke basis data dan serialisasi, bukan komputasi CPU yang panjang, dan pada lalu lintas sepi instans Cloud Run jarang hidup cukup lama sampai JIT sempat panas. Jadi native unggul di dua hal yang ditagih: latensi startup dan detik CPU sampai respons pertama. Perkiraan kasar titik impasnya bisa dihitung dari tabel di atas:

Sinyal yang bisa dicek adalah total permintaan dibagi jumlah instans yang dinyalakan, per layanan, dalam jendela waktu bergulir; keduanya tampak di Cloud Monitoring. Bila tiap instans rata-rata melayani jauh lebih sedikit dari ribuan permintaan sebelum dimatikan, native lebih hemat. Bila rasionya bertahan di ribuan, pindahlah ke JVM dengan cache AOT Leyden, bukan ke JVM biasa: startup dan memorinya mendekati native, build dan deploy-nya tetap JAR biasa, dan risiko konfigurasi refleksi khas native hilang.

Namun hitungan itu hanya berlaku bila instans memang sering dinyalakan. Aplikasi yang wajib menjaga satu instans tetap menyala, seperti di atas, hanya mengalami cold start saat lonjakan menambah instans dan saat deploy, jadi keunggulan native menyusut ke instans tambahan itu saja. Di pola P1–P4 lonjakan itu tidak pernah terjadi pada perkiraan dasar (bagian 2). Harganya tetap dibayar penuh: build yang memakan beberapa menit, dan pustaka berbasis refleksi yang bisa gagal hanya di native. Di proyek ini, Firebase Admin SDK perlu konfigurasi refleksi eksplisit dan inisialisasi saat runtime, dan implementasi Web Push mentah gagal di bawah Mandrel karena penyedia kriptografi yang didaftarkan secara dinamis ditolak. "Native-nya berhasil di-compile" bukan bukti fiturnya jalan.

11. Tagihan ikut berubah bentuk

  1. Titik awal: penagihan berbasis permintaan. Bayar per permintaan, US$0,40 per sejuta, ditambah waktu aktif, dan benar-benar bisa turun ke nol, asalkan aplikasinya tidak punya tenggat dan pekerjaan latar seperti di bagian 9.
  2. Penagihan berbasis instans, setelah lalu lintas cukup stabil sehingga instans jarang menganggur, atau sejak hari pertama bila aplikasinya butuh CPU di luar permintaan. Untuk sistem pemesanan, langkah ini syarat, bukan pilihan. Biaya per permintaan hilang, dan tarif per detiknya turun. Di Jakarta, berbasis instans US$0,0000216 per vCPU-detik dan US$0,0000024 per GiB-detik, dibanding US$0,0000336 dan US$0,0000035 waktu aktif untuk berbasis permintaan: 36% dan 31% lebih murah. Cloud Run punya Recommender yang meninjau lalu lintas sebulan terakhir dan menyarankan peralihan ini bila hasilnya lebih murah.
  3. Committed use discount (CUD). Diskon komitmen fleksibel Cloud Run kini juga berlaku untuk penagihan berbasis permintaan, tetapi jauh lebih kecil: 17%, dibanding 28% untuk komitmen setahun atau 46% untuk tiga tahun pada penagihan berbasis instans. Yang dikomitmenkan adalah belanja minimum per jam, dan setelah dibeli tidak bisa dibatalkan, jadi ukurlah ke sekitar 60–70% dari pemakaian rata-rata yang stabil, bukan puncaknya. Pada instans yang selalu menyala, CUD tiga tahun memotong US$26,6 (Rp0,48 juta) sebulan dari bagian Cloud Run (bagian 8).

12. On-premise: JVM yang selalu panas, harganya di operasional

Di server yang menyala terus, tiga masalah di bagian 9 lenyap dengan sendirinya: tidak ada cold start, penyapu berjalan tepat waktu, dan daftar soket di memori sudah cukup. JIT-nya pun sudah panas, padahal permintaan pertama sebelum JIT panas jauh lebih lambat daripada permintaan yang sama setelah hangat.

Uji beban sebaiknya open-loop, misalnya dengan wrk2, supaya generator bebannya tidak ikut melambat saat server melambat dan menyembunyikan latensinya. Setiap tab peta kursi yang terbuka memolling setiap 3 detik (seatmapFragment.html:201), jadi bagilah permintaan per detik yang sanggup dilayani dengan 0,33 untuk mendapat jumlah tab yang setara. Di proyek ini batas pertamanya pool koneksi basis data, bukan CPU: konfigurasi awal dengan 32 thread dan 10 koneksi mentok jauh sebelum CPU penuh, dengan p99 sampai hitungan detik, dan menyamakan keduanya di 16 menaikkan plafon itu. movie-ticket sendiri dikirim dengan pool 2–10 koneksi (application.properties:90–91), yang cocok untuk banyak instans kecil di cloud; di satu server khusus, 16 adalah angka yang terukur. Aplikasi pemesanan lebih banyak menunggu I/O daripada menghitung.

Pelajaran terbesarnya justru letak basis data. Setiap polling peta kursi membuat sekitar 10 perjalanan bolak-balik ke basis data; bila PostgreSQL-nya berada di region lain dengan RTT 10–30 ㎳, itu 100–300 ㎳ per permintaan, hampir semuanya menunggu jaringan, sedangkan lewat Unix socket di server yang sama biaya itu nyaris hilang. Di cloud mana pun, aplikasi dan basis datanya harus berada di region yang sama; jarak di antara keduanya lebih mahal daripada pilihan native atau JVM. Karena itu pula Cloudflare Containers di bagian 3 murah di atas kertas: kontainernya di Asia Pasifik, basis datanya di AWS Jakarta. Biaya bulanan on-premise tetap berapa pun jumlah permintaannya, dan data pelanggan tinggal di gedung sendiri.

Tunnel di A dan B1 mengakhiri TLS di jaringan Cloudflare, jadi lalu lintas pembeli dibuka di jaringan pihak ketiga sebelum sampai ke server. movie-ticket memercayai X-Forwarded-* (application.properties:143; alasannya di README), jadi server di belakang tunnel tidak boleh juga terjangkau langsung dari internet.

Harganya ada di operasional

Anda memegang semua yang biasanya diurus penyedia cloud, dan masing-masing bisa menggigit tanpa suara:

Semuanya tidak terlihat sampai boot berikutnya, atau sampai ada yang mengaudit. On-premise murah di tagihan, tetapi mahal di perhatian. Halaman ini memberi perhatian itu harga: 6 jam sebulan per server [A], dan bagian 5 menunjukkan berapa jam yang masih terbayar oleh selisihnya.

13. Memilih, dan daftar periksa

Tenggat waktu, bentuk lalu lintas, dan jumlah penyewa menentukan tempat aplikasi berjalan, bukan sebaliknya
KondisiContoh Pilihan yang masuk akalYang harus dihitung
Tanpa tenggat dan tanpa pekerjaan latar; lalu lintas sepi dan sporadis halaman katalog dan jadwal, API baca, alat internal, webhook yang jarang Serverless yang benar-benar turun ke nol, penagihan berbasis permintaan; native image bila cold start sering permintaan per cold start; biaya lantai basis data
Ada tenggat, pekerjaan setelah respons, atau koneksi panjang; satu penyewa, sampai puluhan bioskop pemesanan kursi, janji temu, sewa lapangan; bioskop independen, jaringan kecil Serverless dengan satu instans minimum dan CPU selalu dialokasikan, berbasis instans lalu CUD. Termurah di sini: Container Apps atau Cloudflare, ±Rp1,0–1,1 juta sebulan untuk satu bioskop sebelum jam admin. Atau satu VPS kecil, yang tidak dihargai di halaman ini. biaya instans minimum sebulan; basis data; plafon koneksi; saluran bersama bila instans lebih dari satu
Banyak bioskop dalam satu sistem, banyak penyewa terpisah, atau data harus tinggal di gedung sendiri jaringan bioskop besar; operator dengan beberapa penyewa JVM panas di server on-premise operator, di colocation atau di kantornya. Lebih murah dari ±0,73 juta tiket sebulan untuk satu penyewa, atau paling lambat sejak penyewa ketiga bila penyewanya terpisah. jam admin; kapasitas tim operasional: jam, TLS, cadangan, firewall, pemutakhiran; biaya keluar

Sebelum memilih platform serverless mana pun, jawab pertanyaan yang sama untuknya:

  1. Apakah CPU tetap berjalan di antara permintaan? Notifikasi setelah respons dan pekerjaan terjadwal membutuhkannya.
  2. Bisakah satu instans tetap hangat, dan berapa biayanya sebulan?
  3. Bagaimana jumlah instans dikali ukuran pool koneksi bertemu batas koneksi basis datanya?
  4. Apakah PostgreSQL terkelolanya mengizinkan btree_gist dan pgcrypto, dan pemilik tabel yang bukan superuser? Peran superuser atau BYPASSRLS tidak pernah mengevaluasi kebijakan row-level security. Di proyek ini, dua bug nyata yang hanya muncul di bawah kebijakan itu lolos dari rangkaian uji yang hijau sampai migrasinya dijalankan pemilik biasa.
  5. Di mana status yang hidup lama disimpan, seperti soket, timer, dan sesi, bila instansnya lebih dari satu?
  6. Apakah TLS berakhir di proxy yang selalu menimpa X-Forwarded-*? Header itu hanya boleh dipercaya di belakang proxy seperti itu. Server yang langsung terjangkau dari internet, seperti server on-premise tanpa proxy di depannya, harus menganggapnya masukan pemanggil.
  7. Adakah region Indonesia untuk platformnya dan basis datanya?
  8. Di mana rahasia disimpan, sebagai pengganti berkas environment di server sendiri?

Tempat aplikasi berjalan juga bukan keputusan teknis semata. Di proyek ini, pertanyaan hosting sengaja ditunda sampai akhir masa uji coba dengan calon penyewa pertama, bersama dua pertanyaan lain: rekening siapa yang menerima uang tiket, dan siapa yang mendaftar sebagai Penyelenggara Sistem Elektronik. Ketiganya sebenarnya satu pertanyaan: pembeli tiket ini pelanggan siapa?

Daftar periksa

  1. Ukur bentuk lalu lintas lebih dulu: permintaan per jam, per hari, dan per cold start.
  2. Daftar setiap tenggat dan pekerjaan latar. Masing-masing butuh proses yang terjaga.
  3. Hitung biaya lantai yang tidak bisa nol: basis data, instans minimum, dan penyimpanan.
  4. Hitung titik impasnya untuk jumlah bioskop dan penyewa Anda sendiri, dengan kalkulator di bagian 7.
  5. Pastikan basis data Anda sendiri bisa menegakkan aturan "tidak boleh tumpang tindih", dan uji pelindungnya dengan mencabutnya.
  6. Pastikan agen elektronik Anda, manusia atau AI, memberi kesempatan mengoreksi kesalahan sebelum transaksi mengikat.
  7. Periksa ke mana data pelanggan mengalir, termasuk teks obrolan, dan apakah ia keluar dari Indonesia.
  8. Jujurlah soal kapasitas operasional tim: on-premise murah di tagihan, tetapi mahal di perhatian.

14. Yang berubah sejak artikel utama

Halaman ini menggantikan bagian 6 artikel utama tentang on-premise dan serverless. Isi bagian itu dibawa ke bagian 9–13 di atas. Yang berubah:

15. Yang belum diketahui

16. Pertanyaan yang sering diajukan

Bisakah sistem pemesanan benar-benar turun ke nol di serverless?

Biasanya tidak. Tahanan kursi punya tenggat yang jatuh tempo justru saat tidak ada permintaan, jadi penyapu terjadwal butuh satu instans yang selalu menyala; notifikasi setelah commit butuh CPU yang selalu dialokasikan; dan basis data terkelola tetap ditagih selama instansnya menyala. Di Jakarta, satu instans Cloud Run 1 vCPU dan 1 GiB yang menyala sebulan sudah US$63,1, dan dengan Cloud SQL terkecil US$93,3 (Rp1,69 juta) sebelum satu tiket pun terjual. Hitung biaya lantai itu sebelum memilih.

Kapan native image lebih hemat daripada JVM?

Saat instans sering dinyalakan ulang. Dari tabel resmi Quarkus, satu cold start native menghemat sekitar 2,6 detik vCPU dibanding JVM dengan cache AOT Leyden, setara kira-kira 6.000 permintaan hangat. Bila tiap instans melayani jauh lebih sedikit dari itu sebelum dimatikan, native lebih hemat. Aplikasi yang wajib menjaga satu instans tetap menyala jarang mendapat manfaat itu, karena cold start-nya hanya terjadi saat lonjakan dan saat deploy.

Kapan sebaiknya memilih JVM panas di server on-premise?

Saat banyak bioskop berbagi satu sistem. Untuk cabang-cabang satu penyewa, server on-premise operator mengalahkan Cloud Run sejak ±142 ribu tiket sebulan dan cloud termurah sejak ±0,73 juta (5 tahun, dengan jam admin [A]). Untuk penyewa terpisah, ia sudah lebih murah paling lambat sejak penyewa ketiga. Syaratnya, tim sanggup mengurus jam, sertifikat TLS, cadangan, firewall, dan pemutakhiran. Dalam uji beban proyek ini, batas pertama JVM yang sudah panas adalah pool koneksi basis data, bukan CPU.

Berapa biaya infrastruktur per tiket?

Rp0,7–161 per tiket di tabel bagian 5, tergantung tempat dan berapa bioskop berbagi. Satu bioskop 4 layar sendirian: Rp64–161. Dua puluh bioskop dalam satu sistem bersama: Rp4,0–8,1. Pembeli kini membayar biaya layanan Rp1.500–4.000 per tiket di aplikasi tiket, jadi infrastruktur hanya sebagian kecil darinya.

Apakah satu bioskop sebaiknya membeli server sendiri?

Dari sisi biaya, tidak, bila hanya untuk satu bioskop. Cloud termurah dengan basis data terkecil lebih murah pada volume berapa pun yang bisa dicapai satu bioskop. Server sendiri, Rp1,75 juta sebulan dalam 5 tahun dengan jam admin, hanya lebih murah daripada Cloud Run, ECS, dan SAE, atau daripada Container Apps bila basis datanya B2s. Alasan lain tetap sah: data tinggal di gedung sendiri, dan kodenya terbuka sehingga bioskop bisa menjalankannya tanpa operator.

17. Sumber

Dibaca 4 November 2026, kecuali disebut lain.

  1. Pengukuran proyek ini, yang tidak ikut dipublikasikan: uji wrk2 open-loop 29–30 Agustus 2026 (9.823–9.900 permintaan per detik untuk fragmen peta kursi, 8 vCPU untuk aplikasi) dan uji 16 Agustus 2026 (±300 permintaan per detik pada 0,87 inti); uji 5 November 2026: wrk2 open-loop dan pgbench pada PC pengembang (Core i7-9700, HDD 7.200 rpm), serta pg_test_fsync dan memori JVM pada server proyek.
  2. SPEC CPU2017, hasil SPECrate2017_int_base: Xeon 6315P, 6325P, 6333P, 6337P, 6353P, 6357P, 6349P, 6369P, EPYC 4124P, 4344P, 4344P, 4245P, 4345P, Xeon Silver 4215R, 4215R, 4215R, 4215R.
  3. Intel ARK, ark.intel.com, SKU 241603 (Xeon 6315P, harga US$239), 241608 (Xeon 6353P, US$477), 241876, 241068, 241070, 241067 (Core Ultra 200S, status dan ECC).
  4. AMD: EPYC 4004 Series dan EPYC 4005 Series; Thomas-Krenn Wiki, halaman EPYC 4005 dan Xeon E-2400/6300.
  5. Small Datum, SSDs, power loss protection and fsync latency, 7 Januari 2026: latensi fdatasync dengan dan tanpa PLP.
  6. CNA Indonesia, euforia 80 juta penonton bioskop, 24 Februari 2026: data BPI Februari 2024 (517 lokasi, 2.145 layar) dan 80,2 juta penonton film Indonesia pada 2025.
  7. Pangsa penjualan daring: artikel 29055 di jom.unri.ac.id (lebih dari 40% di satu jaringan bioskop, kuartal II 2019) dan katadata.co.id (±5% menurut eksekutif sebuah agregator, tanpa tanggal). Keduanya tidak sepakat; dipakai 40% [A].
  8. AWS Price List API, ap-southeast-3: AmazonECS, AmazonRDS, AWSELB, AWSDataTransfer, AmazonVPC.
  9. Azure Retail Prices API, indonesiacentral: prices.azure.com/api/retail/prices; Microsoft Learn, Billing in Azure Container Apps (diperbarui 25 Maret 2026).
  10. Google Cloud: Cloud Run pricing, Cloud SQL pricing, network pricing (tabel Jakarta di halamannya).
  11. Cloudflare: Containers pricing, Workers pricing, R2 pricing, Tunnel for everyone.
  12. Alibaba Cloud: SAE billing (diperbarui 27 Mei 2026), CLB pay-as-you-go (diperbarui 21 Oktober 2026); NAT Gateway billing dari cuplikan pencarian, belum pasti.
  13. Kurs JISDOR 3 November 2026, Rp18.148 per dolar AS, dari unggahan Bank Indonesia; bi.go.id tidak terbuka saat dibaca.
  14. Harga suku cadang, halaman pencarian Tokopedia: epyc-4124p, asrock-rack-b650d4u, ddr5-ecc-udimm-16gb, ssd-samsung-pm9a3-u2-960gb, adapter-pcie-u2, seasonic-focus-gx-550, fractal-design-define-7, casing-server-1u, cooler-am5, apc-smart-ups-1000va, xeon-6353p; serta Bhinneka dan biggo.id untuk Xeon E-2400 dan 6300; esaitech.com (Supermicro X13SCL-F-B, US$440); asus.com, spesifikasi Pro WS W880-ACE SE.
  15. Impor barang kiriman: PMK 96/2023 sebagaimana diubah PMK 4/2025, peraturan.bpk.go.id dan Details/311485; PMK 131/2024, berkas 2024pmkeuangan131.pdf di jdih.kemenkeu.go.id.
  16. Listrik: siaran PLN 3 November 2026 bahwa tarif triwulan IV 2026 tidak berubah (pln.co.id), dan tarif per kWh dari CNBC Indonesia (artikel 20261104072435-4-782094) dan Detik, yang mengutip PLN.
  17. Jaringan dan colocation: nex.net.id; nusa.id/promo/internet-dedicated; perwiracloud.com/colocation; idnix.net/colocation-server/; my.1stserver.com/store/colocation-server-indonesia.
  18. Biaya layanan aplikasi tiket, dibaca 5 November 2026. Liputan6, Cara Pesan Tiket Bioskop Online, 19 November 2024: Rp1.500 per tiket di aplikasi Jaringan bioskop A.
  19. ANTARA, 12 Agustus 2025: di aplikasi yang sama, Rp4.000 per tiket bila membayar dengan dompet aplikasinya, dompet digital, atau QRIS, dan Rp1.500 dengan poin. Tautannya tidak dicantumkan karena alamatnya memuat merek.
  20. Halaman tanya-jawab sebuah aplikasi tiket independen: sejak 11 November 2024 biaya layanan per tiket berbeda menurut lokasi dan bisa berubah tanpa pemberitahuan. Tautan tidak dicantumkan, dengan alasan yang sama.
  21. Halaman App Store aplikasi Jaringan bioskop B: "Biaya admin paling murah hanya Rp1.990 per tiket", sebagai manfaat anggota. Tautan tidak dicantumkan, dengan alasan yang sama.
  22. Quarkus, Building a native executable, tabel JVM, Leyden, dan native; dibaca ulang 5 November 2026.
  23. Google Cloud, dibaca untuk artikel utama (Oktober 2026): Configure CPU limits, Billing settings for services, Using WebSockets, Best practices for cost-optimized Cloud Run services, Compute flexible committed use discounts, dan Cloud SQL for PostgreSQL pricing.
  24. movie-ticket, kode sumber pada commit 39351cc; rencana proyek: docs/plan.md; README.
  25. Halaman terkait: artikel utama, untuk pengelola bioskop, untuk pembeli tiket.

Harga, ketersediaan layanan, region, dan angka tolok ukur berubah dari waktu ke waktu. Periksa sumber resminya sebelum mengambil keputusan.