Tugas 7 PPL - A

Nama : Tsabita Putri Ramadhany

NRP : 5025211130

Kelas : PPL - A


Tugas 7

Komponen Desain Sistem


Tugas : Menjelaskan Komponen Desain Sistem

Petunjuk Tugas : https://kuliahppl.blogspot.com/2024/05/komponen-desain-sistem.html


Komponen Desain Sistem

Komponen desain sistem mencakup berbagai elemen fundamental yang diperlukan untuk merancang dan mengembangkan suatu sistem. Komponen ini mencakup arsitektur, basis data, antarmuka pengguna, protokol komunikasi, dan langkah-langkah keamanan. Setiap komponen memiliki peran spesifik dalam memastikan bahwa sistem berfungsi dengan baik, aman, dan efisien.

Komponen Utama dalam Desain Sistem:

  1. Arsitektur Sistem:

    • Menentukan struktur tinggi sistem, termasuk komponen utama, hubungan antar komponen, dan aliran informasi. Desain arsitektur dapat menggunakan pola-pola seperti monolitik, berlapis (layered), microservices, dan SOA (Service-Oriented Architecture)​ (Swimm)​​ (Crio)​.
  2. Desain Basis Data:

    • Mencakup perancangan skema basis data, normalisasi tabel, dan strategi penyimpanan data. Ini termasuk konsep-konsep seperti sharding, replikasi basis data, dan pengaturan konsistensi (strong consistency dan eventual consistency)​ (CompleteDesignInterviewCourse.com)​.
  3. Antarmuka Pengguna (User Interface):

    • Merancang antarmuka yang intuitif dan user-friendly, yang mencakup elemen visual seperti tombol, menu, dan form. Desain UI yang baik meningkatkan pengalaman pengguna dan memastikan interaksi yang lancar dengan sistem​ (Crio)​.
  4. Protokol Komunikasi:

    • Menentukan aturan dan konvensi untuk pertukaran data antar komponen atau sistem yang berbeda. Protokol ini penting untuk memastikan bahwa data dapat ditransmisikan dengan akurat dan efisien​ (Crio)​.
  5. Keamanan (Security):

    • Melibatkan implementasi langkah-langkah untuk melindungi data dan sistem dari ancaman eksternal dan internal. Ini termasuk enkripsi, autentikasi, kontrol akses, dan audit untuk memastikan integritas dan kerahasiaan data​ (CompleteDesignInterviewCourse.com)​.

Load Balancer

Load balancing adalah teknik yang digunakan untuk mendistribusikan lalu lintas jaringan atau beban kerja ke beberapa server. Tujuannya adalah untuk mengoptimalkan penggunaan sumber daya, memaksimalkan throughput, dan meminimalkan waktu respons, serta untuk memastikan bahwa tidak ada satu server pun yang terbebani secara berlebihan. Load balancing sangat penting untuk menjaga performa dan ketersediaan aplikasi web yang memiliki banyak pengguna.

Manfaat Load Balancing


  1. Pendistribusian Traffic: Load balancing mendistribusikan beban kerja secara merata di antara semua server yang tersedia. Hal ini mencegah terjadinya kelebihan beban pada satu server tunggal yang dapat mengakibatkan penurunan kinerja atau downtime.

  2. Mengurangi Downtime dan Meningkatkan Performa: Dengan mendistribusikan lalu lintas secara efisien, load balancing membantu memastikan bahwa situs web atau aplikasi tetap dapat diakses meskipun terjadi lonjakan traffic. Ini meningkatkan pengalaman pengguna secara keseluruhan.

  3. Meningkatkan Fleksibilitas: Load balancing memungkinkan pemeliharaan server tanpa mempengaruhi ketersediaan layanan. Jika satu server tidak aktif, lalu lintas dapat dialihkan ke server lain yang tersedia, sehingga tidak ada gangguan pada layanan.

Jenis Load Balancing

1. Round Robin

Metode ini mendistribusikan traffic secara berurutan ke setiap server dalam daftar. Jika ada tiga server, traffic akan diarahkan ke server pertama, kedua, dan ketiga secara berulang.

  • Keuntungan:
    • Sederhana dan mudah diimplementasikan.
  • Kekurangan:
    • Tidak memperhitungkan beban masing-masing server, yang dapat menyebabkan beberapa server kelebihan beban sementara yang lain tidak.

2. Least Connection

Metode ini mengarahkan traffic ke server dengan koneksi aktif paling sedikit. Ini efektif dalam mengelola beban kerja secara dinamis.

  • Keuntungan:
    • Mengoptimalkan distribusi beban berdasarkan jumlah koneksi.
  • Kekurangan:
    • Asumsi bahwa semua koneksi memerlukan sumber daya yang sama, yang mungkin tidak selalu benar.

