Tugas Pertemuan 11 PPL - Estimasi Kapasitas Sistem

Nama Akmal Sulthon Fathulloh
NRP 5025211047
Kelas PPL - A

Estimasi kapasitas dalam desain sistem adalah proses memprediksi atau menentukan beban atau permintaan maksimum yang dapat ditangani oleh sebuah sistem dalam parameter operasionalnya. Hal ini melibatkan analisis berbagai aspek seperti kemampuan perangkat keras, kinerja perangkat lunak, bandwidth jaringan, dan pola perilaku pengguna. Tujuannya adalah untuk memastikan bahwa sistem dapat mengakomodasi beban kerja yang diharapkan tanpa mengalami penurunan kinerja, kemacetan, atau kegagalan. Estimasi kapasitas sangat penting untuk merancang dan menskalakan sistem secara efektif untuk memenuhi kebutuhan saat ini dan di masa depan, baik itu situs web, infrastruktur jaringan, atau sistem kompleks lainnya. Pada pertemuan ke-11 ini, kita diminta untuk meninjau sebuah aplikasi, kemudian melakukan estimasi kapasitas sistem yang dibutuhkan untuk mendukung aplikasi tersebut sehingga aplikasi bisa berjalan dengan baik.

Jurnal Referensi

Berikut adalah jurnal/artikel yang saya jadikan sebagai referensi.
https://medium.com/@karan99/system-design-netflix-6962b4f6222

Skenario

Netflix merupakan layanan streaming berbasis langganan yang memungkinkan anggotanya menonton acara TV dan film di perangkat yang terkoneksi internet. Netflix tersedia di platform seperti web, iOS, Android, TV, dan lainnya.

Estimasi Kapasitas

Estimasi Trafik

Netflix menjadi sistem yang read-heavy bagi para penggunanya. Misalkan, kita memiliki 1 miliar pengguna dengan 200 juta pengguna aktif harian, dan rata-rata setiap penggunanya menonton 5 video tiap harinya. Maka, total permintaan harian yang harus ditangani oleh sistem adalah sebagai berikut.

\[ \text{Total Permintaan Harian} = \text{Pengguna Aktif Harian} \times \text{Video yang Ditonton Setiap Pengguna} \] \[ \text{Total Permintaan Harian} = 200 \space juta \times 5 = 1 \space miliar \]

Dengan asumsi rasio baca/tulis, sekitar 50 juta video akan diunggah setiap harinya.

\[ \frac{1}{200} \times 1 \space miliar = 50 \space juta/hari \]

Maka dari itu, request per detik (RPS) yang harus ditangani oleh sistem adalah sebagai berikut.

\[ \text{RPS} = \frac{\text{Total Permintaan Harian}}{\text{Jumlah Detik dalam Sehari}} \] \[ \text{RPS} = \frac{1 \space miliar}{24 \space jam \times 60 \space menit \times 60 \space detik} \approx 11.574 \]

Estimasi Penyimpanan

Jika kita asumsikan setiap video rata-rata berukuran 100 MB, maka kita memerlukan penyimpanan sekitar 5 PB setiap harinya.

\[ 50 \space juta \times 100 \space MB = 5 \space PB \]

Dan untuk 10 tahun, maka kita membutuhkan penyimpanan sekitar 18,25 EB.

\[ 5 \space PB \times 365 \times 10 = 18,25 \space EB \]

Estimasi Bandwidth

Karena sistem kita akan menangani masuknya 5 PB setiap hari, kami memerlukan bandwidth minimum sekitar 58 GB per detik.

\[ \frac{5 \space PB \times 8}{24 \times 60 \times 60} \approx 58 \space GB/s \]

High-Level Estimation

Berikut adalah estimasi kapasitas sistem yang dibutuhkan untuk mendukung aplikasi Netflix.

Parameter Estimasi
Pengguna Aktif Harian 200 juta
Requests/detik (RPS) ~12K /detik
Penyimpanan (per hari) ~5 PB
Penyimpanan (10 tahun) ~18,25 EB
Bandwidth 58 GB/s

Referensi

https://kuliahppl.blogspot.com/2024/05/estimasi-kapasistas-system.html
https://www.geeksforgeeks.org/capacity-estimation-in-systems-design/

Komentar

Postingan populer dari blog ini

Tugas Pertemuan 15 PBKK - Membuat Aplikasi dengan Google Apps Script

Tugas Pertemuan 2 PPL - Identifikasi Proses PPL

Tugas Pertemuan 5 PPL - High Level Design