Donanım vs Yazılım yük dengeleyici: Sadece bir maliyet sorunu?


26

Maliyet sorun olmasaydı, web trafiği için bir donanıma nazaran bir yazılım yük dengeleyicisini dağıtmanın bir faydası olur mu?

Yanıtlar:


33

"Donanım" ve "yazılım" yük dengeleyiciler arasındaki ayrım artık anlamlı değildir. "Donanım" yük dengeleyici, PC sınıfı bir CPU, paket işleme yeteneklerine sahip ağ arayüzleri ve hepsini bir araya getirmek için kullanılan bazı yazılımlardır. Modern NIC'leri olan iyi bir sunucuda gerçekleştirilen bir "yazılım" yük dengeleyicisi aynıdır.

F5 veya Citrix Netscaler gibi üst düzey ticari tekliflerden aldığınız şey:

  • Zengin ve derin bir özellik seti. Çözümleri olgunlaşmıştır ve tüm genel ihtiyaçları ve nadir olanları da hızlı bir şekilde karşılayabilir.
  • Mükemmel istatistikler Yönetim türleri istatistikleri sever ve ağ teknolojileri de istatistiklerin sorun gidermede yararlı olabileceğini fark eder.
  • Bir şey çalışmadığında boğulacak tek bir satıcı, yani doğrudan çözüm satıcısıyla sözleşmeyi destekleyin.
  • Düşük maaş maliyeti. Cihaz çoğunlukla sadece çalışır ve bir cihazı yönetmek bu kadar uzun sürmez.

(Açık kaynak kodlu) yazılım yük dengeleyici ile bunun tam tersi olmaz, ne elde edersiniz seçtiğiniz yazılıma ve nasıl devam edeceğinize bağlıdır. Olduğunu söyledi, genellikle göreceksiniz:

  • İlk çözümü ayarlamak için daha uzun süre. Özellikle yük dengeleme, fx önbellekleme + içerik yeniden yazma + HA'dan daha fazlasına ihtiyacınız varsa, açık kaynak kodlu yazılım ayarlama işlemi daha fazla manevra gerektirir.
  • Sen inşa et, ona sahipsin. Şirketiniz kurum içi teknolojili açık kaynaklı yazılım yük dengeleyicileri kurarsa, çözümden% 100 sorumlu olursunuz. Belgeleme, yükseltme yolu, felaket kurtarma vb. Hususların dikkate alınması ve belki de sizin tarafınızdan uygulanması gerekecektir .

Farklılaşma gerçekten "yazılım" yerine "donanım" ile ilgili değildir. "Kendin yap" yerine "kanıtlanmış bir teknoloji grubu satın al" dır. Elbette son kararı verirken göz önünde bulundurulması gereken birçok değişken vardır (maliyetler, kurum içi beceri kümeleri, duruş süreleri için tolerans, gelecek büyüme vb.).


2
İyi noktalar, ancak kesinlikle işlemcide değil, işlemcilerde 'çok' işleyen ASIC tabanlı yük dengeleyiciler (F5 / ACE / ..?) Var. Ayrıca, özellikle uzman saatlerinin kurulumu yapmak için manhours sorusuna itiraz ediyorum.
Joris,

Bundan kısaca bahsettiniz, ancak bir HW yük dengeleyicisinde, genellikle bir şeyler ters gittiğinde kullanabileceğiniz bir destek sözleşmesi aldığınızı vurgulamak gerektiğini düşünüyorum. Bazen bu, hangi yöne gideceğiniz bir işletme için belirleyici faktör haline gelir.
vmfarms

@ Joris, @vmfarms İyi noktalar, katılıyorum. Tüm ince noktaları doğru yapmak, küçük bir roman yazmanızı gerektirir. :-)
Jesper M,

İyi cevap, ancak Barracuda Networks, Loadbalancer.org ve Kemp Technologies çok büyük sitelere binlerce donanım / yazılım / sanal cihaz satıyor. Sağladıkları desteklenen Linux / LVS açık kaynaklı yığından başka bir şeye çok nadiren ihtiyacınız var ... Yanlış anlamayın Citrix ve F5 yığınları çok daha iyi ancak uygulamaların% 95'i için önemli değil. Yük dengeleyicilerini burada nasıl karşılaştıracağımızla ilgili bir blog yazdım: loadbalancer.org/blog/…
Malcolm turnbull

2

Donanım yük dengeleyicileri, özellikle F5 gibi büyük özelliklere ulaştığınızda genellikle daha zengin özelliklere sahiptir. Ayrıca donanım boşaltması nedeniyle daha büyük ölçeklenebilirlik avantajına da sahipsiniz.

Öte yandan, trafiğinizin çok yüksek olmayacağını biliyorsanız, yazılım yük dengeleyicileri aslında oldukça iyi performans gösterir. Layer 4 LB'ye sahip olmanızdan kaynaklanıyorsanız, Linux LVS + Keepalived çok iyi bir seçenektir. Katman 7 LB'nin gücüne ihtiyacınız varsa, HAProxy'ye bir deneme yapabilirsiniz.

