Membedah Tech-Stack TikTok (2025)

← Kembali ke Blogs

Membedah Tech-Stack TikTok (2025)

Ditulis olehkukuhtw·
0 unik hari ini 4 unik 7 hari 77 unik 30 hari 724 total unik
Membedah Tech-Stack TikTok (2025)
Iklan

TikTok—yang dimiliki oleh ByteDance—ngasih kamu pengalaman scroll video pendek tanpa henti buat ratusan juta pengguna setiap harinya. Gak heran, supaya video 15 detik bisa nongol kurang dari 1 detik setelah kamu buka aplikasinya, mereka ngandelin campuran teknologi front-end, back-end, AI, dan infrastruktur global yang diracik kayak mesin Formula-1 yang super kenceng.


Yuk kita ulik bareng-bareng tech stack TikTok yang kece badai ini, lengkap dengan link resmi buat kamu yang pengen ngulik lebih dalem lagi.




Lapisan Klien (Front-End)


Platform dan teknologi utama yang dipakai TikTok buat bikin tampilan dan performa aplikasi yang super smooth:

  • Android: Kotlin (plus Java legacy) – dipilih karena sintaksnya singkat, dukungan coroutine yang keren buat handle async, dan tetap kompatibel sama Java lama.
  • iOS: Swift (plus Objective-C legacy) – type-safe, performa juara, dan tooling Xcode yang makin canggih.
  • Cross-Platform: React Native & Flutter – React Native bikin komponen yang dirender jadi native view, sementara Flutter dipakai tim eksperimental ByteDance karena engine-nya sendiri yang bikin UI makin dinamis dan animasi makin mulus.
  • Web: React + Redux + Webpack – Single Page Application (SPA) yang ringan, bisa server-side rendering biar SEO tetap oke, plus progressive hydration buat pengalaman web yang responsif.
  • Edge Delivery: Akamai CDN & Cloudflare CDN – ribuan Point of Presence (PoP) global supaya streaming video bisa latency-nya di bawah 100 ms. Mantul!

Analogi: Bayangin aplikasi itu kayak panggung konser. Kotlin dan Swift adalah band inti, React Native dan Flutter jadi musisi tamu yang fleksibel, sementara CDN itu kayak tata suara dan layar raksasa yang bikin lagu terdengar keras dan jelas sampai ke kursi paling belakang.




Lapisan Layanan (Back-End & Microservices)


Bahasa pemrograman inti yang dipakai buat ngejalanin microservices TikTok:

  • Go: buat layanan dengan request per detik (QPS) tinggi, kayak feed assembler dan click-stream.
  • Java: modul-modul lama dan transaksi berat.
  • Python: buat machine learning inference sama prototyping model baru.
  • Node.js: API gateway dan edge service yang ringan.

Untuk komunikasi antar layanan, mereka pakai gRPC plus Protocol Buffers buat RPC low-latency. Tapi masih ada juga REST JSON buat kompatibilitas publik.


Containerisasi dan orkestrasi dipakai Docker buat bungkus tiap microservice, terus Kubernetes yang ngatur autoscaling regional dan deployment blue-green supaya update bisa aman dan mulus.


Pengiriman berkelanjutan alias CI/CD mereka jalankan pakai Jenkins, GitLab CI, dan Argo CD dengan pipeline otomatis lintas ratusan repositori. Jadi, update fitur dan perbaikan bug bisa cepat dan terkontrol banget.




Data-Store & Caching Layer


Macam-macam teknologi penyimpanan data yang dipakai TikTok sesuai fungsinya:

  • Relasional: MySQL (sharded, dibantu Vitess buat routing) – nyimpen data user profile, metadata video, transaksi, dan lain-lain.
  • In-Memory: Redis – buat token, session, dan hitungan like real-time dengan latency sekitar 1-2 ms.
  • Wide-Column: Apache Cassandra – nyimpen feed timeline dan grafik sosial yang tulisannya banyak banget.
  • Search: Elasticsearch – untuk pencarian hashtag, caption, username yang super cepat.
  • Time-Series / Log: HBase – nyimpen click-stream dan trace historis selama bertahun-tahun.



AI & Machine-Learning Pipeline


Ini nih kunci utama bikin For You Page (FYP) TikTok jadi super peka sama selera kamu:

  • Feature log kayak klik dan durasi tonton langsung dikirim ke Apache Flink secara real-time buat fitur on-line.
  • Batch ETL pakai Apache Spark buat bikin training dataset harian yang segar terus.
  • Model deep learning dilatih di GPU cluster pakai TensorFlow & PyTorch, biar hasilnya jempolan.
  • Model serving dieksekusi lewat TensorFlow Serving atau TorchServe, dibungkus microservice Go, dan di-cache di Redis supaya scoring latency-nya kurang dari 30 ms. Cepet banget!

