Pada 29 September 2022 kemarin Google mengumumkan pemberhentian salah satu layanannya yang bernama Google Stadia. Google Stadia adalah sebuah layanan untuk bermain game melalui streaming, di komputer yang berada dan diakses melalui jaringan internet.

Disamping itu, sudah cukup banyak perusahaan teknologi lain yang bermain di industri ini: Amazon dengan Amazon Luna nya, Microsoft dengan Xbox Cloud Gaming nya, dan Nvidia dengan GeForce Now nya. Dari ketiga penyedia layanan tersebut, gue coba menggunakan Nvidia GeForce Now karena gue rasa yang sudah mendukung negara Indonesia hanyalah GeForce Now. Disini gue menghubungkan akun Steam gue, dan beberapa game yang ada Steam Library gue (Dota 2, Team Fortress 2, dan Factorio) sudah siap dimainkan.

Game pertama yang gue coba adalah Dota 2, minimum hardware yang direkomendasikan di Steam untuk game ini—secara teori—adalah seperti berikut: Secara praktiknya terkadang tak sesuai dengan teori. Di workstation gue dengan memory 16 GB dan graphics AMD Radeon R7 yang technically diatas sedikit dari rekomendasi yang ada diatas somehow gak stabil dalam bermain Dota 2. Yang mungkin karena gue menggunakan sistem operasi GNU/Linux?

Anyway, untuk gambaran ketika bermain Dota 2 di GeForce Now tersebut seperti ini: aslinya Full Screen IMO graphics nya worse dari ketika gue main Dota 2 di Macbook Air M1.

Karena sedang tidak mood main Dota, gue coba game kedua yakni Genshin Impact. Gue tidak tahu bagaimana graphics aslinya di recommended hardware untuk bermain Genshin Impact, tapi di GeForce Now berikut gambarannya: Story mode Dan sedikit gambaran untuk gameplay nya: Setiap char cewe pasti gue namain ayu btw Gue sempat coba main Genshin Impact di iPad, dan gue rasa graphics nya kurang lebih sama dengan ketika gue main di iPad dengan Graphics Quality High (atau Highest? Lupa).

Dan ini ketika koneksi sedang lag: Klo lagi lag kualitasnya kurang lebih seperti bokep amatir indo lah HAHAHA.

Bandwidth internet gue adalah 5 Mbps (internet kos), yang secara teori kecepatannya adalah 0,625 MB/s alias untuk bisa download apapun berukuran 1,25MB setidaknya memakan waktu 2 detik. Internet di kos gue menggunakan QoS yang setiap kamar mendapatkan jatah 5 Mbps (yang gue yakin mereka berlangganan internet yang paket 50 Mbps).

Dari gameplay cukup oke. Gue tidak merasakan lag karena frame drops yang kemungkinan bisa merendender 60 fps. Di GeForce Now gue cukup yakin mereka menggunakan adaptive streaming yang mana sederhananya grafis yang ditampilkan bergantung berdasarkan internet bandwidth dan throughput.

The promising Cloud Gaming

Bagian menarik ketika gue mencoba Dota 2 dan Genshin Impact adalah gue tidak perlu menunggu beberapa jam untuk selesai mengunduh kedua game tersebut. Ukuran game Dota 2 di Mac OS gue adalah 37.54 GB (kalau untuk mengunduh installer nya kalau ga salah inget sekitar 6-9 GB) per gue menulis ini.

Untuk Genshin Impact sendiri sekitar 14 GB di desktop (installer nya kalau ga salah inget sekitar 100 MB) per gue menulis ini. Untuk mengunduh total 14 GB dengan kecepatan internet 5 Mbps, secara teori membutuhkan waktu setidaknya 6 jam 40 menit, itupun jika stabil.

Bagian menarik lainnya?

Gue dapat bermain Genshin Impact di Mac OS.

Di macbook. fucking. air.

Koneksi jaringan di data center umumnya cukup oke, mengingat cloud provider pasti berlangganan paket internet yang bukan untuk penggunaan rumahan. Jadi seharusnya kasus disconnect dari game karena masalah koneksi internet kemungkinannya sangat kecil, sehingga probabilitas mendapatkan commends alih-alih report kemungkinannya menjadi lebih besar.

Kondisi CPU dan memory di komputer gue? Lebih kalem dari weekdays ketika buka VSCode + Google Chrome.

