1. Dua pendekatan Scaling Servers:
a. Multiple Smaller Server:
- Penambahan server untuk skalabilitas
- Paling umum dilakukan dengan web servers.
b. Sedikit Server Lebih Besar Untuk Penambahan Internal Resources
- Penambahan processors, memory, and disk space
- Paling umum dilakukan dengan database servers.

Gambar 58. Scaling pada Jaringan
2. Dimana Menggunakan Scalability
- Pada jaringan
- Pada individual server
- Meyakinkan kapasitas suatu jaringan sebelum scaling dengan menambahkan server.
3. Pendekatan Scalability
3.1 Aplikasi Service Provider
- Scale up: menggantikan server dengan server yang lebih besar
- Scale out: penambahan extra servers.
3.2 Pendekatan
3.2.1 Farming
- Farm, yaitu mengumpulkan semua server, aplikasi, dan data pada site khusus.
- Farms mempunyai service khusus (misalnya : directory, security, http, mail, database dll).
3.2.2 Cloning

Gambar 8. Cloning
Suatu service yang dapat me-cloning pada beberapa replika nodes, dimana setiap node mempunyai software dan data yang sama.
Cloning menawarkan scalability and availability.
Jika salah satu overloaded, sistem load-balancing dapat digunakan untuk mengalokasikan kerja diantara duplikat tsb
Jika salah satu gagal, yang lain akan meneruskan layanan.
3.2.3 RACS (Reliable Array of Cloned Services)
1. Mengumpulkan clones dari layanan khusus.
2. Shared-tanpa RACS:
- Setiap clone diduplikat pada storage locally
- Updates harus diaplikasikan pada semua clone storage.
3. Shared-disk RACS (cluster)
- Semua clones di share pada storage manager
- Storage server bisa mentoleransi error/kesalahan.
3.2.4 Partition

Gambar 59. Partition
1. Perkembangan layanan melalui:
- Duplikasi hardware and software
- Membagi data diantara node (oleh obyek), misal: mail server oleh mail box.
2. Bisa diapplikasikan untuk transparents
3. requests untuk layanan partisi diroutingkan untuk partisi data yang relevan
4. Tidak meningkatkan availability
5. Penyimpanan data hanya pada satu tempat
6. Partisi diimplementasikan untuk mengemas dua node atau lebih akses ke storage meningkat.
4. Pencapaian Scalability
Untuk mencapai scalabilitas, diskusi yang berikut membandingkan suatu solusi nonload-balanced yang ada, yang berisi single system ( single point dari kegagalan) pada level aplikasi, untuk solusi yang sangat scalable untuk mengatur pencapaian dan meningkatkan availability.
5. Level Non-Load Balancing
Pada awalnya, suatu organisasi mungkin memulai dengan suatu arsitektur yang mungkin sesuai dengan pencapaian harapan awal. Seperti peningkatan beban, level aplikasi harus disesuaikan dengan peningkatan beban untuk pencapaian maintain yang diharapkan.

Gambar 60. Level Aplikasi Server (sumber: ibm.com)
Pada gambar, level aplikasi berisi hanya satu aplikasi server ( Appserver20), Yang melayani request dari client. Jika server menjadi overload, maka solusi yang akan diambil adalah mencapai level yang tersedia atau menjadi tidak tersedia.
6. Level Load Balancing
Untuk meningkatkan scalabilitas dan untuk pencapaian maintain, suatu organisasi mungkin menggunakan suatu load balancer untuk meluaskan level suatu aplikasi. Contoh yang berikut, seperti yang ditunjukkan gambar, ditambahkan dua server pada level aplikasi untuk menciptakan load-balanced cluster, yang mengakses data dari level data dan menyediakan aplikasi access untuk client pada sisi client.

Gambar 61. Level Load Balancing
Hasilnya adalah desain standard load-balanced. Baik peralatan hardware maupun software yang running pada mesin yang ditugaskan pada virtual hostname (Appserver20) dan suatu IP address untuk Appserver1, Appserver2, dan Appserver3.
Load-balanced mengekspos virtual IP address dan host name pada jaringan dan menyeimbangkan beban dari request yang datang sekali melewati server yang stabil pada suatu group. Jika Appserver1 gagal, request hanya diarahkan pada Appserver2 Atau Appserver3. Tergantung teknologi yang digunakan untuk menyediakan kemampuan ini, pada jumlah tertentu, server dapat ditambahkan load-balanced cluster untuk memaksimalkan scalabilitas dan tinggal menunggu peningkatan yang diinginkan.
7. Kesimpulan
Load Balancing adalah proses distribusi beban terhadap sebuah servis yang ada pada sekumpulan server atau perangkat jaringan ketika ada permintaan dari pengguna. Maksudnya adalah ketika sebuah sever sedang diakses oleh para pengguna, maka server tersebut sebenarnya sedang dibebani kerena harus melakukan proses terhadap permintaan para penggunanya. Jika penggunanya banyak, maka proses yang dilakukan juga menjadi banyak. Sistem load balancing sebenarnya dapat dibuat dengan banyak cara. Pembuatannya tidak terikat oleh sebuah operating system saja, atau hanya dapat dibuat oleh sebuah perangkat saja. Namun secara garis besar cara pembuatan sistem load balancing terbagi menjadi tiga kategori besar yaitu DNS round robin, Integrated load balancing dan Dedicated load balancing. Beberapa keuntungan dari penerapan load balancing antara lain menjamin reliabilitas servis serta scalability dan avability.
8. SOAL
- Apakah yang dimaksud dengan load balancing? Jelaskan!
- Jelaskan tiga kategori besar dalam mewujudkan sistem load balancing!
- Jelaskan macam algoritma yang digunakan pada load balancing!
- Jelaskan cara kerja load balancing!
- Sebutkan keuntungan menggunakan scalability dan load balancing.