Urządzenia równoważące obciążenie sprzętowe i programowe: problem z kosztami?

26

Jeśli koszt nie stanowiłby problemu, czy przydałoby się wdrożenie oprogramowania równoważącego obciążenie dla ruchu sieciowego w porównaniu do sprzętu?

Timmy
źródło

Odpowiedzi:

33

Rozróżnienie między modułami równoważenia obciążenia „sprzętowymi” i „programowymi” nie ma już znaczenia. Tak zwany „sprzętowy” moduł równoważenia obciążenia to procesor klasy PC, interfejsy sieciowe z funkcjami przetwarzania pakietów i niektóre oprogramowanie, które to wszystko łączy. Moduł równoważenia obciążenia „programowy” zrealizowany na dobrym serwerze z nowoczesnymi kartami sieciowymi jest… taki sam.

To, co zyskujesz dzięki wysokiej klasy ofertom komercyjnym, takim jak F5 lub Citrix Netscaler, to:

  • Bogaty i głęboki zestaw funkcji. Ich rozwiązanie jest dojrzałe i może szybko obsłużyć wszystkie typowe potrzeby, a także niektóre nietypowe.
  • Doskonałe statystyki. Rodzaje zarządzania uwielbiają statystyki, a technicy sieci zdają sobie sprawę, że statystyki mogą być również przydatne w rozwiązywaniu problemów.
  • Pojedynczy dostawca do udławienia się, gdy coś nie działa, tj. Umowa wsparcia bezpośrednio z dostawcą rozwiązania.
  • Niższe koszty wynagrodzeń. Urządzenie w większości działa, a zarządzanie nim nie zajmuje tyle godzin.

Dzięki oprogramowaniu do równoważenia obciążenia oprogramowania (open source) nie masz odwrotności, to, co otrzymasz, zależy od wybranego oprogramowania i tego, jak sobie z tym poradzisz. To powiedziawszy, zazwyczaj zobaczysz:

  • Dłuższy czas na skonfigurowanie początkowego rozwiązania. Zwłaszcza jeśli potrzebujesz czegoś więcej niż tylko równoważenia obciążenia, buforowania fx + przepisywania treści + HA, konfiguracja oprogramowania open source zajmuje więcej godzin.
  • Budujesz to, jesteś jego właścicielem. Jeśli Twoja firma konfiguruje równoważenia obciążenia oprogramowania typu open source z wewnętrznymi technologiami, to sam jesteś w 100% odpowiedzialny za rozwiązanie. Dokumentacja, ścieżka aktualizacji, odzyskiwanie po awarii itp. Będą musiały zostać wzięte pod uwagę i być może wdrożone przez Ciebie .

Różnice nie dotyczą tak naprawdę „sprzętu” w porównaniu z „oprogramowaniem”. Opiera się na „kupie sprawdzony stos technologii jako urządzenie” w porównaniu z „zbuduj go sam”. Przy podejmowaniu ostatecznej decyzji należy oczywiście wziąć pod uwagę wiele zmiennych (koszty, zestawy umiejętności wewnętrznych, tolerancja na przestoje, przyszły wzrost itp.).

Jesper M.
źródło
2
Dobre punkty, ale z pewnością istnieją oparte na ASIC moduły równoważenia obciążenia (F5 / ACE / ..?), Które obsługują „dużo” w procesorach rozproszonych, a nie w procesorze. Kwestionuję również pytanie o liczbę roboczogodzin, szczególnie jeśli koszt godzin pracy specjalistycznej na wykonanie instalacji.
Joris,
Krótko o tym wspomniałeś, ale myślę, że należy podkreślić, że dzięki modułowi równoważenia obciążenia HW zazwyczaj dostajesz umowę wsparcia, z której możesz skorzystać, gdy tylko coś pójdzie nie tak. Czasami staje się to decydującym czynnikiem dla firmy, w którym kierunku pójść.
vmfarms
@Joris, @vmfarms Dobre punkty, zgadzam się. Zdobycie wszystkich drobniejszych punktów we właściwy sposób wymagałoby napisania małej powieści. :-)
Jesper M
Dobra odpowiedź, jednak Barracuda Networks, Loadbalancer.org i Kemp Technologies sprzedają tysiące sprzętu / oprogramowania / urządzeń wirtualnych do bardzo dużych witryn. Bardzo rzadko potrzebujesz czegoś więcej niż obsługiwanego stosu open source Linux / LVS, który zapewniają ... Nie zrozumcie mnie źle, stosy Citrix i F5 są znacznie lepsze, ale dla 95% nieistotnych aplikacji. Napisałem blog o tym, jak porównać równoważące obciążenie tutaj: loadbalancer.org/blog/…
Malcolm turnbull
2

Sprzętowe moduły równoważące obciążenie zazwyczaj mają bogatszy zestaw funkcji, szczególnie gdy dojdziesz do dużych, takich jak F5. Dodatkową zaletą jest większa skalowalność dzięki odciążeniu sprzętu.