Dolayısıyla, özet olarak, HW LB'ler tipik olarak SW LB'lerden daha iyi ölçeklenir.

Bu yardımcı olur umarım!


"HW LB'ler .. SW LB'lerden daha iyi ölçeklenir" tam olarak doğru değildir. HW LB'ler bugüne kadarki en büyük tek şasi performansını sunar. Ancak, iyi bir yazılım LB tasarımı yatay olarak ölçeklenir ve bu nedenle de aynı şekilde ölçeklenir (ve muhtemelen büyük bir demir LB'den daha ucuzdur).
Jesper M,

2

Birkaç düşünce:

Pro: Yük dengeleyicisini çalıştırdığınız makine çok daha güçlü bir donanıma sahip olabilir, bu yüzden daha hızlı olur ve daha az gecikme getirir (dış dünyaya bağlantılarınızın hızına bağlı olarak bu çok az fark yaratabilir).

Con: bir donanım yük dengeleyicisinin ihtiyaç duyduğundan daha fazla hesaplama gücü olmayacak (örneğin, tıknaz bir üst uç Intel / AMD CPU yerine Atom veya ARM tabanlı bir yonga üzerinde çalışabilir), bu nedenle daha az güç tüketecek ve daha az üretecektir sıcaklık.

Pro: kendi yazılım yük dengeleyici düzenlemenizi kurmak, bir donanım çözümünün kapalı bir "kara kutu" çözümden çok daha fazlası olabileceği yapılandırma ve daha sonraki güncellemeler / değişiklikler konusunda size daha fazla esneklik sağlayabilir. Yazılım dengeleyici uygulamak için yönetilen bir servis satın alıyorsanız, bu çok az fark yaratacaktır.

Con: Yazılım dengeleyicisini yönetmiyorsanız (yani görev dış kaynaklı veya daha büyük yönetilen bir barındırma düzenlemesinin parçası olarak hizmeti satın alıyorsanız), kurulumu sürdürmek için yönetici ücretlerinin kullanıma hazır bir donanım anlamına geldiğini görebilirsiniz. çözüm uzun vadede daha ucuz olurdu. Ayrıca in faktör hatırlamak için sizin veya şirket yük dengeleyici yönetme olacaksa herhangi maliyetlerle içine zamanda.


"Yük dengeleyicisini çalıştırdığınız makine çok daha güçlü bir donanıma sahip olabilir, bu yüzden daha hızlı ve daha az gecikme süresi sağlar" - gerçekten mi? Bir ServerIron'un 15m eşzamanlı bağlantıyı idare edebileceğini, haproxy'nin 10'lu binleri idare edebileceğini gördüm
timmy

@Timmy - Bir HAProxy kutusuna 10 Gbps'lik bir doymayı doygun hale getirdikleri ve güzel bir şekilde ölçeklendirildikleri haproxy web sitesinde (Web siteleri ne yazık ki çevrimdışı) bir örnek olay incelemesi okudum ve bunun 10k eşzamanlı istekden fazlası olacağından oldukça eminim .
Mark Henderson

1
Buldum - webcache.googleusercontent.com/… (teşekkürler Google Cache) - anahtar hat olmak 105931 sessions per secondve yaklaşık% 17 CPU kullanımı - tek bir temel Xeon işlemcisi için oldukça çılgınca
Mark Henderson

@ Farseeker - teşekkürler, bu kadar çok seansı yönetebileceklerinin farkında değildim.
timmy

2

Bu noktaları da dikkate alırdım:

Şirketin bir ağ uzmanına sahip bir BT departmanı varsa, bir Donanım LB'si geliştirme ekibinden gelen bakım yükünü azaltmaya yardımcı olabilir.

Bazen, özellikle büyük şirketler için, hiç kimsenin nasıl çalışacağını bilmediği yeni bir donanım benimsemek, pahalı danışmanlar veya hatta yeni bir işveren işe almak anlamına gelir.

Geliştirme ekibi, örneğin sürekli konuşlandırmayı benimsemek gibi, yük dengeleyicisinin özelliklerini vurgulamayı planlıyorlarsa Donanım çözümünden nefret edecektir.


0

Görünüşe göre HW LB'leri SSL bağlantılarını yönetmeyi geliştirebilir ve bu nedenle gereken toplam uygulama sunucusu sayısını azaltabilir:

http://highscalability.com/blog/2010/8/12/strategy-terminate-ssl-connections-in-hardware-and-reduce-se.html


2
SSL boşaltım donanımı, doğrudan web sunucuları için de mevcuttur ve Linux'ta her yerde bulunan OpenSSL kütüphanesi tarafından desteklenir; bu avantaj, hiçbir şekilde donanım yük dengeleyicisine özgü değildir.
Charles Duffy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.