Anatomi Tech Stack Instagram (2025) yang Bikin Lo Penasaran!

← Kembali ke Blogs

Anatomi Tech Stack Instagram (2025) yang Bikin Lo Penasaran!

Ditulis olehkukuhtw·
0 unik hari ini 1 unik 7 hari 17 unik 30 hari 155 total unik
Anatomi Tech Stack Instagram (2025) yang Bikin Lo Penasaran!
Iklan

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.

Summary Interaktif

Jawaban:
Arsitektur teknologi Instagram terdiri dari beberapa layer utama. Pada Client & Presentation Layer, Instagram menggunakan Jetpack Compose dengan Kotlin untuk Android, Swift dengan SwiftUI untuk iOS, React 18 dan Relay GraphQL untuk web/desktop, serta MQTT over TLS untuk realtime communication. API Gateway & Edge menggunakan GraphQL dan REST Gateway yang dibangun dengan Go dan C++, serta Global Edge POP dengan HTTP/2 dan QUIC untuk load balancing dan caching konten statis. Core Micro-services dibangun dengan Python 3 (Django & React-SSR), Hack/PHP, C++ & Rust untuk media, Erlang & C++ untuk messaging, dan Go untuk notifikasi dan eksperimen. Data & Storage Layer menggunakan TAO sebagai graph DB, Apache Cassandra & ScyllaDB untuk feed & timeline, ZippyDB untuk key/value store, delta + fblfs untuk object storage, dan Memcached + mcrouter untuk caching. Machine Learning & Recommendation memakai lebih dari 1.000 model ML dengan PyTorch 2.2 dan FBLearner Flow, serta inference menggunakan Caffe2-mobile dan Lite Interpreter. Media Processing Pipeline meliputi kompresi dan upload via gRPC, penyimpanan di Delta storage, pencatatan di Cassandra dan TAO, serta fan-out ke feed cache dan notifikasi push dengan MQTT. Observability, Security & DevOps menggunakan LogDevice + Scribe untuk logging, Scuba dan internal Zipkin-style untuk metrics, serta Short-Lived TLS Certificates dan canary deployment untuk keamanan. Deployment & Runtime memakai Twine untuk orkestrasi container, RPC dengan Thrift dan flib, load balancing dengan Proxygen dan Envoy-fork, serta chaos engineering tools seperti Storm dan Isotope untuk fault tolerance.

Jawaban:
Instagram memilih migrasi bertahap ke Jetpack Compose untuk Android dan SwiftUI untuk iOS karena pendekatan gradual memungkinkan memasukkan modul per modul sehingga performa tetap optimal dengan frame time di bawah 4 ms. Pendekatan ini menghindari gangguan besar pada aplikasi yang sudah berjalan dan memastikan UI lebih deklaratif, modern, dan lebih mudah dikembangkan serta dipelihara.

Jawaban:
MQTT digunakan dalam Instagram untuk komunikasi realtime seperti push notifikasi, direct message (DM), dan typing indicator. MQTT berjalan over TLS dan menggunakan port 443 agar dapat menembus firewall di lingkungan kantor. Koneksi MQTT bersifat keep-alive sehingga memastikan data realtime dapat dikirim dengan sangat cepat dan konsisten.

Jawaban:
Instagram menggunakan Apache Cassandra dan ScyllaDB untuk mengelola data feed dan timeline dengan metode wide-row yang menggabungkan tombol like dan comment. Data di-partition berdasarkan user-id dan di-cluster berdasarkan timestamp untuk efisiensi akses dan penulisan. Strategi ini memungkinkan penanganan beban baca-tulis yang tinggi secara scalable.

Jawaban:
Instagram memiliki lebih dari 1.000 model machine learning yang mendukung Feed, Reels, Explore, dan Ads. Semua model dikelola melalui Model Registry dan launch-automation yang mempercepat roll-out dari hari ke jam. Framework yang digunakan adalah PyTorch 2.2 dan FBLearner Flow, sementara inference memakai Caffe2-mobile dan Lite Interpreter. Ranking model menggunakan funnel dengan tahap Retrieval, Early-Stage Rank (ESR), Late-Stage Rank (LSR), hingga Re-rank, dengan arsitektur Two-Tower Neural Network dan cross-encoder untuk presisi matching konten dengan pengguna.

Jawaban:
Dalam media processing pipeline, Instagram memulai dengan klien yang mengompres file foto atau video, lalu meng-upload melalui gRPC 'media-upload' ke edge POP terdekat. Edge melakukan streaming multipart upload ke Media Service sambil memverifikasi checksum. Media Service menyimpan data blob di Delta storage dan mencatat ID media di Cassandra serta TAO. Worker fan-out kemudian mendorong ID tersebut ke feed cache follower melalui pipeline fan-out-on-write. Notifikasi push dikirim menggunakan MQTT, dan ranking feed selesai dalam kurang dari 400 ms secara end-to-end. Instagram juga mengoptimalkan encode-reuse yang mengurangi penggunaan komputasi hingga 94% pada pipeline video.

Jawaban:
Instagram menggunakan LogDevice dan Scribe sebagai distributed append-only log store untuk logging yang highly available. Metrics dan tracing dilakukan dengan Scuba, ODS, dan internal Zipkin-style untuk real-time query ad-hoc. Keamanan dijaga dengan penggunaan Short-Lived TLS Certificates dan strategi canary deployment secara bertahap dari 10% sampai 100% untuk meminimalkan risiko kompromi kunci. Untuk keberlangsungan dan fault tolerance, Instagram memakai chaos engineering tools seperti Facebook’s Storm dan Isotope yang memungkinkan fault-injection testing dan memastikan sistem tetap tahan banting meskipun terjadi kegagalan pada shard, rack, atau data center.

Jawaban:
Twine berfungsi sebagai sistem orkestrasi yang mirip Kubernetes, mengatur penjadwalan container di data center Meta. Twine juga melakukan auto-scaling berdasarkan RPC latency dan queue depth agar performa layanan tetap stabil. Selain itu, komunikasi service-to-service menggunakan RPC dengan Thrift dan flib, serta load balancing data center mesh dilakukan dengan Proxygen dan Envoy-fork untuk menjaga koneksi tetap mulus.
Artikel lain dari penulis ini
Iklan