The Cloud Economy

Since sudah menjadi DevOps/Site Reliability/Cloud Engineer *(you can call me anything you want~) *argumen gue terkait cloud sedikit bisa dipertimbangkan mengingat i do cloud for a living.

Salah satu yang dijual oleh cloud adalah fleksibilitas. Salah satu contohnya, biar lebih gampang adalah ketika gue ingin main Genshin Impact, gue tidak perlu ribet-ribet download + update + make sure SSD healthy + make sure ada koneksi internet dsb karena itu bukan tanggung jawab gue. Yang gue inginkan hanyalah “bermain genshin impact” dan “upacara” yang harus dilakukan sebelum bisa bermain tersebut hanya berada di lingkungan non-cloud. Dan ketika gue ingin bermain, game nya ada disana dan siap digunakan.

Selain itu, yang sering dijual dari cloud adalah cost effectiveness.

In fact, salah satu benefit dari fleksibilitas diatas pun berperan di cost ini, yang biasanya dijual dengan kata “on demand”, “pay as you use”, blabla blabla.

Sekarang mari kita coba hitung-hitungan.

On prem vs cloud

Gue ada PC desktop di rumah dengan spek kentang, total biaya yang gue keluarkan kalau gak salah inget sekitar 3 jt untuk mobo; memory, cpu, case, hdd, SSD (fucking SATA), cooling fan, dan sedikit neon rgb biar kek streamer.

Jika itu PC misal digunakan untuk gaming, total investasi awal yang gue keluarkan adalah 3jt dengan dalih, misal, bisa memenuhi kebutuhan gaming. Karena on prem (gampangnya: infrastruktur/hardware dimiliki sendiri), ada biaya lain yang sudah menjadi rahasia umum, dari maintenance sampai ke upgrade.

Namun dengan 3.3jt didepan tersebut gue sudah bisa memiliki PC tanpa ada biaya lain yang harus gue bayar tiap sepersekian waktu (misal perbulan) selain biaya internet dan listrik.

Di cloud, kita tidak membeli apapun. In fact, yang kita lakukan adalah menyewa.

Misal, layanan DigitalOcean. DigitalOcean adalah perusahaan yang menyediakan infrastruktur sebagai layanan (IaaS). Dengan 0,01042/jam), lo sudah bisa menggunakan apapun yang komputer dengan spesifikasi 1GiB memory; 1 vCPU dan 25 GiB SSD lakukan. IaaS adalah salah satu bagian dari lingkungan cloud, dan bagian fleksibilitas dalam harga disini berperan. Misal, jika lo hanya menggunakan komputer tersebut selama 10 hari (240 jam), biaya yang diterbitkan hanyalah $2,50 untuk periode tersebut.

Tidak ada biaya yang harus dibayar diawal. Tidak ada komitmen. Very pay as you use.

Gue coba samakan DigitalOcean dengan workstation rumah gue.

Untuk komputer dengan memory 16 GiB dan 4 CPU AMD, setidaknya biayanya adalah 0,18750/jam). Mungkin ini kurang apple-to-apple karena di cloud umumnya menggunakan virtualisasi sedangkan di workstation rumah gue bare metal. Namun gue rasa dari segi throughput tidak terlalu berbeda signifikan dan gue rasa perbedaannya di mesin virtual tidak bisa melakukan virtualisasi *lagi *aja. Anyway.

Dengan paket diatas sudah mendapatkan penyimpanan sekitar 50GiB SSD, dan karena SSD gue 120 GB, berarti kurang 70 GiB. Tambahan 100 GiB SSD di DigitalOcean memakan biaya 0,015/jam), berarti totalnya sekarang adalah 0,20238/jam).

Setidaknya gue pakai PC gue perhari sekitar 10 jam untuk kerja dan browsing-browsing. Berarti jika dalam 30 hari gue per-harinya menggunakan 10 jam, biayanya seharusnya adalah 56,25/mo (870,311 IDR/bulan). Dalam setahun, biaya tersebut menjadi $675 alias 10,443,735 IDR, yang mana 216% lebih besar dari biaya yang gue keluarkan untuk on prem.

