Berbagai cara murah hosting aplikasi web

Sekarang ini ada banyak sekali alternatif untuk menaruh aplikasi kita di web agar bisa diakses publik. Harganya hosting mulai dari yang gratis, sampai yang mahal, tapi di sini saya ingin memfokuskan ke:

  • cara yang murah atau gratis
  • terpercaya, reliable, bebas iklan
  • bisa menjalankan skrip/aplikasi, bukan hosting file statik

VPS Gratis dan Murah

Jika ingin bisa menjalankan apa saja, maka VPS adalah solusi terbaik. Dengan VPS Anda bisa menjalankan semua software terbaru dan bahkan menggunakan OS Alternatif bukan hanya Windows/Linux. Ada banyak penyedia VPS saat ini, dan sebagian cloud hosting menyediakan VPS gratis dalam jangka waktu tertentu atau dengan batasan tertentu. Contoh yang gratis:

  • Amazon memberikan instance EC2 gratis setahun (t2.micro atau t3.micro tergantung region)
  • Google memberikan Compute Engine gratis instance f1-micro (tapi limit bandwithnya sangat kecil: 1 GB egress)
  • Azure memberikan gratis VM Windows atau Linux selama 12 bulan
  • Oracle Cloud memberikan VM Gratis (dengan batas yang cukup besar)

Karena Amazon dan Azure memberikan banyak hal gratis 12 bulan pertama, Anda bisa mendapatkan resource cukup besar dengan berganti provider selama 2 tahun pertama. Google bisa dipakai selamanya dengan batas bandwidth yang sangat kecil, dan saat ini Oracle masih sangat berbaik hati dengan limit mereka. Tapi bagaimana jika ingin melanjutkan tanpa takut batasan gratis? Ada banyak alternatif VPS murah yang bisa diinstall software apa saja. Ini beberapa contohnya:

Catatan: untuk vultr dan digital ocean di atas saya berikan affiliate link, supaya dapat credit 100 USD tapi creditnya hanya bisa dipakai selama sebulan untuk vultr dan 2 bulan untuk digital ocean.

Serverless Functions

Serverless function adalah aplikasi yang dijalankan on demand oleh event tertentu, misalnya ada yang mengirim data atau melakukan request. Jika sulit membayangkan seperti apa sebuah serverless function, banyangkan saja jika untuk setiap request kita memulai sebuah instance docker baru, dan distop setelah requestnya selesai.

Berbagai provider besar memiliki konsep ini: Google memiliki Cloud Functions dan Cloud Run (ini agak membingunkan karena sebagian besar fungsionalitasnya overlap), Amazon memiliki AWS Lambda, dan Microsoft memiliki Azure Functions. Cloudflare juga memiki Cloudflare Workers tapi terakhir saya coba ada banyak limitasinya .

Semua provider di atas menyediakan free tier, atau kuota gratis sampai jumlah request tertentu (biasanya sampai sejuta request atau lebih). Layanan stateless function cocok untuk aplikasi yang sifatnya seperti ini:

  • Bisa melakukan pemrosesan singkat
  • Tidak menyimpan data di disk lokal secara permanen

Contohnya saya memakai AWS Lambda untuk bot telegram Alkitab. Bot ini tidak menyimpan data dari user, dan hanya perlu merespon dengan mencari teks di memori. Berbagai bot chat seharusnya bisa diimplementasikan dengan ini.

Platform as a service

Platform as a service (PaaS) ini konsepnya adalah sebuah lingkungan dan API untuk menjalankan suatu layanan. Di sini saya batasi PaaS ini hanya yang targetnya untuk menjalankan aplikasi saja. Ada banyak penyedia platform sejenis ini, tapi saya bahas dua contoh yang pernah saya coba: Google App Engine dan Heroku.

Google App Engine

Google App Engine sudah ada sejak lama dan saya sudah memakai Google App Engine ini sejak 2009 (pernah saya tuliskan di sini). Dulu App Engine hanya dapat digunakan untuk aplikasi Java, sekarang bisa digunakan untuk berbagai bahasa (PHP, Python, Java, NodeJS dan Go). Sistem bilingnya menurut saya agak rumit karena memperhitungkan CPU time.

