Review

Buka-bukaan Teknologi Tokopedia dari Masa ke Masa

[Gambar: Desain tampilan Tokopedia di masa awal berdiri]
Tokopedia didirikan oleh  dua orang dengan latar belakang IT, William Tanuwijaya (aslinya berasal dari Pematang Siantar, Sumut) dan Leontinus Alpha Edison (aslinya berasal dari Pontianak, Kalbar), tentunya dibantu juga oleh Victor Fungkong (CEO Indonusa -pemodal pertama Tokopedia). Mereka mulai membangun Tokopedia sejak Januari 2009. Untuk mengejar pertumbuhan pengguna yang sangat pesat, teknologi Tokopedia pun harus terus berusaha menyesuaikan diri. Simak pengalaman mereka.

Setelah Blibli.com yang membuka arsitektur teknologi di belakangnya, beberapa waktu lalu giliran Tokopedia yang berbagi pengalaman. Ini adalah inisiasi dari StartupBisnis bersama CodePolitan untuk mengadakan seminar online dengan mengundang Leon (panggilan Leontinus) untuk membagikan pengalamannya dengan teknologi di belakang Tokopedia. Tulisan ini merangkum berbagai poin yang menarik untuk disimak dari inisiasi tersebut.

[Gambar: Tampilan Tokopedia dari masa ke masa]
Arsitektur I

Walaupun Leon sebenarnya memang seorang engineer, dia sendiri mengaku bahwa dirinya hanya “half-engineer”. Latar belakangnya adalah bekerja untuk klien enterprise. Itulah sebabnya mengapa sewaktu pertama kali ia membangun Tokopedia dia memilih Oracle sebagai pilihan database, Perl sebagai bahasa pemrogramannya dan Apache mod_perl sebagai webservernya. “..ya pakai apa yang saya bisa aja”, ujarnya. Belakangan, sekitar 1 bulan sebelum Tokopedia meluncur, Leon merekrut satu orang engineer, kali ini real engineer.

Oracle yang digunakan saat itu adalah Oracle Express Edition 4G. Ini adalah versi “gratisan” dari Oracle dengan berbagai batasannya. Server yang digunakan adalah server fisik, dan kedua server ini identik.

Arsitektur ini terbilang sangat sederhana. Wajar memang untuk startup yang baru dibangun. Saat itu semua berkas yang diupload merchant dan pengguna langsung saja disimpan di webserver, tanpa CDN (Content Delivery Network) ataupun cloud storage. Leon bahkan mengaku saat itu tidak tahu apa itu CDN. Tidak hanya tentang CDN, ia bahkan belum tahu tentang Awstat ataupun Google Analytics (perangkat untuk memonitor trafik kunjungan website).

Arsitektur II

Sekitar satu bulan setelah Tokopedia meluncur, trafik tumbuh pesat. Server Tokopedia pun mulai melambat. Arsitektur Tokopedia pun segera menyesuaikan. Apache server dipecah menjadi 2. Satu untuk berkas static, satu lagi untuk konten dinamis (dynamic content).

Namun ini pun tidak bertahan lama. Server Tokopedia kembali mulai melambat. Penyebabnya ada beberapa:

  • Oracle yang mereka gunakan mencapai batasnya (versi ini kapasitasnya hanya terbatas hingga 4GB)
  • Tidak ada partisi
  • Tidak ada replikasi database
  • Indexing yang jelek
  • Semua aktivitas read/write dilakukan pada database server yang sama

Arsitektur III


Jangan lupa ikuti kami di Twitter untuk mendapatkan update terbaru dari @LabanaID