Tugas 8 - Perancangan Perangkat Lunak (A)

Nama      : Yusna Millaturrosyidah

NRP        : 5025211254

Kelas      : Perancangan Perangkat Lunak (A)

Estimasi Kapasistas System


Estimasi kapasitas dalam desain sistem adalah proses memprediksi atau menentukan beban atau permintaan maksimum yang dapat ditangani oleh suatu sistem dalam parameter operasionalnya. 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 menampung beban kerja yang diharapkan tanpa mengalami penurunan kinerja, hambatan, atau kegagalan. Estimasi kapasitas sangat penting untuk merancang dan mengembangkan sistem agar dapat memenuhi permintaan saat ini dan di masa depan, baik itu situs web, infrastruktur jaringan, atau sistem kompleks lainnya.

Deskripsi Studi Kasus

YouTube adalah platform berbagi video terbesar dengan miliaran pengguna aktif. Sistem ini menangani upload, penyimpanan, pemrosesan, dan streaming video dalam skala besar, serta menyediakan fitur-fitur seperti pencarian video, komentar, dan rekomendasi. Untuk memahami kebutuhan kapasitas sistem YouTube, kita dapat melihat pada beberapa aspek utama seperti estimasi trafik, penyimpanan, dan bandwidth.

Traffic Estimation

Asumsi :
  • Pengguna Aktif Per Bulan: 2 miliar
  • Pengguna Aktif Per Hari: 400 juta
  • Rata-rata Permintaan Pengguna Per Hari: 10
Perhitungan :
Total Permintaan Harian :
400,000,000 ×10 = 4,000,000,000 permintaan/hari
Permintaan Per Detik :
400,000,000 / 86,400 ≈ 46,296 permintaan/detik

Storage Estimation

Asumsi :
  • Ukuran Video Rata-rata: 100 MB
  • Video diunggah per hari: 500,000
Perhitungan :
Penyimpanan Harian :
500,000×100 MB=50,000,000 MB=50 TB/hari
Penyimpanan Tahunan :
50 TB/hari×36518,250 TB/tahun18.25 PB/tahun

Bandwidth Estimation

Asumsi :
  • Rata-rata Pengunduhan per Pengguna per Hari: 250 MB
  • Rata-rata Pengunggahan per Pengguna per Hari: 50 MB
Perhitungan :
Total Pengunduhan Harian :
400,000,000×250 MB=100,000,000,000 MB=100,000 TB
Total Pengunggahan Harian :
500,000×100 MB=50,000,000 MB=50 TB
Total Bandwidth Harian :
100,000 TB+50 TB=100,050 TB

High-Level Estimation


Komponen Utama
  • Clients: Pengguna yang mengakses dan mengunggah video.
  • Video Storage (BLOB): Penyimpanan video dalam format mentah dan terkompresi.
  • Transcoding Server: Mengonversi video ke berbagai format dan resolusi.
  • API Server: Menangani permintaan API dari klien.
  • Web Server: Menyajikan konten web kepada pengguna.
  • CDN (Content Delivery Network): Mengoptimalkan distribusi konten video.
  • Load Balancer: Mengatur distribusi beban antar server.
  • Metadata Storage: Penyimpanan informasi video dan pengguna.
  • Metadata Cache: Cache untuk mempercepat akses metadata.
Rincian Proses Utama
  • Pengunggahan Video: Pengguna mengunggah video yang kemudian dikodekan dan disimpan.
  • Pemutakhiran Metadata: Pembaruan informasi video seperti judul, deskripsi, dan tag.
  • Streaming Video: Pengguna menonton video yang diambil dari CDN atau server penyimpanan video.
Optimasi
  • Menggunakan CDN untuk video populer.
  • Sharding metadata untuk meningkatkan kinerja.
  • Strategi caching untuk mengurangi beban pada server utama.
  • Manajemen bencana dengan pusat data yang tersebar secara geografis.
Kesimpulannya, YouTube menghadapi tuntutan trafik, penyimpanan, dan bandwidth yang sangat besar setiap hari. Untuk menjaga kinerja sistem dalam skala besar seperti ini, optimasi infrastruktur dan pengelolaan sumber daya sangat penting. Dengan menggunakan teknologi seperti CDN, caching, dan sharding, YouTube dapat memastikan pengalaman pengguna yang lancar dan responsif di seluruh dunia.

Komentar

Postingan Populer