Akankah Linux Container generasi berikutnya membuat penyeimbang beban menjadi kacau?

· 3 min read
Akankah Linux Container generasi berikutnya membuat penyeimbang beban menjadi kacau?
Photo by Taylor Vick / Unsplash

Infrastruktur TI modern harus sangat fleksibel seiring dengan bertambahnya dan berkurangnya beban pada server, situs, dan database sepanjang hari. Infrastruktur cloud dimaksudkan untuk mempermudah penskalaan dengan melakukan outsourcing dan mengkomoditisasi kapasitas komputasi Anda secara efektif sehingga, secara teori, Anda dapat menghidupkan dan mematikannya dengan mudah. Namun, sebagian besar pendekatan terhadap penyediaan server cloud masih didasarkan pada gagasan bahwa Anda memiliki “instance” server berukuran tetap, yang menawarkan infrastruktur dalam blok besar yang masing-masing harus disediakan dan kemudian dikonfigurasi untuk bekerja bersama. Artinya, penskalaan infrastruktur Anda tidak hanya sekedar memiliki keran yang praktis, namun lebih seperti menentukan berapa banyak botol air yang Anda perlukan.

Ada pendekatan tradisional untuk memastikan semua contoh ini bekerja secara efisien dan serempak (sehingga botol-botol air tersebut tidak mengering atau tergenang); salah satu alat yang lebih populer untuk manajemen kapasitas cloud saat ini adalah penyeimbang beban. Faktanya, penyeimbang beban sering kali dibeli bersamaan dengan infrastruktur cloud Anda. Penyeimbang beban berada di depan server Anda dan mengarahkan lalu lintas secara efisien ke berbagai instance server cloud Anda. Untuk melanjutkan analoginya, ini memastikan semua orang meminum isi botol yang Anda beli, menggunakan setiap botol secara merata, dan tidak ada yang haus. Jika infrastruktur Anda mengalami lebih banyak beban daripada yang harus ditangani oleh instans Anda, penyeimbang beban akan melakukan panggilan API ke penyedia hosting awan Anda dan lebih banyak server yang dibeli dan ditambahkan ke instans yang tersedia di klaster. Setiap instance memiliki ukuran tetap dan Anda memulai lebih banyak, atau menutup beberapa, sesuai kebutuhan. Ini dikenal sebagai penskalaan horizontal.

Teknologi virtualisasi yang ada juga memungkinkan server individual untuk diskalakan secara vertikal setelah reboot. Satu instance dapat diubah ukurannya, saat reboot, untuk mengakomodasi peningkatan beban. Ini seperti beralih dari sebotol kecil air ke demijohn berukuran 5 galon ketika Anda mengetahui bahwa muatannya akan bertambah. Namun, seringnya me-reboot server bukanlah suatu pilihan di dunia yang ketersediaannya konstan saat ini, sehingga sebagian besar manajemen kapasitas saat ini dilakukan dengan menambahkan server, bukan mengubah ukurannya.

Namun, ada banyak tantangan dengan pendekatan penskalaan horizontal tradisional dalam menjalankan beberapa server di belakang penyeimbang beban. Situasi saat ini dimana server tambahan harus dikerahkan untuk menangani lonjakan beban berarti kompleksitas yang lebih besar bagi mereka yang harus mengelola infrastruktur, biaya yang lebih besar karena harus meningkatkan seluruh server pada satu waktu, dan kinerja yang buruk ketika beban berubah secara tiba-tiba dan server tambahan tidak dapat dimulai dengan cukup cepat. Karena daya komputasi disediakan dalam langkah-langkah besar ini, namun beban bervariasi secara dinamis dan terus-menerus, hal ini berarti perusahaan sering kali harus membayar untuk menjaga sumber daya tambahan tetap siaga jika terjadi lonjakan beban. Misalnya, jika Anda memiliki server cloud tradisional sebesar 8 GB yang saat ini hanya menjalankan perangkat lunak sebesar 2 GB, Anda tetap akan membayar untuk kapasitas yang disediakan sebesar 8 GB. Angka-angka industri menunjukkan bahwa server cloud pada umumnya mungkin memiliki rata-rata kapasitas 50% atau lebih yang mahal, namun menganggur, selama periode 24/7 penuh.

Perkembangan terkini pada kernel Linux telah menghadirkan alternatif menarik terhadap pendekatan ini. Kemampuan baru dari kernel Linux, khususnya namespace dan grup kontrol, memungkinkan munculnya containerisasi untuk server cloud Linux dalam persaingan dengan virtualisasi tradisional. Isolasi berbasis container, seperti Linux Containers (, berarti bahwa sumber daya server dapat dibagi secara lancar agar sesuai dengan beban pada instance yang terjadi, memastikan efisiensi biaya dengan tidak pernah berlebihan atau kekurangan penyediaan. Tidak seperti virtualisasi tradisional, server cloud Linux dalam container tidak melakukan booting pada ukuran tetap, melainkan server individual tumbuh dan menyusut secara dinamis dan otomatis sesuai dengan beban saat sedang berjalan.Elastic Containers dan Docker), LXC.

Tentu saja, ada ketentuan tertentu dalam teknologi baru ini. Pertama, seperti yang ada saat ini, host Linux hanya dapat menjalankan server cloud berbasis Linux. Selain itu, manfaat dari tidak memerlukan penyeimbang beban sama sekali paling relevan untuk server yang berskala dengan sumber daya dari satu server host fisik yang besar. Sistem yang sangat besar yang perlu melakukan penskalaan lebih dari ini masih memerlukan pengelompokan dengan beban seimbang, namun juga masih dapat memperoleh manfaat dari penskalaan vertikal semua server di kluster tersebut.

Oleh karena itu, penskalaan vertikal server dalam container dapat menangani beban yang bervariasi tanpa perlu memperkirakan persyaratan sebelumnya, menulis panggilan API, atau, dalam banyak kasus, mengonfigurasi cluster dan menyediakan penyeimbang beban. Sebaliknya, perusahaan hanya membayar sumber daya yang mereka gunakan, pada saat dan kapan mereka menggunakannya. Kembali ke analogi kami, ini berarti Anda cukup mengaktifkan tap pada sumber daya host Linux. Hal ini merupakan lompatan besar dalam mengkomoditisasi komputasi awan dan membawanya lebih dekat ke utilitas nyata seperti gas, listrik, dan air.