Z drugiej strony, jeśli wiesz, że ruch nie będzie zbyt duży, równoważenia obciążenia oprogramowania faktycznie działają całkiem dobrze. Jeśli możesz to zrobić dzięki posiadaniu warstwy 4 LB, Linux LVS + Keepalived jest bardzo dobrą opcją. Jeśli potrzebujesz mocy warstwy 7 LB, możesz spróbować HAProxy.

Podsumowując, LB HW zwykle skalują się lepiej niż LB SW.

Mam nadzieję że to pomoże!

vmfarms
źródło
„HW LBs .. skaluje się lepiej niż SW LB” nie jest dość dokładne. LW HW oferują zdecydowanie najlepszą wydajność pojedynczego podwozia . Ale dobry projekt LB oprogramowania skalowałby się w poziomie, a zatem równie dobrze skalował (i prawdopodobnie byłby tańszy niż duży żelazny LB).
Jesper M
2

Kilka myśli:

Pro: maszyna, na której uruchomiony jest moduł równoważenia obciążenia, może mieć znacznie mocniejszy sprzęt, więc byłby szybszy i nakładałby mniejsze opóźnienia (chociaż w zależności od prędkości twoich łączy ze światem zewnętrznym może to nie mieć większego znaczenia).

Przeciw: sprzętowy moduł równoważenia obciążenia prawdopodobnie nie będzie miał więcej mocy obliczeniowej niż potrzebuje (może działać na chipie opartym na Atom lub ARM, a nie na przykład na wysokiej klasy procesorze Intel / AMD), więc zużywa mniej energii i generuje mniej ciepło.

Pro: zainstalowanie własnego układu równoważenia obciążenia oprogramowania może zapewnić większą elastyczność konfiguracji i późniejszych aktualizacji / zmian, przy czym rozwiązanie sprzętowe może być znacznie bardziej zamkniętym rozwiązaniem „czarnej skrzynki”. Jednak jeśli kupujesz usługę zarządzaną w celu wdrożenia modułu równoważenia oprogramowania, nie będzie to miało większego znaczenia.

Przeciw: jeśli nie zarządzasz modułem równoważącym oprogramowanie (tj. Zadanie jest zlecane na zewnątrz lub kupujesz usługę w ramach większego zarządzanego hostingu), opłaty administracyjne za utrzymanie konfiguracji mogą oznaczać, że sprzęt jest dostępny od ręki rozwiązanie byłoby tańsze na dłuższą metę. Należy również pamiętać, aby czynnik w swoim czasie do żadnej kalkulacji kosztów, jeśli Ty lub Twoja firma będzie zarządzanie równoważenia obciążenia.

David Spillett
źródło
„komputer, na którym działa moduł równoważenia obciążenia, może mieć znacznie mocniejszy sprzęt, więc byłby szybszy i nakładałby mniej dodatkowych opóźnień” - naprawdę? widziałem, jak powiedziało, że ServerIron może obsłużyć 15 milionów jednoczesnych połączeń, podczas gdy haproxy może obsłużyć 10 tysięcy
Timmy
@Timmy - przeczytałem studium przypadku na stronie haproxy (ich strona jest niestety offline), gdzie nasyciły link 10 Gb / s do skrzynki HAProxy i ładnie się skalowały, i jestem całkiem pewien, że byłoby to więcej niż 10 000 jednoczesnych żądań .
Mark Henderson
1
Znalazłem - webcache.googleusercontent.com/… (dzięki Google Cache) - kluczowa linia 105931 sessions per secondi około 17% wykorzystania procesora - to całkiem szalone jak na pojedynczy podstawowy procesor Xeon
Mark Henderson
@Farseeker - dzięki, nie zdawałem sobie sprawy, że poradzą sobie z tak wieloma sesjami.
timmy
2

Uwzględniłbym również te punkty:

Jeśli firma ma dział IT ze specjalistą ds. Sieci, sprzętowy LB może pomóc zmniejszyć obciążenie związane z utrzymaniem ze strony zespołu programistów.

Czasami, szczególnie w przypadku dużych firm, przyjęcie nowego sprzętu, którego nikt nie wie, jak obsługiwać, oznacza zatrudnienie drogich konsultantów, a nawet nowego pracownika.

Zespół programistów nienawidzi rozwiązania sprzętowego, jeśli planuje zaakcentować funkcje modułu równoważenia obciążenia, na przykład w celu przyjęcia ciągłego wdrażania.

Franklin Dattein
źródło
0

Najwyraźniej HW LB mogą poprawić obsługę połączeń SSL, a tym samym zmniejszyć całkowitą liczbę wymaganych serwerów aplikacji:

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


źródło
2
Sprzęt do odciążania SSL jest również dostępny bezpośrednio dla serwerów WWW i obsługiwany przez wszechobecną bibliotekę OpenSSL w systemie Linux; ta zaleta nie jest w żaden sposób unikalna dla sprzętowych równoważników obciążenia.
Charles Duffy,