Anggap lifespan PC gue adalah 5 tahun, perbandingan harganya sekarang adalah 3,300,000 IDR/5 tahun (atau sampe rusak) untuk on prem vs 52,218,675 IDR/5 tahun untuk cloud, yang mana 1482% lebih besar.

Itupun dengan catatan, spesifikasi + biaya + waktu pemakaian tidak berubah selama 5 tahun.

Gue coba untuk tidak terlalu banyak membahas detail tentang cloud, tapi sepertinya tidak bisa lol.

Salah satu common pitfalls dalam lingkungan cloud adalah tidak berubahnya mindset. Lingkungan berubah, tapi mindset tidak berubah. Di on prem, kita selalu berpikir general usage. Sedangkan di cloud, umumnya specific usage.

Misal, dengan workstation yang gue miliki sekarang, gue bisa menggunakan untuk bermain game ringan; streaming film, online meeting, dsb dalam satu waktu ataupun dalam waktu yang berbeda-beda.

Harga 3,3jt terlihat masuk akal untuk komputer bisa melakukan banyak hal.

Di lingkungan cloud, umumnya untuk bisa mencapai “cost effective” penggunaannya harus spesifik. Misal, untuk bisa streaming film 4K selama 2 jam, setidaknya gue membutuhkan komputer dengan spek memory 8 GiB + 4 vCPU + internet 50 Mbps. Tujuan lo adalah “streaming film” and that’s it. Jika biaya untuk menggunakan komputer dengan spesifikasi tersebut adalah 0,14 alias 2,166 IDR per tulisan ini diterbitkan.

Jika lo menggunakan untuk kebutuhan lain (misal: live streaming) dengan spek yang sama + durasi yang sama, biayanya masih sama yakni 2,166 IDR, yang berarti total untuk melakukan 2 hal *spesifik *tersebut selama masing-masing 2 jam adalah 4,332 IDR.

Gaming in the cloud

Membership di GeForce NOW (via GameHub+) adalah 9.99 SGD/bulan alias 107,000 IDR. Lebih murah dari budget kopi gue selama dua hari lol.

