Sabtu, 04 Desember 2010

Memilah Server-Server

Bagaimana cara Yahoo! Mail dapat bertahan melayani jutaan penggunanya yang setiap hari mengirim, mengkompose, dan memanage email mereka, dengan besar total data dalam skala terabyte? Jawab: tambah jumlah komputer!

Coba login ke mail.yahoo.com, dan perhatikan URL email anda. Punya saya ada di http://us.f98.mail.yahoo.com. Catat punya Anda. Log out, lalu login lagi. URL-nya masih sama? Sekarang coba orang lain yang login, URL-nya berbedakah? Ya. Ini karena Yahoo! Mail menerapkan separasi komputer server email berdasarkan account. Setiap registrasi account email Yahoo, akan diassign ke salah satu server di dalam farm server email, yang hitungan terakhir berdasarkan netcraft.org, ada 200 lebih! Tentunya strategi ini adalah lebih baik daripada strategi load-balancing standar. Karena dengan separasi, seluruh data yang berhubungan dengan account sifatnya lokal.

Selain email, Yahoo juga melakukan separasi web server berdasarkan tipe file. Yakni, file-file image/gambar diletakkan terpisah di server lain (yimg.com), dan terpisah secara geografis. Kemungkinan di high-capacity bandwidth hosting seperti Akamai. Tujuannya tentunya adalah mengurangi beban bandwidth Yahoo. Juga, dengan pemisahan ini dimungkinkan penggunaan software webserver yang berbeda. File-file statik bisa diserve dengan jenis webserver tertentu yang kecil dan minimal misalnya.

Yahoo juga memisahkan komputer server berdasarkan aplikasi. Contoh: 8 server untuk www.yahoo.com, 1 server untuk Yahoo! Auction, 1 server untuk Yahoo! Autos, 1 server untuk Yahoo! Finance, dan seterusnya.

Membuat Server Redundan

Availability adalah faktor utama bagi situs yang sibuk, sampai-sampai down time sesaat pun adalah sebuah dosa besar. Yahoo! tidak tanggung-tanggung menyediakan 5 dedicated name server hanya untuk tujuan meresolve nama domainnya. Ia juga melakukan round robin 8 webserver hanya untuk halaman depan Yahoo. Nama domainnya pun telah dibeli sampai dengan 2010 (dan mungkin diperpanjang jauh-jauh hari sebelum kadaluarsa, untuk menghindari risiko). Lihat Tabel 1. Begitu pula Google, dengan 4 name server, dan 9 webserver. Redundansi ini menjamin kelangsungan hidup situs mereka—yang mana adalah hidup mati mereka.

Kesimpulan

Banyak hal teknis yang bisa dipelajari dari dotcom besar, hanya dengan melihat apa yang tampak dan tersedia dengan gratis. Dari source code HTML yang memperlihatkan keterampilan trik-trik browser yang matang. Dari desain web situs yang memperlihatkan pemikiran user experience. Dari interaksi cookie yang memperlihatkan sebagian teknik pemrograman terdistribusi mereka. Dan macam-macam hal lain yang walaupun pada awalnya terkesan aneh, tapi sangat masuk akal bila konteksnya masif—dan kepuasan pengunjung dotcom adalah hidup mati sebuah perusahaan.

Dody Suria Wijaya pendiri failco.com dan usable.web.id. Saat ini tengah sibuk memanage kantornya di bilangan Taman Radio Dalam dan menyusun sebuah naskah buku. Dapat dihubungi di dody.wijaya@usable.web.id.