Tugas 7 PPL - Komponen Desain Sistem
Nama : I Gusti Ngurah Ervan Juli Ardana NRP : 5025211205 Kelas : Perancangan Perangkat Lunak A Tahun : 2024
Komponen Desain Sistem
Komponen desain sistem adalah elemen-elemen yang membentuk suatu sistem dan membantu merancang struktur serta fungsionalitas dari sistem tersebut. Desain sistem adalah proses menentukan arsitektur, modul, antarmuka, dan data yang digunakan dalam sistem untuk memenuhi kebutuhan dan persyaratan tertentu. Dari beberapa komponen yang ada salah satunya terdapat load balancers. Load balancer adalah komponen penting dalam desain sistem yang bertanggung jawab untuk mendistribusikan beban kerja atau lalu lintas jaringan secara merata di antara beberapa server atau sumber daya komputasi. Tujuan utamanya adalah untuk meningkatkan kinerja, keandalan, dan ketersediaan aplikasi atau layanan. Pada pertemuan mata kuliah kali ini, kita ditugaskan 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.
Load Balancer Fundamental
Sebelum kita melangkah lebih jauh, penting untuk memahami dasar-dasar dari tiga teknik utama untuk menentukan solusi load balancing yang paling sesuai untuk masalah yang akan kita selesaikan. Secara umum, Layer 4 mungkin bagus untuk kinerja, dan Layer 7 sangat fleksibel, tetapi semuanya memiliki kekurangan dan kelebihan masing masing. Load balancing adalah istilah yang digunakan untuk menggambarkan kemampuan perangkat untuk secara efektif dan efisien mendistribusikan lalu lintas di seluruh kelompok server, atau server farm (juga dikenal sebagai backend servers). Perangkat itu sendiri dapat diterapkan sebagai perangkat keras, virtual (misalnya VMware, HyperV, KVM, Nutanix, dan XEN), atau di cloud (misalnya Amazon, Azure, dan GCP). Dengan memanfaatkan pasangan yang dikelompokkan, load balancer dapat menjamin aplikasi yang sangat tersedia dan responsif dengan mencegah server menjadi kelebihan beban, sehingga menghindari titik kegagalan tunggal. Biasanya ada tiga teknik inti load balancing yang dapat digunakan: Layer 4, Layer 7 (mengacu pada lapisan model OSI), Global Server Load Balancing (GSLB), Application Load Balancing (ALB). Masing-masing metode memiliki kelebihan dan kekurangannya sendiri. Mari kita lihat perbedaanya lebih lanjut
Pembagian Jenis Load Balancer
Layer 4
Pada Layer 4, load balancer bertindak seperti firewall. Ia mengarahkan koneksi antara server dan klien berdasarkan informasi sederhana seperti alamat IP dan port, ditambah dengan pemeriksaan kesehatan. Layer Transport ini mengelola koneksi end-to-end. Layer 4 menangani kontrol aliran dan kesalahan, komunikasi data antara perangkat, sistem, dan host. Data di sini dipecah menjadi segmen sebelum dikirim ke Layer 3, kemudian disusun kembali untuk data sesi di Layer 5.
Kontrol aliran dengan cerdas menentukan kecepatan transmisi data dan jumlah target untuk pengiriman, memastikan bahwa pengirim dengan koneksi yang lebih cepat tidak membebani penerima dengan koneksi yang lebih lambat. Protokol yang digunakan termasuk nomor port TCP dan UDP (sementara Layer 3 adalah tempat alamat IP bekerja).
Ada beberapa jenis load balancing di Layer 4 (misalnya mode DR Layer 4, mode NAT Layer 4, mode SNAT Layer 4, dan mode TUN Layer 4). Sebagai contoh, penerapan mode DR Layer 4 dijelaskan di bawah ini:
Perhatikan bahwa Kemp, Brocade, Barracuda, dan A10 Networks menyebut ini sebagai Direct Server Return, sementara F5 menyebutnya N-Path. Hal paling penting yang perlu diketahui tentang load balancing Layer 4 adalah bahwa server aplikasi melakukan semua pekerjaan, dan mereka membentuk koneksi langsung dengan klien yang cepat, transparan, dan mudah dipahami. Namun, mereka perlu aman, skalabel, dan menangani semua permintaan lalu lintas sesuai yang diharapkan. Jika aplikasi agak lama dan tidak dapat menangani pengguna yang berpindah antar server di cluster dengan benar, maka kita mungkin memerlukan beberapa fitur yang ditawarkan oleh load balancer Layer 7. Maka dari itu, Load Balancer Layer 4 sangat sesuai untuk aplikasi yang tidak membutuhkan analisis data mendalam, contohnya aplikasi yang menggunakan protokol TCP/UDP standar.
Layer 7
Layer 7 bertindak sebagai reverse proxy, yang berarti ia mampu mempertahankan dua koneksi TCP (satu dengan server, dan satu dengan klien). Lapisan Aplikasi ini berinteraksi langsung dengan pengguna akhir. Layer 7 menyadari aplikasi dan mendukung komunikasi untuk proses dan aplikasi pengguna akhir, serta penyajian data untuk aplikasi perangkat lunak yang berhadapan dengan pengguna (misalnya, web, komunikasi email). Perlu dicatat bahwa ini bukan tempat aplikasi perangkat lunak klien itu sendiri berada — sebaliknya, ini membentuk koneksi dengan aplikasi melalui Lapisan bawah untuk menyajikan data dengan cara yang bermakna bagi pengguna akhir. Protokol yang digunakan termasuk HTTP, FTP, SMTP, dan SNMP.
Pada Layer 7, load balancer memiliki lebih banyak informasi untuk membuat keputusan load balancing yang cerdas, karena informasi tentang protokol tingkat atas tersedia, seperti FTP, HTTP, HTTPS, DNS, RDP, dll. Namun, Layer 7 juga memiliki profil risiko keamanan yang lebih besar dan menggunakan lebih banyak sumber daya daripada load balancing Layer 4. Namun, dengan perangkat keras saat ini, kinerja sebenarnya bukan masalah lagi. Jadi, Layer 7 biasanya menjadi pilihan default untuk sebagian besar konfigurasi yang saya temui, karena umumnya berfungsi dengan baik sejak awal — karena server dapat berada di jaringan mana saja yang dapat di-routing. Namun, saya pribadi sering menggunakannya dalam kombinasi dengan Layer 4 dan GSLB, untuk memanfaatkan bagian terbaik dari setiap teknik untuk bagian spesifik dari aplikasi. Maka dari itu, Load Balancer Layer 7 merupakan pilihan ideal untuk aplikasi web yang memerlukan routing berbasis konten atau autentikasi pengguna.
Global Load Balancer
Global Server Load Balancing (GSLB) mengacu pada distribusi lalu lintas di seluruh sumber daya server yang terletak di beberapa lokasi, seperti beberapa pusat data. Dengan kata lain, ini adalah load balancing dengan DNS yang cerdas. Arsitektur contoh dijelaskan di bawah ini:
Di sini, jika terjadi masalah atau pemeliharaan di salah satu pusat data, semua lalu lintas pengguna dialihkan dengan mulus ke pusat data lainnya, memastikan ketersediaan tinggi dari sistem penyimpanan.
Lalu lintas pengguna eksternal didistribusikan di kedua pusat data aktif, berdasarkan penilaian cerdas waktu nyata dari node yang akan memberikan kinerja terbaik untuk setiap pengguna. Sedangkan, Lalu lintas pengguna internal tetap di situs lokal untuk alasan kinerja kecuali terjadi kegagalan, dan kemudian langsung dan mulus dialihkan ke situs lain. Ini disebut routing berbasis topologi dan didasarkan pada perbedaan alokasi subnet antara pusat data. Maka dari itu, Untuk aplikasi yang memiliki basis pengguna global dan membutuhkan ketersediaan layanan yang tinggi, seperti layanan streaming video atau platform e-commerce internasional, Load Balancer Global adalah opsi yang sangat cocok.
Application Load Balancer
Application Load Balancer (ALB) adalah bagian dari layanan Elastic Load Balancing yang secara otomatis mendistribusikan lalu lintas masuk ke berbagai target seperti instansi EC2, container, dan alamat IP di satu atau beberapa Availability Zones. ALB memonitor kesehatan target yang terdaftar dan hanya mengarahkan lalu lintas ke target yang sehat. Ini meningkatkan ketersediaan aplikasi Anda. Anda dapat menambahkan satu atau lebih "listeners" ke load balancer Anda. Setiap "listener" memeriksa permintaan koneksi dari klien menggunakan protokol dan port yang Anda konfigurasi.
ALB berfungsi di lapisan aplikasi, yaitu lapisan ketujuh dari model Open Systems Interconnection (OSI). Setelah menerima permintaan, ALB mengevaluasi aturan "listener" sesuai dengan prioritas untuk menentukan aturan mana yang akan diterapkan, dan kemudian memilih target dari "target group" untuk tindakan aturan tersebut. terdapat beberapa karakteristik dari Application Load Balancers :
Routing Berbasis Konten: ALB dapat mengarahkan lalu lintas berdasarkan konten aplikasi, seperti header HTTP, jalur URL, atau jenis konten. Ini memungkinkan pengalihan lalu lintas yang lebih cerdas dan fleksibel sesuai dengan kebutuhan aplikasi Anda.
Skalabilitas Otomatis: ALB dapat secara otomatis menyesuaikan kapasitasnya sesuai dengan perubahan dalam lalu lintas aplikasi. Ini memastikan ketersediaan dan kinerja yang optimal tanpa perlu intervensi manual.
Listener Rules: ALB memungkinkan konfigurasi aturan "listener" yang kompleks untuk mengarahkan lalu lintas berdasarkan kondisi yang ditentukan, seperti jalur URL, header HTTP, atau metode permintaan. Ini memberikan fleksibilitas dalam mengelola dan mengarahkan lalu lintas aplikasi.
Protokol dan Port yang Fleksibel: Anda dapat mengonfigurasi ALB untuk mendukung berbagai protokol dan port, termasuk HTTP, HTTPS, TCP, dan UDP. Ini memungkinkan penggunaan ALB untuk berbagai jenis aplikasi dan layanan.
Dengan karakteristik-karakteristik ini, ALB menjadi pilihan yang kuat untuk mengelola lalu lintas aplikasi dengan cara yang efisien, scalable, dan andal di lingkungan cloud. Maka dari itu dapat kita simpulkan Application Load Balancers cocok digunakan untuk aplikasi web kompleks yang membutuhkan inspeksi mendalam, memerlukan routing berbasis konten atau memerlukan integrasi dengan platform container orchestration.
Kesimpulan
Memilih jenis load balancer yang tepat sangat penting untuk memastikan kinerja optimal dan kebutuhan spesifik dari aplikasi. Load Balancer Layer 4 cocok untuk aplikasi sederhana, Layer 7 mendukung aplikasi web kompleks, Load Balancer Global ideal untuk aplikasi dengan jangkauan internasional dan kebutuhan ketersediaan tinggi, dan Application Load Balancers cocok digunakan untuk aplikasi web kompleks yang membutuhkan inspeksi mendalam. Yang terpenting adalah bahwa ketiga teknik ini sebenarnya sangat baik saat digabungkan satu sama lain — bahkan, mereka bekerja lebih baik bersama-sama
Referensi : 1. Load Balancers: Layer 4 vs Layer 7 | by Aman Kanojiya | Medium
2. Comparing Layer 4, Layer 7, and GSLB techniques
3. What is an Application Load Balancer?
Komentar
Posting Komentar