Dapatkah kamu percaya sama DOM Cloud?

Durasi membaca: 7 menit

Jawaban singkatnya, tergantung apakah kamu percaya sama saya. Karena jawabanku, selama kamu tidak melanggar ToS, ya, DOM Cloud pasti kuat menangani trafik yang kamu bayangkan sekarang.

Behind the scene, Server DOM Cloud hanyalah sebuah Virtual Machine (VM) dari datacenter milik Digital Ocean. Jadi masalah performa di hardware itu dari DO sendiri, dan DO pastilah nggak mungkin menggunakan hardware abal-abal. Untuk Basic VM yang dibadrol semurah 5$ per bulan itu, sudah termasuk Intel XEON dan SATA SSD (Bukan NVMe ya, itu price range khusus bersama dengan dedicated CPU yang mahal-mahal).

Untuk DOM Cloud sendiri saat pas aku tulis ini memakai 10$ (1 core, 2 GB RAM). Kok rendah? Ya, karena pelanggan yang beli masih sedikit (storage nya saja belum setengah full) dan pasti akan dinaikkan kalau sudah cukup banyak yang langganan. Namun spek sekecil itu apakah kuat kalau diakses ribuan orang sekaligus?

Nah, ini pembahasan yang menarik. DOM Cloud membuat beberapa perubahan berbeda yang mungkin gak bakal bisa ditiru oleh provider hosting profesional sekalipun. Pembahasannya bakal panjang dari sini, tapi yang penting untuk digarisbawahi, biasanya provider hosting mengunggulkan label seperti “Super Cepat” “Super Handal” “Super Murah” sambil dikasih label hardware canggih yang menurutku terlalu mengunggulkan marketingnya daripada berani transparan soal Hardware apa yang sebenarnya mereka pakai. Dan DOM Cloud? Tidak mengunggulkan itu, karena DOM Cloud fokus di optimasi dalam level software. Seperti apa aja?

Tidak Menggunakan CPanel

Ya, tidak menggunakan CPanel menurutku poin unggul yang penting. Kenapa? Karena CPanel kebanyakan fitur. Ada fitur Scan lah, Anti Spam lah, Installer otomatis lah, SEO lah, dan banyak lagi. CPanel terlalu banyak fitur yang sebenarnya nggak digunakan orang banyak, dan menurutku itu seperti Dark Pattern, menyembunyikan fitur yang justru penting (kek SSH, jarang provider hosting ngasih fitur itu).

Jadi begitulah, DOM Cloud menggunakan Virtualmin. Selain gratis (CPanel itu panel berbayar loh), UI nya juga minimalis, dan sudah cukup kaya akan fitur. Beberapa fitur lain yang nggak ada, aku tambahkan di bagian Portal (juga berkat Virtualmin yang kaya akan API), sehingga sekarang DOM Cloud punya script deployment, yang bisa digunakan buat template yang gak kalah sama Auto-Installer punyanya CPanel. Plus, bisa dipakai juga untuk ngatur aspek lain (konfigurasi database, nginx, root path, dsb) dan manggil perintah SSH langsung dari portal.

Sinkronisasi GitHub melalui website Portal

Fitur seperti ini yang gak ada di hosting lain. Bahkan ada klien saya yang sudah terlanjur beli domain + hosting di tempat lain, aku ganti IP domain nya mengarah ke DOM Cloud. Karena, sinkronisasi project jauh lebih mudah di DOM Cloud. Kalau sudah pernah deploy website lewat DOM Cloud, anda mungkin bakal terheran-heran bagaimana anda sinkronisasi project sendiri tanpa script deployment atau akses SSH yang bisa didapat gratis dari DOM Cloud.

Tidak Melayani Email

Email adalah fitur yang kelihatannya sederhana, tapi ribet. Jauh lebih ribet untuk di handle daripada manfaatnya. Saat email keluar, kamu harus menaati aturan etika mengirim email, yakni minimal harus ada tombol unsubscribe nya, dan harus dikirim secara moderat agar tidak terdeteksi spam di inbox orang. Kenyataannya? Banyak website yang melanggar etika tersebut, dan bagaimana kalau 1 IP server kena blacklist? Ini yang gak kamu ketahui dari provider hosting lain, gak ada jaminan email mu bakal sampai. Aku pernah memakai sistem email dari shared hosting, pertama mengirim sudah masuk kategori spam.

Itu masih email keluar, belum saat email masuk. Karena email rentan spam, wajib bagi provider hosting juga menyiapkan software yang mencegah spam dan phising. Biasanya yang populer itu SpamAssasin dan ClamAv. Dua-duanya itu beda software, yang satu untuk menangkal spam dan satunya menangkal link yang mencurigakan (layaknya Antivirus). Saat dua-duanya berjalan, CPU fix gak bisa tidur. Karena itulah, dengan tidak melayani email, server dapat menggunakan 100% resourcenya hanya untuk website, sebuah win-win untuk DOM Cloud tentunya.