3. Least Response Time

Metode ini mengarahkan traffic ke server dengan waktu respons tercepat dan koneksi aktif terkecil.

  • Keuntungan:
    • Mengoptimalkan waktu respons untuk pengguna.
  • Kekurangan:
    • Memerlukan pemantauan waktu respons secara real-time, yang dapat menambah kompleksitas.

4. Least Bandwidth

Traffic didistribusikan ke server yang memiliki penggunaan bandwidth paling kecil, diukur dalam Mbps.

  • Keuntungan:
    • Efektif dalam mengelola penggunaan bandwidth.
  • Kekurangan:
    • Memerlukan pemantauan penggunaan bandwidth secara terus-menerus.

5. IP Hash

Server tujuan ditentukan berdasarkan alamat IP dari paket masuk. Ini memastikan bahwa permintaan dari alamat IP yang sama selalu diarahkan ke server yang sama.

  • Keuntungan:
    • Berguna untuk sesi yang membutuhkan persistensi.
  • Kekurangan:
    • Kurang fleksibel dalam mendistribusikan beban secara merata.

Cara Kerja Load Balancing

  1. Pengguna mengirimkan permintaan ke server load balancing: Ketika pengguna mengakses aplikasi atau situs web, permintaan mereka pertama-tama diterima oleh server load balancing.

  2. Server load balancing memeriksa status server: Load balancer memeriksa apakah server tujuan aktif dan mengevaluasi beban kerja pada setiap server.

  3. Distribusi traffic: Berdasarkan analisis status dan jenis algoritma load balancing yang digunakan, load balancer mendistribusikan traffic ke server yang paling sesuai. Proses ini dilakukan secara real-time untuk memastikan kinerja yang optimal dan menghindari kelebihan beban pada satu server.

Teknologi Load Balancing

1. Load Balancer Berbasis Perangkat Keras (Hardware Load Balancers)

Hardware load balancers adalah perangkat fisik yang digunakan untuk mendistribusikan traffic ke beberapa server. Mereka biasanya digunakan di lingkungan data center untuk menangani volume traffic yang besar dan memberikan kinerja yang tinggi.

  • Keuntungan:
    • Kinerja tinggi dan dapat menangani traffic yang besar.
    • Stabil dan dapat diandalkan.
    • Mendukung banyak fitur canggih seperti SSL offloading dan caching.
  • Kekurangan:
    • Biaya yang tinggi untuk pembelian dan pemeliharaan.
    • Kurang fleksibel dibandingkan dengan solusi berbasis perangkat lunak.

2. Load Balancer Berbasis Perangkat Lunak (Software Load Balancers)

Software load balancers adalah aplikasi yang diinstal pada server dan digunakan untuk mendistribusikan traffic. Mereka dapat diinstal pada server fisik atau virtual dan sering digunakan dalam lingkungan cloud atau virtualisasi.

  • Keuntungan:

    • Fleksibilitas tinggi dan mudah diintegrasikan dengan sistem lain.
    • Lebih murah dibandingkan dengan perangkat keras.
    • Dapat diukur dan disesuaikan dengan kebutuhan.
  • Kekurangan:

    • Tergantung pada kinerja server tempat perangkat lunak diinstal.
    • Mungkin tidak seefisien perangkat keras dalam menangani traffic yang sangat besar.

3. Load Balancer Berbasis Cloud (Cloud Load Balancers)

Cloud load balancers adalah layanan yang disediakan oleh penyedia cloud seperti AWS, Google Cloud, dan Azure. Mereka memungkinkan distribusi traffic ke server di berbagai lokasi geografis dan menawarkan skalabilitas yang tinggi.

  • Keuntungan:

    • Skalabilitas tinggi dan fleksibilitas.
    • Biaya operasional yang lebih rendah karena tidak memerlukan perangkat keras.
    • Integrasi yang mudah dengan layanan cloud lainnya.
  • Kekurangan:

    • Ketergantungan pada penyedia layanan cloud.
    • Biaya dapat meningkat seiring dengan penggunaan dan skala.

Load balancing merupakan komponen krusial dalam infrastruktur TI modern, memastikan aplikasi tetap responsif dan tersedia bagi pengguna di seluruh dunia. Dengan menggunakan berbagai jenis algoritma load balancing, organisasi dapat mengoptimalkan kinerja dan keandalan layanan mereka.

Komentar

Postingan populer dari blog ini

Tugas 1 PPL - A

Tugas 10 PPL - A

Tugas 10 PPB - B