EAS - Model Bisnis Perusahaan

Tugas Pertemuan 11 - Estimasi Kapasitas System

Nama  : Ken Anargya Alkausar

NRP    : 5025211168

Kelas   : A

Capacity Estimation WhatsApp Estimasi kapasitas dalam desain sistem adalah proses memprediksi atau menentukan beban maksimum atau permintaan yang dapat ditangani oleh suatu sistem dalam parameter operasionalnya. Proses ini melibatkan analisis berbagai aspek seperti kemampuan perangkat keras, kinerja perangkat lunak, lebar pita jaringan, dan pola perilaku pengguna. Tujuannya adalah untuk memastikan bahwa sistem dapat mengakomodasi beban kerja yang diharapkan tanpa mengalami penurunan kinerja, hambatan, atau kegagalan. Estimasi kapasitas sangat penting untuk merancang dan mengembangkan sistem secara efektif agar dapat memenuhi permintaan saat ini dan di masa mendatang, baik itu untuk situs web, infrastruktur jaringan, atau sistem kompleks lainnya

Pernahkah Anda berpikir tentang bagaimana aplikasi pesan yang sangat populer ini bekerja di balik layar? Artikel ini adalah panduan Anda untuk memahami desain sistem WhatsApp. Mulai dari menangani ribuan pesan hingga memastikan obrolan Anda aman, kami akan menjelajahi aspek teknis yang menjaga aplikasi ini berjalan dengan lancar. Kami juga akan membahas cara mengelola data, menjaga privasi pesan Anda, dan tantangan memastikan teks Anda tiba dengan cepat.

Estimasi Kapasitas Penyimpanan
Setiap hari, sekitar 100 miliar pesan dibagikan melalui WhatsApp, dan setiap pesan rata-rata memakan 100 byte.
100 miliar pesan/hari * 100 byte = 10 TB/hari

Untuk 30 hari, kapasitas penyimpanan akan menjadi sebagai berikut:
30 * 10 TB/hari = 300 TB/bulan

Estimasi Bandwidth
Berdasarkan estimasi kapasitas penyimpanan, layanan kita akan mendapatkan 10 TB data setiap hari, memberikan kita bandwidth sebesar 926 Mb/s.
10 TB/86400 detik ≈ 926 Mb/s

Estimasi Jumlah Server
WhatsApp menangani sekitar 10 juta koneksi pada satu server, yang tampaknya cukup tinggi untuk sebuah server.
Jumlah server = Total koneksi per hari / Jumlah koneksi per server = 2 miliar / 10 juta = 200 server
Jadi, menurut estimasi di atas, kita memerlukan 200 server obrolan.

Persyaratan Fungsional
  1. Percakapan: Sistem ini harus memungkinkan pengguna untuk melakukan percakapan satu lawan satu serta percakapan dalam grup.
  2. Konfirmasi Pengiriman: Sistem ini harus memiliki fitur konfirmasi pengiriman pesan, seperti status terkirim, diterima, dan dibaca.
  3. Berbagi Konten: Sistem harus mendukung berbagi file media, termasuk gambar, video, dan audio.
  4. Penyimpanan Pesan: Sistem harus mampu menyimpan pesan secara persisten saat pengguna tidak online hingga pesan berhasil diterima oleh penerima.
  5. Notifikasi Push: Sistem harus dapat memberikan notifikasi kepada pengguna yang sedang offline ketika ada pesan baru setelah mereka kembali online.
Persyaratan Non-Fungsional
  1. Latensi Rendah: Sistem harus mampu memberikan pesan dengan latensi yang sangat rendah.
  2. Konsistensi Pengiriman: Pesan harus diterima dalam urutan yang sama dengan saat dikirim.
  3. Ketersediaan Tinggi: Sistem harus selalu tersedia dengan baik. Namun, prioritas utama tetap pada konsistensi meskipun ketersediaan dapat terganggu.
  4. Keamanan: Sistem harus sangat aman dengan menggunakan enkripsi end-to-end, sehingga hanya pengirim dan penerima yang dapat membaca isi pesan, dan tidak ada pihak ketiga, termasuk WhatsApp, yang dapat mengaksesnya.
  5. Skalabilitas Tinggi: Sistem harus mampu mendukung pertumbuhan jumlah pengguna dan pesan yang terus meningkat setiap harinya.

Referensi:

https://kuliahppl.blogspot.com/2024/05/estimasi-kapasistas-system.html

https://www.geeksforgeeks.org/capacity-estimation-in-systems-design/

https://www.geeksforgeeks.org/designing-whatsapp-messenger-system-design/



Comments