Tidak melayani email tidak hanya karena performa dan spam saja, privasi juga penting. Makanya banyak orang yang pengalaman akan mengatakan, menggunakan email server sendiri itu adalah ide yang buruk.

Tapi bagaimana kalau kamu ingin email? Tenang, kamu bisa menggunakan layanan pihak ketiga, seperti SendInBlue untuk mengirim email lewat SMTP/HTTP API dan EmailForward untuk menerima email dan memforwardnya langsung ke akun Gmail (yang tentu sudah mempunyai filter spam yang sangat bagus). Berbayar? Nggak. Dua-dua nya gratis, seperti DOM Cloud 🙂

Nginx, Bukan Apache

Apache sudah lama ada sejak Internet baru lahir. Nginx baru muncul di abad 21. Dan Penggunaan Nginx meningkat karena jauh lebih efisien daripada Apache. Tapi kenapa Apache masih popular?

Karena Apache menggunakan .htaccess yang memudahkan konfigurasi website menjadi sebuah file yang bisa dipindah-pindah. Sangat praktis memang, tapi berdampak buruk pada performa. Mungkin untuk request rendah tidak pengaruh, tapi bagaimana kalau trafik sudah mencapai 100 halaman per detik? Bahkan perbedaan 0.1ms saja pasti terasa. Apache sendiri saja menghimbau untuk menjauh dari .htaccess sebisa mungkin.

Tidak hanya itu saja, cara menghandle trafik antara Nginx dan Apache pun berbeda. Apache adalah Thread-based sedangkan Nginx event-driven. Ada banyak yang membahas perbedannya, namun yang jelas minusnya Apache ialah overhead karena menggunakan Banyak Thread, selain itu Apache punya limit berapa banyak koneksi yang bisa di handle sekaligus. Nginx, karena event-driven, tidak punya limit seperti itu, dia bahkan bisa menggunakan CPU 100% dalam 1 thread tanpa harus menunggu I/O disk selesai.

Apakah ada surprise lagi dari Nginx? Ya, HTTP/2. HTTP/2 dapat mempercepat loading website secara drastis dengan loading secara paralel/bersamaan. Apache dan Nginx sama-sama mendukung HTTP/2 namun Apache perlu konfigurasi khusus untuk menyalakannya, dan yang aku lihat, sangat minim info bagaimana caranya menyalakan HTTP/2 dalam server tententu. Nginx? Sangat mudah. Bahkan, semua trafik HTTPS pada DOM Cloud sudah otomatis menggunakan HTTP/2 untuk mempercepat koneksi. Hebat kan?

Banyak Mikro-optimisasi lainnya

PHP FPM dengan mode ondemand, Nginx sendfile, MySQL Buffer Size, dan banyak konfigurasi kecil lainnya yang membuat server DOM Cloud seoptimal mungkin meski dengan resouce yang terbatas.

Spin it Up

Sekarang kamu tahu the secret sauce dari DOM Cloud. Mengetahui semua ini, mungkin kamu akan berpikiran, lebih baik sewa VPS saja. Namun sewa VPS sendiri hanya akan membuang uang klien dan waktu mu sendiri. DOM Cloud sudah memiliki banyak fitur yang memadai untuk hampir semua web developer, buat apa mengatur semuanya dari nol lagi?

Tapi kalau permasalahanmu karena mencemaskan downtime mempengaruhi bisnis mu, then I feel you. Tapi aku percaya, semua provider hosting itu sama. Masalahnya bukan karena layanan mereka, tapi karena desain dari server itu sendiri. Semua layanan hosting yang memberi kamu akses file dan database dalam satu panel, itu namanya sistem monolitik. Dan sistem monolitik itu sebenarnya buruk untuk bisnis, karena hanya berlokasi pada satu server; sekali server down maka downtime pun terjadi.

Solusi yang jauh lebih baik adalah membangun sistem mikroservis. Dalam sistem mikroservis, kamu bakal kehilangan akses file dan database, sehingga harus menggunakan layanan lain untuk menggantinya. Ini adalah use case untuk website yang paling sibuk kelas dunia, biasanya mereka menggunakan cloud giant seperti AWS, GCP atau Azure untuk menjawab tantangan ini.

Desain Microservice (server dibagi menjadi dua atau lebih dan difilter oleh Load Balancer)

Atau lebih keren lagi, desain sistem serverless, dimana tiap endpoint system menjadi tanggung jawab untuk “server kecil” yang berbeda.

Implementing Serverless Microservices Architecture on AWS - DZone  Microservices
Desain Sistem Serverless (server hanyalah sebuah fungsi script dan dapat diduplikat secara instan oleh server pool)

Sudah terdengar horror kan? Ya, jangan kira membangun sistem sekeren Google atau Facebook itu semudah bikin script PHP dan selesai. Kamu hanya bisa percaya website mu bakal up 24/7/365 dengan menjauh dari sistem monolitik. Dan ini jelas tidak untuk semua orang, jadi berhentilah untuk berpikir kalau server bagus hanya diukur dari hardware nya saja.