Infrastruktur Wikipedia di Ulang Tahun ke-20

1 min read

Disclaimer
Saya bekerja di AWS, semua opini adalah dari saya pribadi. (I work for AWS, my opinions are my own.)
Ulang Tahun Wikipedia
Selamat Ulang Tahun Wikipedia ke-20
(Icon: Icons made by Freepik from www.flaticon.com)

TeknoCerdas.com – Salam cerdas untuk kita semua. Saya yakin anda sebagai pengguna internet pasti pernah mengunjungi website Wikipedia. Sebuah website ensklopedia kolobaratif para pengguna internet dari seluruh dunia. Hari ini 15 Januari adalah tepat 20 tahun Wikipedia berdiri. Untuk memperingati ulang tahun Wikipedia yang ke-20, TeknoCerdas akan sedikit membahas infrastruktur Wikipedia untuk menjalankan website kolaborasi terbesar didunia ini.

Wikipedia pertama kali diluncurkan 15 Januari 2001 dibuat oleh Jimmy Wales dan Larry Sanger. Berdasarkan data dari Wikipedia sendiri saat ini terdapat total 55 juta artikel dan kunjungan pengguna per bulan adalah 1,7 milyar pengguna unik.

Baca Juga
Teknologi yang Digunakan Stack Overflow: Bagian 1
Teknologi yang Digunakan Stack Overflow: Bagian 2

Infrastruktur Wikipeda

Wikipedia dijalankan diatas sebuah software open source bernama Mediawiki. Software tersebut ditulis menggunakan PHP dan database yang digunakan adalah MySQL. Sehingga pada awalnya stack yang digunakan adalah LAMP stack (Linux Apache MySQL PHP).

Sebagai salah satu website terpopuler di dunia, Wikipedia menerima sekitar 25,000 sampai 60,000 RPS (request per second). Jika diambil 50,000 RPS dan diagregasi dalam satu hari berarti terdapat 4,3 milyar kunjungan. Jumlah yang tidak sedikit sehingga stack LAMP normal tentu akan kesulitan melayani jumlah request tersebut.

Untuk itu arsitektur Wikipedia terkini terdapat banyak komponen tidak hanya LAMP. Berikut ini adalah daftar teknologi yang digunakan Wikipedia per Maret 2020.

  • Traffic masuk akan diarahkan oleh Load Balancer menggunakan Linux Virtual Server (LVS)
  • Apache sebagai webserver utama untuk memproses Mediawiki
  • Nginx sebagai reverse proxy dan SSL termination
  • Mediawiki sebagai software wiki
  • Bahasa pemrograman: PHP dengan PHP-FPM sebagai Fast-CGI manager.
  • Database MariaDB dengan konfigurasi replikasi, semua read ke replica dan write ke master (primary)
  • Varnish untuk cache proxy
  • Memcache untuk cluster cache
  • Cassandara untuk session store
  • CirrusSearch untuk full text search
  • Logging
    • statsd untuk daemon statistics dari sistem lalu dimonitor menggunakan Graphite
    • rsyslog untuk mengirim log ke Kafka untuk selanjutnya di proses oleh Logstash

Itulah beberapa komponen teknologi yang membangun Wikipedia. Berikut ini adalah gambar dari Wikipedia tentang alur antar komponen-komponen diatas.

Teknologi Stack pada Infrastruktur Tokopeida
Teknologi Stack pada Infrastruktur Wikipedia