Penghitung beban peranti penangkap lunak vs peranti lunak: Hanya masalah biaya?

26

Jika biaya tidak menjadi masalah, apakah akan ada manfaat dalam menggunakan penyeimbang beban perangkat lunak untuk lalu lintas web dibandingkan dengan perangkat keras?

timmy
sumber

Jawaban:

33

Perbedaan antara load balancers "perangkat keras" dan "perangkat lunak" tidak lagi berarti. Load balancer yang disebut "perangkat keras" adalah CPU kelas PC, antarmuka jaringan dengan kemampuan pemrosesan paket, dan beberapa perangkat lunak untuk mengikat semuanya. Sebuah penyeimbang beban "perangkat lunak" yang direalisasikan pada server yang baik dengan NIC modern adalah ... sama.

Apa yang Anda dapatkan dari penawaran komersial kelas atas seperti F5 atau Citrix Netscaler adalah:

  • Kumpulan fitur yang kaya dan mendalam. Solusi mereka matang dan dapat dengan cepat menangani semua kebutuhan umum dan beberapa yang tidak biasa juga.
  • Statistik yang sangat baik. Jenis manajemen menyukai statistik, dan teknisi jaringan menyadari bahwa statistik juga dapat berguna dalam pemecahan masalah.
  • Satu vendor tersedak ketika sesuatu tidak berfungsi, yaitu mendukung kontrak langsung dengan vendor solusi.
  • Biaya gaji lebih rendah. Alat ini sebagian besar hanya berfungsi, dan mengelolanya tidak memakan waktu berjam-jam.

Dengan penyeimbang beban perangkat lunak (sumber terbuka) adalah Anda tidak mendapatkan yang sebaliknya, apa yang Anda dapatkan tergantung pada perangkat lunak yang Anda pilih dan bagaimana Anda melakukannya. Yang mengatakan, biasanya Anda akan melihat:

  • Waktu yang lebih lama untuk menyiapkan solusi awal. Terutama jika Anda membutuhkan lebih dari sekedar load balancing, caching fx + penulisan ulang konten + HA, maka menyiapkan perangkat lunak open source membutuhkan lebih banyak jam.
  • Anda membangunnya, Anda memilikinya. Jika perusahaan Anda membuat penyeimbang beban perangkat lunak sumber terbuka dengan teknisi internal, maka Anda 100% bertanggung jawab atas solusinya. Dokumentasi, jalur peningkatan, pemulihan bencana, dll. Semuanya perlu dipertimbangkan dan mungkin dilaksanakan oleh Anda .

Perbedaannya tidak benar-benar pada "perangkat keras" versus "perangkat lunak". Itu ada di "beli tumpukan teknologi yang terbukti sebagai alat" versus "bangun sendiri". Tentu saja ada banyak variabel yang perlu dipertimbangkan ketika membuat keputusan akhir (biaya, keahlian internal, toleransi untuk downtime, pertumbuhan di masa depan dll).

Jesper M
sumber
2
Poin bagus, tetapi tentu saja ada loadbalancers berbasis ASIC (F5 / ACE / ..?) Yang menangani 'banyak' dalam prosesor terdistribusi, bukan di CPU. Saya juga ikut pertanyaan manhours, terutama jika biaya pakar-jam untuk melakukan setup.
Joris
Anda menyebutkan ini secara singkat, tetapi saya pikir harus ditekankan bahwa dengan penyeimbang beban HW, Anda biasanya mendapatkan kontrak dukungan yang dapat Anda manfaatkan kapan saja terjadi kesalahan. Terkadang ini menjadi faktor penentu bagi bisnis ke arah mana harus pergi.
vmfarms
@ James, @vmfarms Poin bagus, saya setuju. Mendapatkan semua poin yang lebih baik dengan tepat akan membutuhkan pengetikan novel kecil. :-)
Jesper M
Jawaban yang bagus, Namun Barracuda Networks, Loadbalancer.org dan Kemp Technologies menjual ribuan perangkat keras / lunak / virtual ke situs yang sangat besar. Anda sangat jarang membutuhkan lebih dari stack open source Linux / LVS yang didukung yang mereka berikan ... Jangan salah paham tumpukan Citrix & F5 jauh lebih baik tetapi untuk 95% aplikasi yang tidak relevan. Saya menulis sebuah blog tentang cara membandingkan load balancers di sini: loadbalancer.org/blog/…
Malcolm turnbull
2

Penyeimbang beban perangkat keras biasanya memiliki serangkaian fitur yang lebih kaya, terutama ketika Anda mencapai yang besar seperti F5. Anda juga mendapat manfaat tambahan dari skalabilitas yang lebih besar karena pembongkaran perangkat keras.

