Instagram sekarang tuh udah jadi raksasa sosial media yang nge-handle lebih dari 2 miliar Monthly Active Users (MAU) dan miliaran foto plus video yang diunggah tiap hari! Gokil banget kan? Nah, di balik gemerlapnya feed yang lo scroll tiap hari itu, ada arsitektur teknologi super canggih yang terus berkembang, apalagi sejak zaman monolit Django di 2010 sampai sekarang yang udah pake ribuan micro-service keren dan terdistribusi.
Mau tau gimana sih detail tech stack Instagram tahun 2025? Yuk kita bongkar layer demi layer dengan gaya santai plus link-link kece buat lo cek sendiri!
1. Client & Presentation Layer
- Android: Jetpack Compose + Kotlin. Instagram lagi migrasi UI lama yang pake XML ke Jetpack Compose yang lebih deklaratif dan kekinian. Caranya gradual, dimasukin modul per modul supaya performa tetap ngebut, frame time di bawah 4 ms. Cek di sini bro!
- iOS: Swift + SwiftUI secara bertahap. Mereka bikin layer baru yang di-wrap pake ComponentKit, framework buatan Meta yang bikin animasi dan telemetri jadi konsisten dan smooth banget.
- Web/Threads desktop: React 18 + Relay GraphQL. React-nya dirender pake server-side streaming biar First Contentful Paint-nya ngebut, plus Relay yang otomatis nge-batch query GraphQL supaya gak boros data.
- Realtime: MQTT (over TLS). Buat push notifikasi, DM, sama typing indicator, Instagram pake MQTT via port 443 supaya bisa tembus firewall kantoran. Koneksi ini keep-alive terus, jadi real-time banget!
2. API Gateway & Edge
Di sini ada GraphQL & REST Gateway yang dibangun pake Go dan C++. Gateway ini nge-route request ke micro-service yang bener-bener dibutuhin sesuai field yang diminta, jadi gak ada over-fetch yang bikin boros data. Terus, ada Global Edge POP yang pake HTTP/2 & QUIC lewat Meta Global Load Balancer (GLB). Konten statis seperti foto, WebP, video MP4-DASH, dan HLS di-cache di edge CDN yang dimiliki Meta dan partner ISP biar aksesnya super kilat.
3. Core Micro-services
- Feed, Reels, Stories: Python 3 (pakai Django & React-SSR) plus Hack/PHP. Python dipilih karena support ML yang kuat, tapi untuk fungsi yang butuh latency rendah, mereka pake FFI ke C++.
- Media Service: C++ & Rust. Mulai dari upload chunked, transcode pake codec x264/x265 dan AV1 preview, sampai object-store yang delta-based.
- Messaging (Direct/Threads): Erlang & C++. Teknologinya hasil akuisisi Beluga, dan sekarang pake protokol MQTT yang tadi udah kita bahas.
- Notifications & Experimentation: Go. Kerjasama sama sistem konfigurasi Configerator buat AB-testing dan eksperimen fitur baru.
4. Data & Storage Layer
- Social graph / likes / follow: TAO – geo-replicated graph DB yang dirancang buat read-heavy OLTP dengan latency < 200 µs di P90, pake sharding berdasarkan user-id. Sikat linknya di sini!
- Feed & timeline: Apache Cassandra & ScyllaDB. Tombol like dan comment itu di-append ke wide-row dengan partition-key user-id dan clustering-key timestamp. Baca lengkapnya di sini.
- Key/Value metadata: ZippyDB yang dibangun di atas RocksDB. Punya strong-consistency dan replikasi Paxos. Liat lebih lanjut.
- Object storage: Delta + fblfs yang ngelola empat operasi utama (put/get/delete/list) plus erasure-coding buat video dan foto. Link kece buat baca.
- Cache tier: Memcached + mcrouter yang bisa nge-shard kunci secara konsisten, ngasih fail-over, dan shadow traffic. Cek di sini.
5. Machine-Learning & Recommendation
Gila, Instagram tuh punya lebih dari 1.000 model ML yang nyokong Feed, Reels, Explore, sampai Ads! Semua model itu dikelola lewat Model Registry plus launch-automation yang bikin proses roll-out bisa dipercepat dari hitungan hari jadi jam. Baca cerita lengkapnya.
Framework-nya pakai PyTorch 2.2 dan FBLearner Flow, untuk inference mereka pake Caffe2-mobile dan Lite Interpreter. Ranking modelnya punya funnel keren mulai dari Retrieval, Early-Stage Rank (ESR), Late-Stage Rank (LSR), sampai Re-rank, dengan arsitektur Two-Tower Neural Network dan cross-encoder buat matching konten sama user dengan presisi.
6. Media Processing Pipeline
Proses upload foto atau video dimulai dari client yang kompres dulu file-nya, lalu upload via gRPC “media-upload” ke edge POP terdekat. Setelah itu, edge streaming multipart ke Media Service, checksum-nya dicek biar gak ada error.
Media Service nyimpen blob di Delta storage, terus ID media-nya dicatet di Cassandra dan TAO. Ada worker fan-out yang push ID itu ke feed cache follower pake pipeline fan-out-on-write. Terakhir, notifikasi push dikirim pake MQTT, dan ranking feed selesai kurang dari 400 ms end-to-end.
Instagram juga ngelakuin optimisasi encode-reuse yang ngurangin compute sampai 94% di video processing pipeline. Cek deh di sini.
7. Observability, Security & DevOps
- Logging: LogDevice + Scribe, ini tuh distributed append-only log store yang highly available. Linknya mantul!
- Metrics/Tracing: Scuba, ODS, sama internal Zipkin-style buat real-time ad-hoc SQL query di in-memory column-store.
- Release & Safety: Pakai Short-Lived TLS Certificates (SLC) plus canary deployment mulai dari 10% sampai 100% supaya risiko key-compromise minimal. Baca di sini ya.
8. Deployment & Runtime
Orchestration-nya pake Twine, mirip Kubernetes, yang nge-schedule container di data center Meta. Auto-scaling dilakukan berdasarkan RPC latency dan queue depth biar performa tetap stabil.
Service-to-service RPC pakai Thrift dan flib, plus data center mesh load-balancing lewat Proxygen dan Envoy-fork buat jaga koneksi tetap mulus.
Instagram juga punya Chaos Engineering tools seperti Facebook’s Storm dan Isotope buat fault-injection testing. Jadi kalau ada shard, rack, atau data center yang mati, sistem tetep tahan banting dan gak down.
Alur Kerja Kasar “Posting Foto”
- Client pertama-tama kompres foto, terus upload via gRPC “media-upload” ke edge POP terdekat.
- Edge streaming multipart upload itu ke Media Service, sambil verifikasi checksum-nya.
- Media Service nyimpen data blob di Delta storage, terus ID foto dicatet di Cassandra dan TAO.
- Worker fan-out push ID itu ke feed cache follower pake pipeline fan-out-on-write.
- Notifikasi push dikirim pake MQTT, dan ranking feed kelar dalam kurang dari 400 ms secara end-to-end.
Kesimpulannya nih, bro: Instagram ngandelin kombinasi Python + C++ micro-services, GraphQL, database Cassandra dan TAO, Memcached buat caching, PyTorch buat machine learning, plus infrastruktur Meta yang super otomatis dan terus berkembang. Evolusi yang keren kayak migrasi Jetpack Compose ke Android dan pengelolaan lebih dari 1.000 model rekomendasi bikin aplikasi ini tetap scalable, cepat, dan relevan buat miliaran pengguna di seluruh dunia.