Sebagian besar aplikasi web dapat dijalankan di satu server
- Saat mengikuti perkembangan dunia pengembangan web, terasa bahwa banyak situs web dan aplikasi tidak memerlukan infrastruktur yang kompleks, dan sebagian besar situs web serta aplikasi menerima kurang dari 10 permintaan per detik, dengan hari sibuk berada di kisaran 50.
- Memiliki endpoint di seluruh dunia memang mengurangi latensi, tetapi data tetap harus diakses, sehingga meskipun jarak klien hanya 20ms, jika database berada 200ms dari endpoint tersebut maka manfaatnya menjadi kecil.
- Caching memang berguna, tetapi ini bisa didapatkan dengan CDN atau HTTP caching yang sederhana. Jika file baru didorong ke CDN setelah pembaruan, dalam kebanyakan kasus seluruh situs dapat dijalankan dari CDN.
- Beberapa endpoint API mungkin diperlukan untuk fungsi dinamis, tetapi hal ini bisa ditangani, misalnya, dengan JavaScript.
- Sebagian besar proyek bisa dijalankan sebagai container di VPS seharga $5, dan ini bahkan bisa lebih cepat.
Pendapat GN⁺
- Artikel ini menawarkan sudut pandang kritis terhadap penggunaan infrastruktur yang berlebihan dalam pengembangan aplikasi web. Artikel ini menunjukkan bahwa banyak aplikasi web sebenarnya dapat dioperasikan dengan baik di atas infrastruktur yang sederhana, dan mengingatkan software engineer junior akan pentingnya menghindari alokasi sumber daya yang berlebihan saat membangun infrastruktur serta menggunakan sumber daya secukupnya sesuai kebutuhan.
- Artikel ini juga menekankan pentingnya caching dan CDN, yang merupakan elemen kunci dalam meningkatkan performa aplikasi web. Ini menunjukkan bahwa developer web perlu mempertimbangkan strategi caching untuk optimasi performa.
- Jika skala aplikasi web kecil atau trafiknya tidak tinggi, mempertimbangkan satu server atau layanan cloud sederhana bisa lebih efisien dari sisi biaya dibanding sistem terdistribusi yang kompleks. Ini terutama relevan untuk startup atau proyek kecil.
- Artikel ini menyarankan developer web untuk berhati-hati dalam memilih teknologi dan memilih infrastruktur yang sesuai dengan kebutuhan nyata proyek. Ini membantu mendorong pengembangan yang memenuhi kebutuhan praktis tanpa terseret tren teknologi.
- Dari sudut pandang kritis, artikel ini mungkin tidak berlaku untuk aplikasi atau layanan web besar yang harus menangani trafik berskala besar. Karena itu, penting untuk menyadari bahwa pemilihan infrastruktur yang tepat harus disesuaikan dengan skala dan kebutuhan proyek.
1 komentar
Komentar Hacker News
Seorang pengguna mengonfirmasi bahwa ketika proyeknya muncul di halaman depan Hacker News (HN), bahkan droplet Digital Ocean seharga 5 dolar pun mampu menangani trafik dengan baik. Ia berpendapat bahwa untuk sebagian besar proyek, cukup dengan menggunakan respons asinkron serta scheduler/queue untuk menyebarkan beban secara horizontal dari waktu ke waktu. Ia juga mengkritik budaya DevOps baru yang membuat deployment aplikasi cloud menjadi rumit, dan menekankan bahwa perangkat lunak sederhana tidak perlu di-scale secara berlebihan.
Standard Ebooks melayani jumlah page view dan ebook yang cukup besar setiap bulan, dan meski sudah 3–4 kali muncul di halaman depan HN, semuanya tetap ditangani oleh satu VPS 4GB. Mereka mengatakan upgrade dari 2GB ke 4GB hanya diperlukan karena butuh RAM lebih banyak untuk membuat ebook 'Decline and Fall of the Roman Empire'; kalau tidak, server 2GB pun sudah cukup. Mereka juga membagikan tautan ke postingan blog terkait.
Seorang pengguna mengatakan bahwa selain alasan memilih k8s untuk belajar k8s, tidak ada alasan lain untuk menggunakannya, dan mengeluhkan bahwa gara-gara k8s mereka bahkan tidak bisa melihat log server. Ia mengklaim bahwa Cloudflare paket 5 dolar seharusnya sudah lebih dari cukup.
Disebutkan bahwa sqlite.org menangani lebih dari 500.000 request HTTP per hari dan menyajikan sekitar 200GB konten dengan Linode seharga 40 dolar per bulan. Jika aplikasi Anda tidak menangani request lebih banyak daripada sqlite.org, menurutnya tidak perlu membayar lebih mahal.
Seorang pengguna membagikan bahwa ia menjalankan backend secara gratis dengan Oracle Free Tier, lalu mengintegrasikan frontend secara gratis melalui Cloudflare tunneling dan Pages, untuk mengoperasikan beberapa web app yang menangani sekitar 10.000 request per hari.
Ada yang menyebutkan bahwa ia menjalankan beberapa aplikasi di satu server 5 euro, termasuk situs pribadi, dua server game multiplayer, dan frp untuk tunneling, serta berencana menambahkan lebih banyak lagi sampai servernya menyerah. Ia juga mengatakan aplikasi lain pun berjalan baik di VM 5 euro.
Seorang pengguna berbagi pengalaman menghabiskan waktu 4 kali lebih banyak untuk file Terraform dibanding menulis fitur yang sebenarnya. Perusahaan tersebut disebut menerima kurang dari 1.000 hit per hari.
Seorang pengguna menyebutkan bahwa VPS 4 dolar per bulan bisa menangani ribuan query per detik, dan membagikan tautan terkait.
Disebutkan bahwa sebagian besar web app memang bisa dijalankan di satu mesin, tetapi kebanyakan pelanggan mengharapkan uptime nyaris 100%, dan satu mesin saja tidak bisa memenuhi kebutuhan itu.
Seorang pengguna yang menyampaikan pandangan berlawanan untuk web app dasar yang tidak membutuhkan sistem kompleks mengatakan bahwa perusahaan seperti FAANG juga menjalankan layanan internal dan dashboard dalam satu binary, tetapi ketika downtime langsung berarti kerugian, kebutuhan akan sistem yang kompleks menjadi jelas.