Tugas 7 - Perancangan Perangkat Lunak (A)

Nama      : Yusna Millaturrosyidah

NRP        : 5025211254

Kelas      : Perancangan Perangkat Lunak (A)

Komponen Desain Sistem

Deskripsi

Komponen-komponen desain sistem termasuk dalam proses pengembangan yang mencakup penentuan kebutuhan sistem, pembentukan arsitektur yang melibatkan komponen-komponen utama seperti load balancer, serta rancangan detil yang merinci implementasi dan pengujian sistem. Load balancer, sebagai salah satu komponen sistem, bertanggung jawab untuk mendistribusikan permintaan atau beban kerja secara efisien di antara beberapa server. Fungsinya sangat penting dalam memastikan bahwa sistem dapat menangani jumlah permintaan yang besar tanpa mengalami overloading pada server tertentu, serta memastikan bahwa semua sumber daya tersedia digunakan secara optimal untuk meningkatkan kinerja dan keandalan sistem secara keseluruhan.

Jenis - Jenis Load Balancer

Ada beberapa jenis load balancer yang umum digunakan, tergantung pada kebutuhan spesifik dari sistem tersebut.

Layer 4 Load Balancer 


Load balancing Layer-4 beroperasi di lapisan transport dari model OSI (Open Systems Interconnection). Lapisan ini bertanggung jawab terutama untuk komunikasi end-to-end. Load balancer Layer-4 membuat keputusan berdasarkan informasi yang diterima dari lapisan transport, dengan fokus utama pada pengalihan lalu lintas berdasarkan data jaringan tanpa memeriksa isi dari paket data sebenarnya. Oleh karena itu, mereka berfungsi seperti petugas lalu lintas yang efisien yang mengarahkan paket data berdasarkan "addresses" mereka (IP dan port) tanpa memperhatikan isi dari paket tersebut. Ini membuat mereka cepat dan efisien untuk distribusi lalu lintas dasar, tetapi membatasi kemampuan mereka untuk membuat keputusan routing yang lebih terperinci. 

Layer-4 digunakan ketika performa adalah prioritas utama karena Layer-4 beroperasi di lapisan transport dan membuat keputusan hanya berdasarkan alamat IP dan port, sehingga pemrosesannya lebih cepat dan latensinya lebih rendah. Ini sangat ideal untuk skenario lalu lintas tinggi dan aplikasi yang fokus pada kecepatan mentah, seperti DNS, streaming video, dan server game. Layer-4 juga lebih sederhana, menggunakan algoritma yang lebih mudah dan membutuhkan daya komputasi lebih sedikit, sehingga lebih mudah dikelola dan diterapkan. Selain itu, perangkat keras dan perangkat lunak Layer-4 cenderung lebih murah, membuatnya menjadi pilihan yang hemat biaya untuk kebutuhan load balancing dasar.

Layer 7 Load Balancer 



Load balancing Layer-7 beroperasi di lapisan aplikasi dari model OSI. Lapisan ini bertanggung jawab untuk menyediakan layanan jaringan langsung kepada pengguna akhir dan mencakup protokol seperti HTTP, HTTPS, dan SMTP. Load balancer Layer-7 membuat keputusan routing berdasarkan data spesifik aplikasi seperti isi dari paket data, header HTTP, URL, dan cookie. Hal ini memungkinkan Load Balancing Layer-7 untuk melakukan distribusi lalu lintas yang lebih cerdas dan sadar konteks karena load balancer memiliki pemahaman yang lebih dalam tentang struktur aplikasi. Dengan demikian, lapisan aplikasi (Layer-7) memungkinkan Load Balancing Layer-7 membuat keputusan routing yang lebih cerdas dibandingkan dengan load balancing Layer-4.

Layer-7 digunakan ketika kesadaran aplikasi diperlukan karena load balancer Layer-7 memiliki visibilitas mendalam ke dalam lalu lintas aplikasi dan dapat membuat keputusan load balancing yang cerdas berdasarkan kriteria spesifik aplikasi. Layer-7 dapat mengarahkan permintaan ke server backend tertentu berdasarkan konten permintaan, seperti URL, header HTTP, atau payload pesan, memungkinkan strategi routing yang lebih canggih. Selain itu, Layer-7 dapat mempertahankan afinitas sesi atau sesi lengket dengan mengasosiasikan permintaan klien dengan server backend tertentu berdasarkan pengenal sesi, cookie, atau atribut level aplikasi lainnya.

Global Load Balancer

Global server load balancing (GSLB) adalah praktik mendistribusikan web and application traffic ke berbagai server di lokasi yang berbeda untuk meningkatkan kinerja jaringan, meningkatkan keandalan, dan mencapai ketersediaan tinggi. Dengan mengarahkan traffic ke server yang paling tidak padat atau yang paling dekat dengan pengguna, GSLB memungkinkan waktu respons yang lebih cepat dan lebih andal untuk pengalaman pengguna yang lebih baik. Global load balancer menentukan server yang optimal dengan menerapkan aturan yang mempertimbangkan faktor-faktor seperti latensi jaringan, kedekatan geografis, status server, kondisi jaringan saat ini, kapasitas server, dan parameter tambahan lainnya.