App Engine memiliki kuota gratis dan cukup untuk aplikasi kecil. Contoh: dulu waktu saya masih menjual aplikasi di Blackberry App World, saya memakai App Engine untuk lisensi. Server App World akan memanggil URL kita setiap kali ada registrasi yang membutuhkan serial number. Penggunaan ini cocok sekali untuk app engine:

  • penjualan aplikasi hanya mencapai puluhan sehari (maksimal), bahkan jika sampai ribuan per hari pun masih tidak akan melewati kuota gratis
  • Saya bisa menyimpan data registrasi di App Engine
  • App engine reliable, jadi tidak mungkin server error dan ada pembelian gagal karena masalah server

Heroku

Heroku merupakan salah satu Platform as a service yang ada sejak dulu (2007). Fiturnya lengkap dan berbasis container. Jumlah layanan yang diberikan sangat berfokus pada pembuatan aplikasi, tidak seperti Amazon atau cloud provider lain yang memiliki banyak produk yang perlu kita susun.

Satu-satunya masalah bagi saya adalah batasannya untuk pemakaian gratis: harus aplikasi non komersial. Ini yang membuat saya tidak lagi memakai Heroku: versi gratisnya terbatas, sedangkan versi berbayarnya kalah dibandingkan tawaran dari pihak lain.

Berbagai shared hosting gratis dan berbayar

Dari sejak dulu ada banyak hosting gratis, tapi biasanya karena tidak disupport perusahan besar, berbagai hosting ini kurang bertahan lama. Selain itu biasanya karena sifatnya yang shared, maka performancenya rendah. Jika aplikasi Anda memang sangat sederhana dan tidak butuh reliabilitas tinggi, hosting semacam ini bisa dipertimbangkan.

Karena hosting ini sering hilang dan muncul, silakan cari sendiri dengan kata kunci seperti: “free web hosting”, “free php hosting”, dsb. Jangan percaya dengan shared hosting yang katanya “unlimited” karena ini akan sangat mengecewakan ketika Anda mulai memiliki banyak file di dalamnya atau memakai resource yang banyak.

Hosting di rumah

Alternatif lain hosting adalah menggunakan komputer rumah, baik itu PC ataupun SBC (single board computer) misalnya Raspberry Pi. Jika kita memiliki IP Publik maka kita bisa menggunakan layanan Dynamic DNS untuk mengakses komputer/SBC-nya dari luar.

Jika tidak punya IP publik, alternatifnya adalah dengan memakai atau membeli layanan forwarding. Contohnya: https://ngrok.com/, https://portmap.io/, https://pagekite.net/, https://packetriot.com/, https://burrow.io/ dan masih banyak lagi.

Tentunya jika sudah memiliki VPS sendiri (baik gratis ataupun berbayar) kita bisa membuat forwarder sendiri. Kenapa masih pake komputer sendiri kalau sudah pakai VPS? supaya kita bisa memakai resource di rumah yang lebih besar (harddisk lebih besar, RAM lebih banyak, CPU lebih besar).

Ilustrasi server di rumah (cluster Raspberry Pi Zero)

Untuk mengoptimalkan hosting di rumah, kita bisa memakai Cloudflare (pernah saya bahas di sini) yang akan meng-cache website kita agar cepat diakses orang lain. Cloudflare juga akan melindungi kita dari serangan DDOS dan sekaligus menyembunyikan IP asli kita.

Penutup

Selain yang saya sebutkan di atas, masih banyak layanan spesifik lain yang bergantung pada jenis aplikasi. Contoh: jika ingin membuat aplikasi mobile dengan authentikasi, analytics, dsb maka Google Firebase bisa dipertimbangkan.

Saat ini saya suka menggunakan beberapa layanan gratis untuk proyek kecil (AWSL Lambda, Cloudflare Workers, App Engine) dengan alasan:

  • Saya tidak perlu mengurusi servernya (termasuk juga masalah security server)
  • Servernya akan selalu available

Walau kalau dipikir sebenarnya semua ini tidak sepenuhnya gratis, karena saya perlu meluangkan beberapa jam untuk membaca dokumentasi berbagai layanan tersebut. Tapi bagi saya investasi waktunya cukup baik hasilnya: saya mendapatkan layanan gratis (setidaknya sampai) beberapa tahun ke depan, dan ilmu saya bertambah.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.