- Threads, yang diluncurkan pada Juli 2023, mencatat 100 juta pendaftaran dalam 5 hari pertama
- Tim engineer kecil yang lincah membangun Threads hanya dalam 5 bulan pekerjaan teknis
- Kemampuan melakukan ekspansi tanpa hambatan saat banyak orang mendaftar merupakan hasil dari lebih dari 10 tahun upaya pengembangan infrastruktur dan produk
- Bukan infrastruktur yang dibangun khusus untuk Threads, melainkan memanfaatkan infrastruktur yang sudah dibangun untuk banyak produk Meta
- Meski pada praktiknya digunakan infrastruktur dalam jumlah sangat besar, yang diperkenalkan sebagai yang paling penting adalah distributed key-value store ZippyDB dan platform fungsi serverless asinkron Async
ZippyDB: Memperluas Keyspace untuk Threads
- ZippyDB adalah database key/value terdistribusi yang dibangun dari awal dengan memanfaatkan infrastruktur Meta, sekaligus layanan fully managed yang dapat dijadikan fondasi oleh para engineer
- Keyspace yang di-host di ZippyDB dapat diskalakan naik dan turun dengan relatif mudah, serta dapat ditempatkan secara fleksibel di banyak data center.
- Untuk penyimpanan social graph digunakan TAO (The Associations and Objects) berbasis MySQL
- ZippyDB adalah database key/value yang menjadi padanan MySQL, dan digunakan untuk counter, peringkat/status feed, pencarian, dan lain-lain
Optimasi ZippyDB dan Peluncuran Produk
- Melalui protokol resharding ZippyDB, faktor sharding untuk use case ZippyDB dapat ditingkatkan dengan cepat tanpa memengaruhi klien, sambil mempertahankan konsistensi dan akurasi penuh
- Dengan memprovisikan set physical shard baru dan memasang mapping logical-physical shard baru ke klien melalui perubahan konfigurasi live, resharding dapat dilakukan tanpa downtime
- Operasi resharding dirancang agar dapat diskalakan secara horizontal, sehingga kecepatan resharding bisa ditingkatkan saat diperlukan, seperti pada peluncuran Threads
- Dikembangkan pula serangkaian alat operator darurat untuk menangani pertumbuhan use case yang mendadak dengan mudah
Async: Memperluas Eksekusi Workload untuk Threads
- Async (atau XFaaS) adalah platform fungsi serverless yang membantu engineer memperpendek waktu dari konsep solusi hingga deployment ke produksi
- Async saat ini menangani triliunan pemanggilan fungsi per hari dan mendukung berbagai bahasa pemrograman seperti HackLang, Python, Haskell, dan Erlang
- Dengan mengabstraksikan detail deployment, queueing, scheduling, scaling, disaster recovery, dan readiness, platform ini memungkinkan developer fokus pada logika bisnis inti
- Async terutama digunakan untuk pekerjaan yang bisa dijalankan beberapa detik hingga beberapa jam kemudian tanpa mengganggu pengalaman pengguna
- Di Threads, Async berperan penting dalam mempercepat pembangunan komunitas dengan memungkinkan pengguna mengikuti orang-orang yang sudah mereka ikuti di Instagram juga di Threads
- Untuk menangani 100 juta pengguna dalam 5 hari dibutuhkan kapasitas pemrosesan yang sangat besar, dan Async menyerap peningkatan beban itu secara elegan serta melakukan queueing untuk eksekusi yang terkendali
Pertemuan Infrastruktur dan Budaya
- Pengembangan Threads yang cepat hanya dalam 5 bulan pekerjaan teknis menunjukkan dengan jelas kekuatan infrastruktur dan budaya engineering Meta
- Produk Meta memanfaatkan infrastruktur bersama yang telah teruji selama bertahun-tahun, sehingga tim produk dapat bergerak cepat dan menskalakan produk yang sukses dengan segera
- Infrastruktur ini memiliki tingkat otomatisasi yang tinggi, sehingga selain upaya untuk mengamankan kapasitas dalam waktu singkat, redistribusi workload otomatis, load balancing, dan scaling berjalan mulus dan transparan
- Meta mengejar budaya engineering yang bergerak cepat, dan para engineer berkolaborasi dengan rasa kepemilikan yang kuat untuk mencapai tujuan bersama dalam skala besar secara efisien
3 komentar
Keren banget
Salam kenal~