High Availability pada Cloud Computing dengan Teknik Load Balancing

Availability memegang posisi yang penting dalam cloud computing. Layanan dalam cloud computing dapat sewaktu-waktu mati dikarenakan penggunaan sumber daya yang berlebihan melebihi dari kapasitas sistem yang disebabkan oleh penggunaan normal maupun serangan denial of service. Secara singkat definisi availability adalah proses optimasi kesiapan dari sistem produksi yang dapat secara akurat mengukur, melakukan analisa, dan mengurangi terjadinya penghentian dari kinerja sistem produksi. Dengan kata lain availability bertujuan untuk memastikan sistem selalu berjalan/ berproduksi sesuai fungsinya. Untuk mencapai tujuan tersebut perlu adanya Analisa terhadap informasi penggunaan sumber daya, prediksi pola penggunaan sumber daya kedepan, dan penggunaan sumber daya yang skalabel (elastis) dimana sumber daya dapat meningkatkan kapasitasnya sesuai kebutuhan (Zenon, Venkatesh, & Shahrzad, 2011).

High availability adalah desain dari lingkungan produksi yang dapat meminimalisir kegagalan dimana ada sistem lain yang dapat menggantikan sehingga proses produksi tidak terganggu . Kondisi lingkungan dengan high availability disebut juga Fault-tolerant dimana setiap komponen di dalam sistem memiliki duplikat yang secara otomatis dapat menjadi pengganti (backup) komponen lainnya yang mengalami kegagalah (fault).

Di dalam cloud metode load balancing diterapkan untuk memastikan ketersediaan layanan dengan meminimalisir penggunaan  sumber daya perangkat lunak dan perangkat keras . Di dalam artikel ini akan dibahas mengenai load balancing dalam cloud computing untuk menunjang availability dari sistem yang berjalan, dimana peran load balancing dapat berfungsi sebagai penyeimbang beban penggunaan terhadap sumber daya yang ada.

Penerapan load balancing dan klasterisasi database dalam beberapa availability zones dapat mengurangi kemungkinan gangguan pada layanan sistem. Jika terjadi gangguan pada suatu komponen dalam sistem, load balancing dapat mengalihkan permintaan ke sumber daya lain yang tersedia (Durkee, 2010).  Metode load balancing dalam cloud computing  dapat memaksimalkan ketersediaan sumber daya dengan meminimalisir jumlah downtime pada sistem.

Cloud Computing

Cloud computing telah menjadi salah satu paradigma IT yang paling mutakhir dalam beberapa tahun terakhir. Dengan banyaknya kemajuan dalam industri TI selama beberapa dekade terakhir dikembangkanlah metode komputasi yang dapat menghadirkan peluang signifikan bagi organisasi untuk mempersingkat waktu dan mengurangi biaya. Dengan cloud computing, organisasi dapat menggunakan komputasi dan penyimpanan secara bersama-sama dalam jaringan cloud. Cloud computing adalah gaya komputasi yang memiliki kemampuan skalabilitas dan elastisitas yang tinggi sehingga dapat memberikan layanan kepada user dengan lebih baik.

Load Balancing

Load balancing adalah metode baru yang memfasilitasi jaringan dan sumberdaya dengan menyediakan throughput maksimum namun dengan waktu respon minimum (R. Shimonski., 2003). Load balancing bekerja dengan membagi beban traffic yang akan diterima oleh beberapa server,sehingga data dapat ditransmisikan dengan waktu yang cepat. Load balancing umumnya diaplikasikan dengan arsitektur multi server sehingga  dapat memberikan distribusi traffic secara merata sehingga sistem dapat berjalan dengan baik.

Gambar 1. Algoritma load balancing (Zenon et al., 2011)

Contoh pengaplikasian load balancing adalah dalam sistem website, tanpa load balancing pengunjung website dapat mengalami gangguan berupa delay, timeout, bahkan hang. Ada banyak algoritma yang umum digunakan dalam Load balancing, namun klasifikasinya dapat kita bagi dalam 2 jenis yaitu Algoritma Statis dan Dinamis.

1.    Load Balancing dengan Algoritma Statis

