Tugas Pertemuan 10 PPL

Nama : Frederick Yonatan Susanto

NRP : 5025211121

Kelas : PPL A

Tahun Ajaran : 2023/2024 (Genap)

    Pada pertemuan kesepuluh di kelas PPL A, kita diminta untuk menggambarkan topologi atau struktur dari masing-masing tipe load balancer yang ada, serta mencari aplikasi jenis apa yang cocok untuk diimplementasikan oleh masing-masing load balancer tersebut. 


Apa itu Load Balancing?
    Load balancing adalah suatu cara yang dilakukan untuk mendistribusikan traffic atau lalu lintas jaringan ke beberapa server. Sehingga setiap server yang menjadi tujuan tidak akan mendapatkan beban berlebih.
    Website yang populer biasanya memiliki tingkat kunjungan yang tinggi dalam satu satuan waktu. Apabila server mengalami kelebihan beban diluar dari kemampuannya, nantinya server tersebut bisa down sehingga website menjadi tidak bisa diakses. 
    Untuk mengantisipasi kelebihan beban di server, maka salah satu alternatifnya adalah dilakukan setup Load Balancing.


Manfaat Load Balancing
    Setelah memahami apa itu Load balancing, selanjutnya kami akan menjelaskan beberapa manfaat load balancing yang bisa Anda dapatkan.
  • Pendistribusian TrafficDengan Load Balancing, beban tiap server dapat dibuat merata. Sehingga dengan cara ini setiap server tidak akan mendapatkan beban berlebih. 
  • Mengurangi Downtime dan meningkatkan performaTraffic yang terdistribusi dengan baik, membuat website tetap bisa diakses dengan baik, walau terjadi lonjakan traffic.
  • Meningkatkan FleksibilitasAnda dapat melakukan pemeliharaan server, tanpa perlu khawatir website tidak bisa diakses. Server load balancing akan mendeteksi server yang menjadi tujuannya.

A. Load Balancer Layer 4


Layer 4 Load Balancer (Transport Layer)

- Fungsi: Mengatur lalu lintas berdasarkan informasi pada protokol transport seperti IP address sumber dan tujuan serta nomor port TCP/UDP.

- Topologi:

  - Penerapan: Ditempatkan di antara pengguna dan server backend.

  - Skema: Client -> Layer 4 Load Balancer -> Server Pool

  - Cara Kerja: Meneruskan paket berdasarkan aturan routing statis atau dinamis tanpa memeriksa payload aplikasi.

- Pengaplikasian:

  - Manfaat: Skalabilitas dan kinerja tinggi, ideal untuk aplikasi yang membutuhkan kecepatan transfer data tinggi seperti layanan web hosting.

  - Contoh Penggunaan: Untuk mengatur lalu lintas web atau aplikasi yang tidak memerlukan inspeksi mendalam paket.

- Kelebihan:

  - Kinerja tinggi dengan latensi rendah karena tidak perlu memproses isi paket.

  - Mendukung protokol selain HTTP/HTTPS, seperti FTP, SMTP, dan database.

  - Skalabilitas tinggi karena dapat menangani jumlah koneksi yang besar.

- Kekurangan:

  - Tidak dapat melakukan routing berdasarkan konten aplikasi (misalnya URL atau header HTTP).

  - Kurang fleksibel untuk kebutuhan aplikasi yang kompleks dan dinamis.

  - Tidak dapat menyediakan fitur SSL termination atau inspeksi keamanan mendalam.


B. Load Balancer Layer 7


Layer 7 Load Balancer (Application Layer)

- Fungsi: Mengatur lalu lintas berdasarkan konten aplikasi HTTP/HTTPS seperti URL, cookie, header, atau metode HTTP.

- Topologi:

  - Penerapan: Ditempatkan di antara pengguna dan server aplikasi.

  - Skema: Client -> Layer 7 Load Balancer -> Application Servers

  - Cara Kerja: Memproses permintaan HTTP/HTTPS, memungkinkan routing yang lebih cerdas seperti pengalihan berdasarkan URL atau metode HTTP.

- Pengaplikasian:

  - Manfaat: Mengoptimalkan distribusi beban, meningkatkan pengalaman pengguna dengan pemahaman konteks aplikasi.

  - Contoh Penggunaan: E-commerce, situs web dinamis, layanan berbasis cloud yang membutuhkan routing spesifik aplikasi.