GSLB bergantung pada jaringan server yang tersebar di seluruh dunia untuk mengarahkan traffic dan menyeimbangkan beban kerja. Ketika pengguna meminta akses ke situs web atau konten dari server, server GSLB menentukan server atau pusat data mana yang harus melayani konten atau menyediakan layanan berdasarkan algoritma load balancing yang cerdas. Global load balancer menghitung server terbaik berdasarkan aturan yang mempertimbangkan latensi jaringan, kedekatan geografis, ketersediaan server, kondisi jaringan, beban server, dan kriteria lainnya. Setelah server yang paling sesuai dipilih, global load balancer mengarahkan permintaan pengguna ke server tersebut dengan mengembalikan alamat IP dari server yang dipilih dalam respons DNS.

Solusi GSLB menggunakan berbagai metode traffic management untuk mendistribusikan traffic di seluruh dunia. Beberapa solusi GSLB menggunakan beberapa metode load balancing untuk memberikan respons yang lebih kuat, antara lain : 

  1. DNS load balancing sering mengandalkan sistem nama domain (DNS) untuk mendistribusikan lalu lintas secara cerdas ke beberapa server atau pusat data. Ketika pengguna memulai permintaan server DNS, sistem GSLB merespons permintaan DNS dengan alamat IP untuk server berdasarkan strategi load balancing. Strategi ini termasuk round-robin, di mana permintaan berturut-turut dikirim ke server yang berbeda, dan teknik cerdas yang menganalisis berbagai faktor untuk menentukan server mana yang dapat menangani permintaan dengan baik.
  2. IP anycast adalah layanan routing yang memungkinkan beberapa server berbagi satu alamat IP. Ketika permintaan ke alamat IP bersama diterima, GSLB mengarahkan traffic ke server terdekat untuk memberikan load balancing otomatis.
  3. BGP-based load balancing menggunakan protokol routing Border Gateway Protocol (BGP) untuk mengarahkan traffic berdasarkan ketersediaan jaringan atau lokasi server.
  4. Content Delivery Networks (CDN) menggunakan teknik GSLB untuk mengarahkan pengguna ke server optimal dalam CDN, sebuah jaringan server yang terdistribusi yang menyimpan dan mengirimkan konten kepada pengguna akhir dari server terdekat.
  5. Global traffic managers sering kali merupakan perangkat keras atau perangkat lunak yang memantau kesehatan dan kinerja server atau pusat data dan mendistribusikan lalu lintas berdasarkan algoritma load balancing yang telah ditentukan.
  6. Geographic load balancing mengarahkan traffic ke alamat IP yang paling dekat dengan pengguna untuk mengurangi latensi dan meningkatkan waktu respons.

Application Load Balancer


Application load balancers (ALB) adalah load balancer khusus yang dirancang untuk bekerja dengan jenis aplikasi atau protokol tertentu, seperti HTTP atau HTTPS. ALB beroperasi di lapisan aplikasi (Layer 7) dari model OSI dan ideal untuk menyeimbangkan lalu lintas HTTP dan HTTPS. ALB secara cerdas mengarahkan permintaan ke berbagai instance EC2 berdasarkan aturan tertentu, memungkinkan load balancing yang lebih maju dan routing berbasis konten. Application Load Balancers menawarkan beberapa fitur penting lainnya seperti : 
  1. Content Based Routing : ALB dapat mengarahkan traffic berdasarkan konten spesifik dari permintaan, seperti URL, header HTTP, atau jenis metode HTTP (GET, POST, dll.). Ini memungkinkan pengelolaan traffic yang lebih cerdas dan penyesuaian yang lebih baik untuk kebutuhan aplikasi tertentu.
  2. Enhanced Security : ALB mendukung terminasi SSL/TLS, yang berarti dapat mendekripsi lalu lintas HTTPS sebelum meneruskannya ke server backend. Ini membantu meningkatkan keamanan dengan mengurangi beban enkripsi pada server backend.
  3. Integration with AWS : Untuk pengguna AWS, ALB terintegrasi dengan layanan AWS lainnya, seperti Auto Scaling, yang memungkinkan penyesuaian otomatis kapasitas server berdasarkan kebutuhan lalu lintas. ALB juga bekerja baik dengan Amazon ECS untuk penyeimbangan beban pada kontainer.
  4. Monitoring and Logging : ALB menyediakan berbagai alat monitoring dan logging, seperti AWS CloudWatch dan AWS CloudTrail, untuk melacak performa dan aktivitas lalu lintas. Ini membantu dalam memantau kesehatan aplikasi dan mendeteksi masalah lebih awal.
  5. Support for Microservices : ALB sangat cocok untuk arsitektur berbasis mikroservis, di mana setiap layanan dapat diakses melalui URL atau jalur yang berbeda. Ini memungkinkan pengembangan dan penyebaran layanan secara independen.
Dengan semua fitur ini, Application Load Balancers memberikan fleksibilitas dan kontrol yang lebih besar dalam mengelola lalu lintas aplikasi, memastikan kinerja yang optimal dan pengalaman pengguna yang lebih baik.

Referensi :

Komentar

Postingan Populer