Bedah Server
Setahun lebih nggak nulis di sini rasanya nganu. Sebenarnya banyak draft, cuma ya lebih baik disimpan saja. Dan ada info lagi. Mungkin ke depan, blog ini akan tersedia dalam Bahasa Jawa dan menggunakan Aksara Jawa.
Kali ini saya akan membedah, seperti apa sih server yang selama ini bertahun tahun menjadi tempat bernaung blog ini? Semenjak Openshift mengumumkan akan mengakhiri layanan Openshift 2 pada 30 September 2017, saya memindahkan layanan di Google Cloud Platform. Awalnya, saya memakai instance VM F1-micro yang mana termasuk dalam Always Free Tier-nya GCP. Mulai tanggal 1 Agustus 2021, Google E2-micro sebagai pengganti F1-micro dan masih tetap masuk kategori Always Free Tier yang menggunakan 0.25 vCPU (burstable ke 2 vCPU) dan 1 GB memory.
Di server ini, saya pasang Docker dengan 4 container. Caddy, sebagai web server; Ghost, sebagai blog engine; mysql, sebagai database untuk Ghost; dan Vaultwarden, self-hosted password manager. Cukup memaksa bukan? Server yang kerdil ini dipaksa bekerja keras melampaui batas, kelihatannya. Namun nyatanya, Server berjalan dengan lancar, tanpa kendala, dan rata-rata penggunaan CPU 6%. Bagaimana bisa? Tentu saja bisa, karena blog ini sepi.😢 Tapi tidak itu saja. Ada beberapa optimasi yang saya lakukan juga.
Berikut saya bagikan file docker-compose.yml yang saya gunakan.
Untuk storage service, saya menggunakan backblaze melalui Ghost Storage Adapter B2 dengan subdomain cdn.bluemeda.web.id. Jadi semua file gambar maupun video, di-host di sana. Selain itu, saya juga memakai Cloudflare sebagai layanan CDN agar blog ini bisa lebih optimal dan cepat di akses dari berbagai negara, meskipun kenyataannya sepi. 😢
DI Cloudflare sendiri, saya memakai rules untuk domain cdn.bluemeda.web.id sebagai berikut agar load dan request ke Backblaze tetap terjaga:
Berapa biaya bulanan yang harus saya keluarkan untuk menjaga agar blog ini tetap hidup?
Compute Engine yang saya gunakan masih termasuk ke dalam program Always Free Tier-nya GCP, jadi untuk biaya sewa server itu sendiri, gratis. namun tidak untuk penggunaan bandwidthnya yang rata-rata menghabiskan 200 Rupiah setiap bulannya. Iya benar. Tak lebih dari harga gorengan. Selain karena memang blog ini yang sepi, konfigurasi-konfigurasi di atas juga berpengaruh. Misal, penyimpanan berkas media yang terpisah, disimpan di Blackblaze yang mana gratis penyimpanan sebesar 10GB dan bandwidth 1GB per hari.
Meskipun blog ini tergolong sepi dari pengunjung, saya sadar satu hal. Memang benar. Orang bercerita perlu pendengar, orang menulis butuh pembaca. Namun terkadang kita bisa bercerita tanpa pendengar dan menulis tanpa pembaca sekadar untuk mengungkapkan kesah dan menjaga kisah.