- Kelebihan:

  - Dapat melakukan routing cerdas berdasarkan konten aplikasi.

  - Mendukung SSL termination, offloading enkripsi dari server backend.

  - Dapat mengatur lalu lintas berdasarkan metode HTTP, cookie, header, dan lebih banyak parameter aplikasi.

- Kekurangan:

  - Lebih kompleks dan memerlukan lebih banyak sumber daya untuk memproses lalu lintas.

  - Latensi lebih tinggi dibandingkan Layer 4 Load Balancer karena memerlukan inspeksi mendalam paket.

  - Tidak dapat menangani protokol non-HTTP/HTTPS.


C. Global Load Balancer


Global Load Balancer

- Fungsi: Mengatur lalu lintas antar data center yang tersebar di berbagai lokasi geografis, memberikan ketersediaan tinggi dan redundansi.

- Topologi:

  - Penerapan: Terletak di tingkat DNS atau sebagai layanan cloud global.

  - Skema: Client -> Global Load Balancer -> Regional Load Balancers -> Local Servers

  - Cara Kerja: Mengarahkan pengguna ke data center terdekat atau paling responsif berdasarkan berbagai metrik seperti latensi, beban, atau kebijakan geo-routing.

- Pengaplikasian:

  - Manfaat: Memastikan ketersediaan layanan global, mengurangi latensi, dan meningkatkan kinerja dengan mengarahkan pengguna ke lokasi server yang optimal.

  - Contoh Penggunaan: Layanan global seperti Google, Amazon, Facebook yang melayani pengguna dari berbagai belahan dunia.

- Kelebihan:

  - Ketersediaan tinggi dengan redundansi geografis.

  - Mengurangi latensi pengguna dengan mengarahkan ke data center terdekat.

  - Dapat menyesuaikan beban lintas lokasi data center berdasarkan kapasitas dan kesehatan.

- Kekurangan:

  - Lebih kompleks dalam pengelolaan dan konfigurasi.

  - Bergantung pada kecepatan dan keandalan DNS untuk routing.

  - Bisa memerlukan biaya lebih tinggi untuk penyediaan dan pemeliharaan.


D. Application Load Balancer


Application Load Balancer (ALB)

- Fungsi: Sebuah subtipe dari Layer 7 Load Balancer yang lebih fokus pada aplikasi web dengan dukungan untuk protokol HTTP/HTTPS.

- Topologi:

  - Penerapan: Bagian dari arsitektur aplikasi yang menyediakan berbagai endpoint aplikasi.

  - Skema: Client -> Application Load Balancer -> Microservices/Containerized Applications

  - Cara Kerja: Memahami dan memproses HTTP/HTTPS requests secara mendalam, mendukung modern web application framework seperti microservices dan container.

- Pengaplikasian:

  - Manfaat: Mendukung fitur-fitur seperti pemantauan kesehatan aplikasi, SSL termination, URL-based routing, dan WebSocket.

  - Contoh Penggunaan: Aplikasi berbasis microservices seperti yang dijalankan pada AWS ECS atau Kubernetes, di mana setiap layanan aplikasi perlu diarahkan secara spesifik.

- Kelebihan:

  - Dapat menangani routing kompleks berdasarkan URL, metode HTTP, dan header.

  - Mendukung modern aplikasi arsitektur seperti microservices dan container.

  - Menyediakan SSL termination, offloading enkripsi dari aplikasi backend.

- Kekurangan:

  - Memerlukan lebih banyak sumber daya untuk inspeksi mendalam.

  - Kompleksitas lebih tinggi dalam konfigurasi dan manajemen.

  - Tidak mendukung protokol non-HTTP/HTTPS.


Dengan detail ini, kita dapat lebih memahami perbedaan masing-masing jenis load balancer, serta kelebihan dan kekurangan mereka, sehingga dapat memilih yang paling sesuai dengan kebutuhan spesifik aplikasi atau layanan yang dikelola.


Referensi:

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

https://www.dyncond.com/what-is-global-server-load-balancing-gslb/

https://x.com/ProgressiveCod2/status/1734111700172120281

https://trailhead.salesforce.com/content/learn/modules/aws-application-deployment-and-monitoring/distribute-traffic-with-elastic-load-balancing



Comments

Popular posts from this blog

EAS PPB

Tugas Pertemuan 11 PPB

Tugas Pertemuan 1 PPB