Di sisi lain, jika Anda tahu lalu lintas Anda tidak akan terlalu tinggi, penyeimbang beban perangkat lunak sebenarnya berkinerja cukup baik. Jika Anda dapat melakukannya karena memiliki Layer 4 LB, Linux LVS + Keepalived adalah pilihan yang sangat bagus. Jika Anda membutuhkan kekuatan dari Layer 7 LB, Anda dapat mencobanya.

Jadi secara ringkas, HW LBs biasanya berskala lebih baik dari SW LBs.

Semoga ini membantu!

vmfarms
sumber
"HW LBs .. skala lebih baik daripada SW LBs" tidak cukup akurat. HW LBs menawarkan kinerja sasis tunggal terbesar sejauh ini . Tapi desain LB software yang bagus akan skala secara horizontal, dan karenanya skala juga (dan mungkin lebih murah daripada LB besi besar).
Jesper M
2

Beberapa pemikiran:

Pro: mesin tempat Anda menjalankan load balancer dapat memiliki perangkat keras yang jauh lebih kuat sehingga akan lebih cepat dan mengurangi latensi ekstra (meskipun tergantung pada kecepatan tautan Anda ke dunia luar, ini mungkin membuat sedikit perbedaan).

Con: penyeimbang beban perangkat keras kemungkinan tidak akan memiliki daya komputasi lebih dari yang dibutuhkan (mungkin dijalankan pada chip berbasis Atom atau ARM daripada prosesor Intel / AMD CPU chunky high-end misalnya) sehingga akan mengkonsumsi daya lebih sedikit dan menghasilkan lebih sedikit panas.

Pro: menginstal pengaturan penyeimbang beban perangkat lunak Anda sendiri dapat memberi Anda lebih banyak fleksibilitas dalam konfigurasi dan kemudian meningkatkan / mengubah, di mana solusi perangkat keras mungkin lebih merupakan solusi "kotak hitam" tertutup. Meskipun jika Anda membeli layanan terkelola untuk mengimplementasikan perangkat lunak penyeimbang ini akan membuat sedikit perbedaan.

Con: jika Anda tidak mengelola penyeimbang perangkat lunak (yaitu tugas outsourcing, atau Anda membeli layanan sebagai bagian dari pengaturan hosting yang dikelola lebih besar) Anda mungkin menemukan biaya admin untuk mempertahankan pengaturan berarti perangkat keras yang tidak tersedia solusi akan lebih murah dalam jangka panjang. Juga, ingatlah untuk memasukkan waktu Anda ke dalam perhitungan biaya apa pun jika Anda atau perusahaan Anda akan mengelola penyeimbang beban.

David Spillett
sumber
"Mesin tempat Anda menjalankan load balancer bisa memiliki perangkat keras yang jauh lebih kuat sehingga akan lebih cepat dan mengurangi latensi ekstra" - benarkah? Saya pernah melihatnya mengatakan bahwa ServerIron dapat menangani koneksi bersamaan 15m sementara haproxy dapat menangani 10s dari ribuan
timmy
@ Timmy - Saya membaca studi kasus di situs web haproxy (situs web mereka, sayangnya, offline) di mana mereka menjenuhkan tautan 10Gbps ke kotak HAProxy dan diskalakan dengan baik, dan saya cukup yakin itu akan menjadi lebih dari 10k permintaan bersamaan. .
Mark Henderson
1
Menemukannya - webcache.googleusercontent.com/… (terima kasih Google Cache) - baris utama 105931 sessions per seconddan sekitar 17% penggunaan CPU - itu cukup gila untuk satu prosesor Xeon dasar tunggal
Mark Henderson
@Farseeker - terima kasih, saya tidak menyadari mereka bisa mengatur begitu banyak sesi.
timmy
2

Saya akan memperhitungkan poin-poin ini, juga:

Jika perusahaan memiliki departemen TI dengan spesialis jaringan, maka Hardware LB mungkin membantu mengurangi beban pemeliharaan dari tim pengembangan.

Terkadang, khusus untuk perusahaan besar, mengadopsi perangkat keras baru yang tidak ada yang tahu cara mengoperasikannya, menyiratkan mempekerjakan konsultan mahal atau bahkan karyawan baru.

Tim pengembang akan membenci solusi Perangkat Keras jika mereka berencana untuk menekankan fitur-fitur penyeimbang beban, seperti misalnya, untuk mengadopsi penyebaran berkelanjutan.

Franklin Dattein
sumber