FYI: Algoritma rekomendasi TikTok gabungin sequence-model (Transformer) sama reinforcement learning mikro yang nilaiin reaksi kamu di beberapa frame pertama video. Makanya FYP kamu bisa langsung "ngeh" sama selera yang kamu punya.




Video Workflow & Streaming


Proses video TikTok dari upload sampai streaming juga pakai teknologi canggih nih:

  • Transcoding: FFmpeg buat ngubah video ke multi-bitrate H.264/H.265 plus watermark supaya aman.
  • Delivery Protocol: HLS adaptif dengan playlist 6 detik supaya bisa streaming lancar.
  • Edge Compute: Server di PoP CDN yang motong-motong buffer dan nyesuain bitrate secara otomatis supaya tontonan kamu mulus, meskipun jaringan 4G pas-pasan.



Observability & Keamanan


Supaya sistem TikTok tetap sehat dan aman, mereka pakai:

  • Metrics & Dashboard: Prometheus dan Grafana buat monitor performa dan kondisi sistem secara real-time.
  • Distributed Tracing: Jaeger, biar gampang lacak request dari ujung ke ujung.
  • Log Search: Elasticsearch dan Kibana buat nyari dan analisa log dengan cepat.
  • Keamanan: HTTPS dengan TLS 1.3, JWT buat autentikasi, rate-limiting, captcha, plus AI moderation yang gabungin computer vision dan natural language processing supaya konten yang berisiko bisa terdeteksi dan ditangani.



Alur "Buka TikTok → Muncul Feed" (Simplified)


  • Client (Kotlin/Swift/React Native) nge-ping API Gateway (Node.js) buat minta data feed.
  • API Gateway panggil Feed-Assembler (Go) lewat gRPC buat kumpulin data.
  • Feed-Assembler ambil fitur user di Redis dan Cassandra, terus kirim ke Recommender Model yang jalan di TensorFlow Serving.
  • Model ngasih skor top-N video yang cocok, hasilnya dikirim balik ke aplikasi buat dirender UI-nya pakai React Native atau Flutter.
  • Player di aplikasi nge-fetch segmen HLS dari CDN terdekat, sambil otomatis nyesuain bitrate supaya streaming lancar.



Penutup


TikTok itu contoh keren banget gimana state-of-the-art rekayasa sistem di tahun 2025. Dari UI yang mobile-first, arsitektur microservices yang elastis, AI rekomendasi yang berlapis-lapis, sampai jaringan edge yang masif. Kombinasi teknologi ini bikin video yang cuma berdurasi detik bisa viral ke seluruh dunia dalam hitungan menit.


Semoga rangkuman plus link resmi ke dokumentasi ini bisa jadi pintu buat riset kamu atau inspirasi buat bangun arsitektur keren di proyek selanjutnya. Keep coding dan stay tech-savvy, bro!

Summary Interaktif

Jawaban:
Untuk platform Android, TikTok menggunakan Kotlin (beserta Java legacy) karena sintaksnya yang singkat, dukungan coroutine yang efektif untuk menangani operasi asynchronous, dan kompatibilitas dengan kode Java lama. Sedangkan untuk iOS, mereka memakai Swift (beserta Objective-C legacy) karena sifatnya yang type-safe, performa tinggi, dan tooling Xcode yang semakin canggih.

Jawaban:
TikTok memakai React Native untuk membuat komponen yang dirender sebagai native view sehingga memberikan performa dan tampilan yang lebih baik. Flutter digunakan oleh tim eksperimental ByteDance karena engine-nya mampu membuat UI yang lebih dinamis dan animasi yang lebih mulus, memberikan fleksibilitas dalam pengembangan antarmuka pengguna.

Jawaban:
Akamai CDN dan Cloudflare CDN menyediakan ribuan Point of Presence (PoP) di seluruh dunia untuk memastikan streaming video memiliki latency di bawah 100 ms. Hal ini memungkinkan pengiriman video yang cepat dan lancar ke pengguna di berbagai lokasi global.

Jawaban:
TikTok menggunakan Go untuk layanan dengan request per detik tinggi seperti feed assembler dan click-stream karena efisiensi dan performanya. Java digunakan untuk modul-modul lama dan transaksi berat karena kestabilannya. Python dipakai untuk machine learning inference dan prototyping model baru, sedangkan Node.js digunakan pada API gateway dan edge service yang ringan untuk menangani permintaan dengan cepat.

