Studi Kasus - Tumpukkan Teknologi di Netflix

by kucingucul, (54 days ago)

Dalam sebuah produk digital umumnya layanannya dibangun diatas tumpukkan pustaka-pustaka, framework-framework atau perangkat lunak-perangkat lunak yang berbeda, disinkronisasikan melalui protokol-protokol komunikasi yang bermacam-macam pula. Tak terkecuali sang raksasa film, Netflix. Berikut studi kasus tumpukkan teknologi di Netflix yang kami himpun dari mengamati blog milik Netflix yang berisi tentang teknis-teknis dibelakang layanan Netflix.

[image]

  • Mobile dan Web

    Layanan streaming Netflix tersedia di mobile maupun web dengan pesentase penggunaan di laptop (~ 15%), ponsel (~ 10%), dan tablet (~ 5%) menurut pop survey. Pelayanan disini ditumpu oleh Swift dasn Kotlin, dua nama besar dalam pembuatan aplikasi Mobile. Sedangkan web Netflix ditangani oleh React, framework yang awalnya dibuat oleh Facebook.

  • Komunikasi Frontend ke Backend

    Dalam penanganan layanan Netflix dipisah menjadi dua sisi, sisi Frontend dan sisi Backend, sehingga butuh protokol komunikasi data diantara keduanya, dipilihlah GraphQL.

  • Backend

    Sisi Backend Netflix bergantung pada beberapa teknologi seperti ZUUL, Eureka, dan Spring Boot Framework.

  • Database

    Dengan basis pengguna yang besar tak ayal Netflix membutuhkan teknologi database yang kuat. Mereka menggunakan EV cache, Cassandra dan CockroachDB.

  • Messaging/streaming

    Netflix memiliki fitur perpesanan dan streaming yang ditangani oleh Apache Kafka dan Fink.

  • Penyimpanan Video

    Dengan 8000 judul film dan acara TV yang ada di Netflix mereka pasti membutuhkan tempat penyimpanan video yang besar dan andal, mereka menggunakan S3 dan Open Connect.

  • Pemrosesan Data

    Flink dan Spark hadir sebagai yang terpilih oleh Netflix untuk pemrosesan Data yang kemudian dikonversikan ke visual oleh Tableau. Ada Redshift yang digunakan sebagai gudang data terstruktur.

  • DevOps

    Dalam prakteknya, layanan produk digitial pasti ada crash maupun pembaruan rutin softwarenya, maka dari itu mereka menggunakan layanan DevOps JIRA, Confluence, PagerDuty, Jenkins, Gradle, Chaos Monkey, Spinnaker dan Altas.

Tumpukkan teknologi diatas memang terlihat rumit dan kompleks karena Netflix sendiri membuka layanannya di hampir seluruh negara dengan target pasar yang banyak.


Complete thread:

 RSS Feed of thread