Pada teknik load balancing dengan algoritma statis beban traffic dibagi secara sama rata di setiap server, algoritma ini dikenal dengan nama round robin. Pengembangan algoritma ini dikenal dengan nama weighted round robin dimana terdapat penambahan sistem pembobotan  dimana setiap server telah ditentukan nilai kemampuannya sehingga server yang memiliki nilai bobot lebih tinggi akan lebih banyak menerima beban untuk diproses.

2.    Load Balancing dengan Algoritma Dinamis

Load Balancing dengan algoritma dinamis bekerja dengan menentukan beban yang tepat pada server dengan cara mencari pada seluruh jaringan server yang paling efektif akan dipilih untuk menyeimbangkan beban. Keseluruhan operasi ini berjalan secara dinamis dan real-time.

Dengan melakukan perbandingan antara kedua algoritma ini maka didapatkan temuan, meskipun algoritma round robin memiliki metode yang lebih sederhana, kinerja server ternyata lebih banyak terbebani dan terdeteksi bahwa terdapat traffic yang tidak seimbang (Tong & Zhu, 2010). Dilain pihak metode algoritma dinamis  membuat prediksi didasarkan pada query yang dikirimkan secara real-time pada server, sehingga memiliki performa yang lebih baik, namun hal ini juga membutuhkan waktu komputasi yang cukup signifikan.

Load balancing dalam Cloud Computing

Cloud computing pada umumnya menggunakan metode load balancing secara otomatis, yang memungkinkan entitas server untuk meningkatkan jumlah processor dan atau memorinya untuk sesuai dengan kebutuhan yang meningkat. Load balancer melayani dua kebutuhan penting, yaitu mempromosikan ketersediaan sumber daya cloud dan  untuk mempromosikan kinerja cloud itu sendiri.

Salah satu aplikasi load balancing adalah Elastis Load Balancing (ELB) pada layanan cloud computing Amazon Web service (“Elastic Load Balancing,” n.d.). ELB bekerja secara otomatis mendistribusikan lalu lintas aplikasi yang masuk di beberapa instance Amazon Elastic Cloud Compute (EC2) . Sehingga memungkinkan bagi sistem untuk mencapai toleransi kesalahan yang lebih besar dalam aplikasi, menyeimbangkan kapasitas yang diperlukan sebagai respons terhadap lalu lintas aplikasi yang masuk. Elastic Load Balancing mendeteksi kejadian yang komponen sistem yang tidak berjalan dengan baik dan secara otomatis merutekan ulang lalu lintas ke instance yang sehat hingga instance yang tidak sehat dapat dipulihkan.

Gambar 2. Arsitektur high availability cloud computing dengan elastic load balancer

ELB mengharuskan pengelola sistem untuk menentukan lebih dari satu availability zone sehingga dapat mendistribusikan lalu lintas masuk melintasi target di beberapa availability zone. Aplikasi Load Balancer secara otomatis mengukur kapasitas penanganan permintaannya sebagai respons terhadap lalu lintas aplikasi yang masuk.

Didalam artikel ini telah dibahas mengenai penerapan teknik load balancing serta berbagai model dan algoritma yang bisa diterapkan dalam load balancer sehingga mendapatkan peningkatan performa yang baik dalam pemanfaatan sumber daya dan availability dalam lingkungan cloud-computing.

Referensi

Durkee, D. (2010). Why cloud computing will never be free. Communications of the ACM, 53(5), 62. https://doi.org/10.1145/1735223.1735242

Elastic Load Balancing. (n.d.). Retrieved from https://aws.amazon.com/elasticloadbalancing/

  1. Shimonski. (2003). Windows 2000 & Windows Server 2003 Clustering and Load Balancing. Emeryville. McGraw-Hill Professional Publishing, CA, USA (2003), 2.

Tong, R., & Zhu, X. (2010). A Load Balancing Strategy Based on the Combination of Static and Dynamic. In 2010 2nd International Workshop on Database Technology and Applications (pp. 1–4). https://doi.org/10.1109/DBTA.2010.5658951

Zenon, C., Venkatesh, M., & Shahrzad,  a. (2011). Availability and Load Balancing in Cloud Computing. International Conference on Computer and Software Modeling IPCSIT Vol.14 (2011) IACSIT Press, Singapore, 14, 134–140. https://doi.org/10.1109/TST.2013.6449405

Disajikan:

Aris Ariyadi

Antoni Wibowo