Jawaban:
TikTok menggunakan gRPC bersama Protocol Buffers untuk komunikasi RPC dengan latensi rendah antar layanan. Selain itu, mereka juga mempertahankan REST JSON untuk menjaga kompatibilitas dengan layanan publik.

Jawaban:
TikTok menggunakan Docker untuk containerisasi setiap microservice, yang membungkus layanan dalam lingkungan yang konsisten. Kubernetes digunakan untuk orkestrasi, mengatur autoscaling regional, dan deployment blue-green agar proses update bisa berlangsung aman dan mulus tanpa gangguan layanan.

Jawaban:
TikTok memakai MySQL (sharded dan dibantu Vitess) untuk menyimpan data relasional seperti profil pengguna dan metadata video; Redis sebagai in-memory store untuk token, session, dan hitungan like real-time dengan latency sangat rendah; Apache Cassandra untuk menyimpan feed timeline dan grafik sosial dengan volume tulisan yang besar; Elasticsearch untuk pencarian cepat hashtag, caption, dan username; serta HBase untuk menyimpan data time-series seperti click-stream dan trace historis selama bertahun-tahun.

Jawaban:
TikTok mengirim feature log seperti klik dan durasi tonton secara real-time ke Apache Flink untuk fitur online. Batch ETL dilakukan menggunakan Apache Spark untuk membuat training dataset harian yang selalu segar. Model deep learning dilatih di GPU cluster menggunakan TensorFlow dan PyTorch. Model serving dilakukan dengan TensorFlow Serving atau TorchServe, dibungkus dalam microservice Go, dan hasil scoring disimpan di Redis agar latency scoring kurang dari 30 ms.

Jawaban:
Algoritma rekomendasi TikTok menggabungkan sequence-model (Transformer) dengan reinforcement learning mikro yang menilai reaksi pengguna dalam beberapa frame pertama video. Pendekatan ini membuat For You Page (FYP) dapat langsung memahami dan menyesuaikan dengan preferensi pengguna secara cepat dan akurat.

Jawaban:
Proses dimulai dengan transcoding menggunakan FFmpeg untuk mengubah video ke multi-bitrate H.264/H.265 dengan watermark untuk keamanan. Video kemudian disajikan menggunakan protokol delivery HLS adaptif dengan playlist berdurasi 6 detik untuk streaming lancar. Edge compute pada server di PoP CDN memotong buffer dan menyesuaikan bitrate secara otomatis agar tontonan tetap mulus meskipun koneksi jaringan kurang stabil.

Jawaban:
Untuk observability, TikTok menggunakan Prometheus dan Grafana untuk monitoring performa real-time, Jaeger untuk distributed tracing, serta Elasticsearch dan Kibana untuk pencarian dan analisis log. Dari sisi keamanan, mereka mengimplementasikan HTTPS dengan TLS 1.3, autentikasi menggunakan JWT, rate-limiting, captcha, dan AI moderation yang menggabungkan computer vision dan natural language processing untuk mendeteksi dan menangani konten berisiko.

Jawaban:
Saat pengguna membuka aplikasi, client (menggunakan Kotlin/Swift/React Native) mengirim ping ke API Gateway (Node.js) untuk meminta data feed. API Gateway memanggil Feed-Assembler (Go) lewat gRPC untuk mengumpulkan data. Feed-Assembler mengambil fitur user dari Redis dan Cassandra, lalu mengirimnya ke Recommender Model yang berjalan di TensorFlow Serving. Model memberikan skor top-N video yang cocok, hasilnya dikirim balik ke aplikasi yang merender UI menggunakan React Native atau Flutter. Player di aplikasi kemudian mengambil segmen HLS dari CDN terdekat dan menyesuaikan bitrate secara otomatis agar streaming berjalan lancar.

Jawaban:
Kombinasi teknologi front-end dan back-end yang efisien, penggunaan microservices dengan bahasa pemrograman yang tepat, containerisasi dengan Docker dan Kubernetes untuk autoscaling, serta infrastruktur global dengan CDN ribuan PoP membuat pengiriman data dan video sangat cepat. Selain itu, AI dan machine learning yang real-time dalam merekomendasikan konten, serta optimasi video streaming adaptif, memungkinkan video 15 detik muncul dengan latency sangat rendah, kurang dari 1 detik setelah aplikasi dibuka.
Artikel lain dari penulis ini
Iklan