Anggap rata-rata orang bermain game selama 3 jam, maksimal anggap 5 jam. Biaya per-hari nya berarti 21,400. Let’s be real. Selama 30 hari, total adalah 720 jam. Besar kemungkinan orang-orang tidak akan menggunakan 720 jam nya hanya untuk bermain game. Anggap kondisi ekstrim dengan mengurangi waktu tidur dan waktu pribadi orang bermain game selama 10 jam (24 jam - (8 jam kerja + 5 jam tidur + 1 jam waktu pribadi), total dalam 30 hari berarti 300 jam. Dengan harga 107,000/bulan, berarti anggap biaya per-hari nya yang dikeluarkan pengguna adalah 10,700/hari.

Kita tetap membayar 9,99 SGD/bulan, meskipun, mungkin, yang digunakan hanyalah 150-300 jam. Dan gue rasa harganya tetap masuk akal dari sisi pembeli.

Apakah itu sustainable?

…karena kita tidak ingin ini menjadi the next Google Stadia, bukan?

GameHub+ sendiri dioperasikan oleh StarHub, salah satu perusahaan telekomunikasi terbesar di Singapura. Meskipun “too big too fail” adalah hal yang tidak bisa dihindari, namun gue malas menyelam lebih dalam.

Namun agar lebih gampang, mari kita buat ilustrasi.

Ambil contoh Cloudflare, perusahaan publik yang menjual layanan keamanan dan performa di internet. Salah satu produk yang dijual Cloudflare adalah Content Delivery Network (CDN), yang mana membantu bisnis untuk dapat mendistribusikan konten nya di hampir seluruh dunia, sehingga pengguna dapat mengakses konten tersebut lebih cepat terlepas lokasi dari server “asli” dan pengguna itu sendiri.

Di tahun 2022, agak lucu jika lo ingin membuat bisnis CDN sendiri. Cloudflare memiliki Point Of Presence (PoP) di 275 kota termasuk di China per tulisan ini dibuat, means, sederhanannya, pikirkan berapa biaya yang harus direncanakan setidaknya untuk menjalankan banyak server di 275 kota.

Biaya untuk menggunakan layanan Cloudflare sendiri? Dimulai dari gratis. Literally gratis. No string attached. Tidak ada “free 20/bulan untuk paket Pro, yang kemungkinan besar tidak dibutuhkan untuk skala UKM dan personal.

Apakah Cloudflare sustainable?

Cloudflare adalah perusahaan publik, dan data terkait keuangannya seharusnya dapat diakses publik. Cloudflare sudah beroperasi sekitar 12 tahun sejak tahun 2010, maybe it counts.

Berbicara tentang harga biasanya tidak lepas dari margin nya. Kembali ke kasus GameHub+, jika memang pengguna akan bermain 300 jam selama 1 bulan, berarti setidaknya harus memiliki sumber daya yang setara dengan 1,070 IDR/jam untuk memenuhi kebutuhan gaming 10 jam/hari tersebut. Di Google Cloud Platform (GCP), untuk menggunakan Nvidia T4 GPU sendiri saja seharga 3,900,590/bulan, yang kasarnya berarti 5,417 IDR/jam per tulisan ini dibuat. Itu belum termasuk Windows Server license fee, CPU, memory dan persistent disk. Hanya GPU.

Tapi itu harga untuk konsumen, bukan untuk ritel.

Dan sepengetahuan gue, jika ingin menjadi “provider”, dari segi biaya harusnya lebih terjangkau jika membawa perangkat sendiri dan menyewa fasilitas lain (colo) daripada menyewa keseluruhan fasilitas.

Migrating to the cloud?

Beberapa biaya langganan layanan streaming yang setidaknya gue gunakan pertulisan ini dibuat adalah berikut:

  • Apple Music (musik): 49,000 IDR/bulan
  • Netflix (film): 186,000 IDR/bulan

Apple Music, Netflix, dan GeForce NOW sama-sama layanan streaming, namun pembeda kontrasnya adalah biaya untuk Apple Music dan Netflix untuk lisensi konten. Di GeForce NOW, game yang dijalankan adalah game-game yang sudah dibeli oleh pengguna di marketplace seperti Steam dan Epic Games dan beberapa game lain yang memang tidak ditawarkan di marketplace. Yang maksudnya, biaya 9,99 SGD/bulan tersebut murni untuk menyewa computing power (CPU, GPU, memory, dkk) dan tidak untuk konten (game).

Setidaknya ada 17,000 film yang bisa ditonton di Netflix, dan gue rasa dalam sebulan gue hanya menonton 1-4 film. Ada sekitar 100,000,000 lagu yang bisa diputar di Apple Music, dan gue rasa dalam sebulan gue hanya mendengar beberapa lagu yang tersusun di playlist gue (1-200 lagu).

And they of course know that.

Tapi berbeda dengan kebutuhan gaming. Streaming lagu dan film tidak membutuhkan “tenaga khusus” untuk bisa mengakses konten tersebut, namun, masalahnya, cukup sulit untuk dapat mengakses konten tersebut.

Dalam kebutuhan gaming, untuk akses ke konten tersebut relatif lebih mudah. Vendor game banyak menjualnya di marketplace atau bahkan bisa langsung membeli dari si vendor tersebut jika menyediakan—dan jika ingin.

Masalahnya, cukup sulit untuk dapat menggunakan konten tersebut, karena terkadang membutuhkan “tenaga khusus”. Seperti, misalnya Genshin Impact, setidaknya butuh CPU Intel Core i7; memory 16 GB, GPU dengan memory 6 GB, SSD 30 GB, sistem operasi Windows, dsb.

Jika spek yang dimiliki komputer lo tidak termasuk dengan spek yang direkomendasikan diatas, good luck bisa bermain Genshin Impact tanpa mengumpat.

Anyway, anggap gue ingin setup gaming gear hari ini.

Dengan kata kunci “pc gaming” di Tokopedia, untuk komputer dengan spek:

  • CPU: Intel Core i5-12400F 2.5GHz Up To 4.4GHz
  • CPU Cooler: Intel Stock Cooler
  • Motherboard: Gigabyte H610M H DDR4
  • Memory: 16GB Team DDR4 PC25600
  • Storage SSD: 512GB - SSD M.2 NVMe PCle Gen3 x4
  • GPU: Nvidia GTX 1660 (6 GB)
  • PSU: Seasonic S12III-500 500W - 80+ Bronze Certified
  • Case: Aerocool Trinity Mini
  • OS: Windows 10

Memakan biaya 13,819,000 IDR. The question is apakah gue harus peduli dengan 4 poin diatas untuk bermain game? Di lingkungan on prem: of course.

Sama seperti ketika ingin menjalankan aplikasi yang misal membutuhkan Node.js runtime. Apa yang lo butuhkan untuk menjalankan aplikasi tersebut? Di lingkungan on prem, lo butuh:

  • Server dengan sistem operasi mungkin… Ubuntu? Atau Debian?
  • Memory dengan ukuran 4 GiB lah setidaknya
  • CPU dengan… 2 core, minimal?
  • CPU dengan arsitektur x86 biasanya
  • Maintain kernel, maintain packages, swap blablabla, setup syslog, docker docker blablabla
  • Ah, download Node.js runtime! Atau pakai docker aja kali ye?
  • Setup systemd? Atau, sekali lagi, biar docker aja yang urus scheduling?

Yang padahal yang dibutuhkan untuk menjalankan aplikasi tersebut secara teknis hanyalah Node.js runtime. Di lingkungan cloud, tidak peduli apakah mobo nya Gigabyte atau PSU nya Seasonic, versi kernel 6.0, base nya Debian atau Ubuntu, dll. If it’s scalable, then it is.

Kembali ke topik, bagaimana bila ingin mengganti slot memory ke DDR5? Benar, ganti mobo. Yang kemungkinan besar akan berpengaruh ke komponen lain juga.

Itu tidak fleksibel, jika kata scalable disini tidak relevan. Dan sekali lagi, fleksibilitas adalah yang ditawarkan oleh cloud. Cloud menawarkan “elastisitas” (the buzzword begins) dalam memenuhi kebutuhan lo, seperti, jika sebelumnya game yang lo mainkan di cloud skala nya adalah Team Fortress 2 lalu berpindah ke skala Genshin Impact, tidak banyak yang lo harus lakukan jika memang ada yang harus dilakukan seperti upgrade koneksi internet.

Jika si cloud provider menjanjikan bisa memainkan game X, berarti bisa memainkan game X.

Ada satu pembahasan yang terlewat dari lingkungan cloud: serverless.

Buzzword ini gampangnya tentang “apapun yang berkaitan dengan server tapi ga perlu lo peduliin”. Di platform serverless, tidak jarang menawarkan “on demand” untuk mendukung dari apa yang dijanjikan dalam efektivitas harga. Misal, aplikasi Node.js lo memiliki fitur login. Fitur tersebut membutuhkan setidaknya 10ms CPU time untuk melayani login dari pengguna.

Gampangnya, salah satu yang lo bayar tersebut adalah 10ms dari CPU time yang digunakan tersebut. Misal dalam 30 hari ada 10jt transaksi login, berarti total CPU time yang lo gunakan adalah 100,000,000 ms (100,000 seconds).

Jika harga CPU time per-detik nya adalah 0,67, alias 10,500 IDR ($0,00000666666 * 100000) per tulisan ini dibuat.

Oke balik ke topik, karena on demand tersebut, dari segi cloud provider akan berkompetisi salah satunya di “startup/boot” time. Dalam kasus login, ini adalah waktu antara permintaan fitur login diterima sampai mulai dieksekusi. Untuk kasus cloud gaming, berarti waktu antara “permintaan untuk bermain game X sampai ke dimulainya game X tersebut bisa dijalankan”. Di GeForce Now via GameHub+, berikut yang gue dapatkan ketika mencoba bermain Dota 2 antara jam 22.00-22.45 WIB jika tidak salah ingat: Disitu gue harus mengantri karena ada 35 pengguna lain juga yang ingin memainkan game serupa di waktu yang sama. Kurang lebih gue menunggu sekitar 13 menit jika tidak salah ingat. Untuk game lain seperti Factorio dan Team Fortress 2, tidak ada waktu menunggu, karena, mungkin, ketersediaan si “rig” untuk bisa menjalankan game tersebut banyak yang siap digunakan.

Dan disini tantangannya, dari segi teknis maupun bisnis (been there done that). Jika ada competitor GameHub+ yang menawarkan “instant access, kalau ada waiting list dijamin cuma 5 detik atau refund” dengan harga yang hanya berbeda sedikit — siapa yang tidak tergoda?

Karena jika ada waiting list seperti diatas, jika setiap ingin main Dota 2 gue harus *selalu *menunggu 13 menit, 13 menit, 6,5 jam gue dalam sebulan habis untuk menunggu, which is… another story, I guess?

Penutup

Di Indonesia sendiri, pemain di pasar infrastruktur internet gue rasa masih jarang diminati dan ekosistem nya relatif lambat untuk bertumbuh dan berkembang. Silahkan hitung seberapa banyak layanan yang menyediakan CDN dari Indonesia, jika ada. Atau hitung seberapa banyak layanan yang menyediakan “Web Hosting” yang stuck di tahun 2010—ketika Common Gateway Interface (CGI) cukup populer di Indonesia—sampai hari ini.

Beberapa sudah menawarkan IaaS (cloud thing) seperti VPS—which is good—but, come on, 2014 adalah 8 tahun yang lalu.

Anyway, personally gue tertarik berlangganan cloud gaming thing ini mengingat gue occasional gamer dan bermain game for fun. Kadang main Dota 2 jika merasa hidup anehnya sedang mulus-mulus aja tanpa umpatan ataupun stress.

Jika merujuk ke tangkapan layar Genshin Impact gue sebelumnya, disitu terlihat 84ms yang gue rasa adalah latensi antara “rig” tempat gue bermain dengan server genshin impact. Metriks yang lebih pentingnya justru bukan disitu, melainkan di latensi antara klien (komputer gue) dengan rig tempat si genshin impact tersebut dijalankan, yang somehow gue tidak menemukan opsi untuk melihatnya.

Di internet, every millisecond counts. Dari tulisan yang diterbitkan pada tahun 2006 oleh Ex-Amazon ini, di Amazon, latensi 100ms menyebabkan penurunan traffic sebesar 20% dan pastinya berdampak ke revenue nya Amazon. Jika traffic Amazon pada tahun 2006 hariannya adalah 10jt, latensi 100ms tersebut gampangnya membuat kehilangan 2,000,000 pelanggan yang potensial.

Cloud gaming gue rasa cukup menjanjikan, sebagaimana layanan streaming lain seperti Apple Music, Spotify, Netflix, Disney+, dkk yang sudah ada dan masih survive sampai hari ini.

Terlebih, solusi yang ditawarkan oleh layanan cloud gaming cukup nyata dan tidak sedikit masalah yang ada dimiliki oleh pengguna/gamers: GPU, CPU, SSD, Memory, Internet, dll — yang performant.

Atau setidaknya gue memiliki masalah tersebut.

Tantangannya adalah bandwidth internet, dan ini hampir dimiliki oleh setiap pengguna yang berlangganan layanan streaming. Nonton film di Netflix gue stuck di kualitas 720p (HD) meskipun berlangganan paket Premium yang menawarkan kualitas sampai Full HD (1080p) dan Ultra HD (4K). Rekomendasi dari Netflix untuk paket internet 5Mbps (which is mine) adalah 720p - 1080p, dan realitanya tidak ada yang ingin menonton film 1080p namun setiap sekian detik buffering.

Di cloud gaming, selain harus dapat menampilkan tampilan yang nyaman dipandang, juga harus mengatur interaksi dari pengguna dengan baik. Siapa yang menginginkan karakter meninggal karena tidak bisa berjalan hanya karena paket terkait “input” dari pengguna tidak diterima oleh server cloud provider?

Selain itu, koneksi internet menjadi kewajiban. Gue tidak bisa bermain Factorio ketika sedang di kereta misalnya, meskipun mode yang ingin gue mainkan adalah offline/luring.

Untuk multiplayer games, simply, cloud gaming sangat membantu.

Khususnya untuk yang memiliki pc potato seperti gue, tapi banyak mau.

Mungkin next nya gue mau mencoba bermain Genshin Impact cukup lama meskipun I have no idea apa yang harus gue lakukan di game tersebut selain menganggap Genshin Impact adalah versi wibu nya The Legend of Zelda, dan dengan gaca.

Dan setelah payday mungkin mencoba game lain yang lebih berati seperti GTA V atau mungkin… 7 sins? Tanpa perlu menunggu game tersebut selesai terunduh di komputer gue, tanpa perlu memiliki lisensi Windows, tanpa perlu menghabiskan ruang di SSD gue.

Just click and play, and it (most likely) just works.

Welcome to the cloud future.