Cara Kerja Google Dokumen di Balik Layar

12

Google tidak melakukan “buku terbuka”. Mereka menjaga arsitektur internal mereka tetap terkunci rapat. Anda tidak akan menemukan cetak biru publik untuk mesin yang mendukung Google Documents. Tapi kami tidak buta. Kita dapat melihat proyek Google lainnya dan kebiasaan rekayasa mereka yang diketahui untuk merekayasa balik bagaimana hal ini mungkin berjalan.

Mari kita mulai dengan apa yang sudah dikonfirmasi. Pekerjaan berat di sisi server—logika backend yang memproses permintaan Anda—ditulis dalam Java. Ini tidak mengherankan. Java adalah bahasa berorientasi objek yang berasal dari Sun Microsystems. Google telah menggunakannya sebagai landasan selama bertahun-tahun. Ini kuat. Ini dapat diskalakan. Itu sesuai dengan kebutuhan mereka.

Di sisi lain layar, browser Anda menangani sisanya. Ini adalah sisi klien. Itu bergantung pada JavaScript untuk menjaga antarmuka tetap responsif. Jangan bingung antara Java dan JavaScript. Mereka memiliki nama yang sama tetapi merupakan teknologi yang berbeda. Java membangun aplikasi mandiri. JavaScript meningkatkan pengalaman web di dalam browser. Itu tidak berjalan di luar jendela itu.

Di luar kedua fakta tersebut, hal spesifiknya adalah rahasia Google. Namun kita dapat membuat tebakan berdasarkan cara mereka menangani masalah serupa sebelumnya. Secara khusus, lihat Sistem File Google. Ini memberi kita peta jalan.

Perangkat Keras Murah, Skala Besar

Google memiliki sejarah panjang dalam membeli perangkat keras yang murah dan siap pakai. Mereka biasanya tidak membeli server individual yang paling kuat. Mereka membeli ribuan barang sederhana. Server yang menjalankan Google Docs kemungkinan besar adalah mesin “pekerja keras”. Tidak ada yang mewah.

Mengapa? Karena redundansi lebih murah dibandingkan hardware premium. Jika satu server mahal gagal, bisnis akan berhenti. Jika satu server murah mati, Google akan membuat server lain. Pendekatan ini menciptakan sistem yang dapat diskalakan. Anda dapat menambah kapasitas dengan mudah. Anda tidak perlu meningkatkan seluruh infrastruktur saat lalu lintas melonjak.

Di Mana File Anda Berada?

Penyiapannya mungkin terlihat seperti ini. Anda memiliki server aplikasi yang menjalankan perangkat lunak Google Dokumen sebenarnya. Kemudian Anda memiliki server database yang menyimpan data Anda. Kemungkinan ada kontrol atau server administratif yang bertindak sebagai penjaga gerbang, yang mengelola lalu lintas dan pembaruan.

Karena perangkat keras yang murah rusak, Google menganggap kegagalan. Selalu. Mereka menggunakan redundansi. Dokumen Anda tidak disimpan di satu tempat. Itu disalin ke beberapa server database. Jika satu node menjadi gelap, Google Dokumen akan mengambil informasi dari node lainnya. Server berkomunikasi dengan titik kontrol pusat untuk menjaga semuanya tetap tersinkronisasi.

Realitas Fisik

Berapa banyak mesin yang terlibat? Kami tidak tahu jumlah pastinya. Namun kami tahu mereka menggunakan pusat data yang sangat besar. Pusat data hanyalah sebuah bangunan yang penuh dengan peralatan komputer. Server berada di unit rak logam yang disebut rak. Sebuah fasilitas besar mungkin menampung ribuan server ini.

Ini adalah teka-teki yang sangat besar dan terdistribusi. Google Documents bukan sekadar halaman web. Ini adalah ekosistem kompleks yang dibangun di atas Java, JavaScript, dan asumsi bahwa semuanya pada akhirnya akan rusak. Dan itulah kuncinya. Sistem ini dirancang untuk bertahan dari kerusakan itu tanpa Anda sadari.

Kami akan menggali lebih dalam ke mana arah teknologi ini selanjutnya. Namun untuk saat ini, ketahuilah bahwa dokumen “sederhana” Anda kemungkinan besar disimpan di lusinan server murah dan mubazir di suatu tempat di ruangan yang dingin dan gelap.