Single Blog Title

This is a single blog caption
16 Mar 2022

Ini Peran Penting Python Dibalik Kesuksesan Netflix yang Wajib Kamu Tau!

//
Comments0
/
Tags

Python menjadi bahasa pemrograman paling popular di dunia menurut Tiobe pada 2021 lalu mengalahkan Bahasa pemrograman lainnya seperti C, Java, C++, dan bahasa lainnya. Selain digunakan untuk data science Python juga menjadi salah satu yang dapat membangun aplikasi baik itu aplikasi web maupun berbasis mobile. Sejumlah perusahaan teknologi besar seperti Facebook dan Spotify juga diketahui memanfaatkan Python dalam aplikasi mereka.

Lalu bagaimana Netflix menggunakan Python untuk membangun produknya?

Python sudah dilengkapi dengan beragam library dan berguna untuk pengembangan produk yang membuat bahasa pemrograman ini semakin menarik untuk dipelajari dan digunakan oleh banyak developer. Beberapa inovasi yang telah dihadirkan Netflix mengandalkan Python sebagai Bahasa pemrogramannya. Penasaran dimana saja Python mengambil peran dalam kualitas yang diberikan kepada para penikmat Netflix, yang diketahui kini membernya mencapai 210 Juta pada september 2021 silam. Yuk simak, inilah bagaimana Netflix menggunakan Python dalam banyak aspek pengembangan platformnya.

1. Open Connect

Open Connect merupakan salah satu bagian terpenting dari Netflix. Open Connect adalah nama jaringan global yang  bertanggung jawab untuk menghadirkan konten-konten (TV show dan film) untuk para pelanggan Netflix di seluruh dunia.

Jenis jaringan ini biasanya disebut sebagai Content Delivery Network (CDN) atau jaringan pengiriman konten yang bertugas untuk mengirimkan konten yang berbasis internet secara efisien kepada para penikmat Netflix di seluruh dunia. Fungsi CDN untuk streaming video akan dimulai setelah sistem rekomendasi melakukan tugasnya.

Open Connect juga membutuhkan berbagai system perangkat lunak pendukung untuk merancang, membangun, dan mengoperasikan CDN, dimana banyak diantaranya ditulis dengan menggunakan Pyhton. Perangkat jaringan yang mendasari CDN ini pun juga menggunakan Python, lho.

2. Gangguan Teknis

Di tahun 2012 Netflix pernah mengalami gangguan teknis selama 7 jam yang diakibatkan oleh layanan Amazon Web Services (AWS) di wilayah Amerika Serikat. Pada saat itu Netflix belum memiliki pusat data sendiri. Semua interaksi penonton dengan Netflix dilayani oleh AWS kecuali untuk streaming video, karena video (film atau TV Show) ada pada CDN mereka sendiri.

Untuk mencegah terjadinya hal itu lagi, Netflix memutuskan untuk membangun sistem failover regional yang tahan dari gangguan teknis penyedia layanan dasar Netflix.

Failover adalah metode untuk melindungi sistem komputer dari gangguan teknis, di mana perangkat akan siaga secara otomatis untuk mengambil alih ketika sistem utama gagal. Sekarang Netflix bisa melakukan failover regional dalam tujuh menit.

Perangkat lunak yang mengatur failover ditulis dengan Python oleh tim yang terdiri dari tiga engineer. Tools yang digunakan meliputi:

  • NumPy and SciPy untuk menampilkan Analisis numerik
  • Boto3 untuk membuat perubahan ada infrastruktur AWS
  • RQ (Redis Queue) untuk menjalankan beban kerja asinkron
  • Flask API digunakan sebahai pembungkus tools di atas.
  • Jupyter Notebooks and nteract (ekstensi untuk Jupyter) digunakan untuk menganalisis data operasional dan visualisasi.

3. Analisis statistik

Tim Inti Netflix menggunakan Python untuk menganalisis statistik, biasanya menggunakan library Python, seperti NumPy, SciPy, dan Pandas yang akan membantu menganalisis ribuan sinyal jika terjadi masalah.

Python juga digunakan untuk mengembangkan sistem korelasi deret waktu, sehingga pekerjaan untuk menganalisis sesuatu dapat terdistribusikan ke seluruh pekerja dengan beban kerja yang rata dan hasil yang cepat.

Selain itu, Python juga biasanya digunakan untuk tugas otomatisasi, eksplorasi, data cleaning, dan visualisasi.

4. Keamanan informasi

Tim Keamanan Informasi Netflix menggunakan Python untuk kebutuhan, seperti berikut:

  • Otomatisasi keamanan
  • Klasifikasi risiko
  • Perbaikan otomatis
  • Identifikasi kerentanan
  • Perlindungan sumber daya SSH (Secure Shell)
  • Penyetelan izin identifikasi dan manajemen akses
  • Pembuatan sertifikat TLS (Transport Layer Security)
  • Deteksi data sensitif
  • Netflix juga menyediakan kerangka kerja batch yang disebut Prism, yang membantu engineer keamanan mengukur faktor risiko dalam kode sumber.

Proyek Python dalam keamanan informasi salah satunya ada pada Security Monkey– Library Netflix open-source untuk memantau AWS, Google Cloud Platform, OpenStack, dan GitHub untuk perubahan aset.

5. Peringatan dan Perbaikan Otomatis

Tim ini dikenal sebagai Tim Insight Engineering yang bertanggung jawab untuk membangun dan mengoperasikan tools yang dapat memberikan peringatan, diagnosa, dan perbaikan otomatis. Semua pekerjaan itu juga ditulis oleh Python, salah satu library Python yang digunakan adalah spectator Python client.

Library Python ini digunakan untuk merekam dimensi time series atau deret waktu. Hal ini berguna untuk membantu mempelajari data masa lampau, sehingga dapat dipelajari faktor-faktor penyebab perubahan untuk pertimbangan perencanaan di masa yang akan datang. Untuk membantu dalam peramalan (forecasting) sebagai peringatan jika akan terjadi masalah atau gangguan sistem.

Netflix juga membangun library Python untuk berinteraksi dengan platform Netflix lainnya, seperti bolt dan Winston (Platform untuk mendiagnosa suatu permasalahan secara otomatis) yang juga dibuat menggunakan framework Python (Gunicorn + Flask + Flask-RESTPlus).

6. Animasi Netflix dan NVFX

Python menjadi bahasa pemrograman standar Netflix untuk banyak aplikasi utama yang Netflix gunakan, untuk membuat konten animasi dan VFX misalnya. VFX atau Visual FX adalah singkatan dari visual effects atau efek visual. Elemen yang kira-kira sukar dimunculkan dalam kamera melalui rekaman langsung, dapat direkam menggunakan visual effects dengan melakukan manipulasi digital pada tahap pasca produksi.

Leave a Reply

×

Konsultasikan dengan kami

Kami akan menjelaskan lebih lanjut mengenai pelatihan kami

× Ada pertanyaan?