Load balancing i skalowalność

Nowoczesne serwisy internetowe muszą obsługiwać miliony jednoczesnych żądań od internautów oraz błyskawicznie zwracać tekst, obrazy, wideo oraz inne treści. Współcześni użytkownicy - przyzwyczajeni do oglądania w sieci filmów, uczestnictwa w telekonferencjach on-line, czy też grania w gry sieciowe - oczekują szybkiego i niezawodnego działania wszystkich użytkowanych platform, aplikacji czy też stron, bez względu na to, jak duży transfer danych one generują.

Z jakimi problemami zmagają się obecnie działy IT przedsiębiorstw?

Do największych wyzwań administratorów infrastruktury IT należy zapewnienie stabilnego i nieprzerwanego dostępu do usług sieciowych – bez względu na to, ilu użytkowników chce z nich korzystać. Szybki rozwój platform – choć stanowi jednoznaczny dowód na sukces projektu – musi iść w parze z gwarancją ich skalowalności.

W przypadku rozwiązań sieciowych, które z założenia powinny być dostępne dla użytkowników w pełnym wymiarze czasu (24/7), dodatkowy problem stanowi realizacja prac związanych z konserwacją serwera oraz naprawą ewentualnych awarii. Wszelkie wyłączenia danego obszaru infrastruktury IT z użytkowania generują bowiem konkretne straty dla przedsiębiorstwa. Nawet gdy serwer jest po prostu mocno obciążony, strony ładują się wolniej – a w branżach o dużej konkurencji, np. e-commerce, każda sekunda ładowania to strata potencjalnej konwersji.

Warto również pamiętać, że utrudnienia w pracy serwerów generowane są nie tylko przez naturalne zmiany ruchu sieciowego, ale także przez cyberprzestępców. Sztuczne zwiększanie ruchu (DDoS) prowadzi nawet do całkowitego zablokowania pracy aplikacji lub platformy internetowej, a celem ataków może być również kradzież wrażliwych danych.

Najskuteczniejszą formą przeciwdziałania negatywnym skutkom nagłych wzrostów ruchu sieciowego (w tym również na skutek ataków), czy też awariom serwerów jest load balancing.

O tym, czym jest load balancing i w jaki sposób wpływa na stabilizację pracy infrastruktury IT, opowiada Karol Kujawa, architekt ds. rozwiązań IP w VECTOR SOLUTIONS.

Co to jest load balancing?

Load balancing – z definicji – jest to równoważenie obciążenia serwerów i aplikacji na nich zainstalowanych oraz kierowanie ruchu na wiele różnych serwerów. To najprostszy wymiar load balancingu, ale współczesne sprzęty tego typu wyposażone zostały w znacznie więcej funkcjonalności – mówi Karol Kujawa.

Pierwsze load balancery projektowane były niemal wyłącznie jako urządzenia dystrybuujące ruch w sieci poprzez rozłożenie go na wiele maszyn. Organizacje chciały poprawić dostępność aplikacji działających na serwerach. Ostatecznie – wraz z pojawieniem się kontrolerów dostarczania aplikacji (ADC) – równoważenie obciążenia otrzymało niejako dodatkowe „obowiązki”. Jednym z najważniejszych pozostaje zapewnianie bezpieczeństwa oraz bezproblemowego dostępu do aplikacji w godzinach szczytu.

Jak działa load balancer?

Równoważenie obciążenia sieciowego, czyli load balancing, odgrywa rolę „policjanta”, ustawionego przed serwerami organizacji, aby sterować ruchem sieciowym. Jego zadaniem jest kierowanie żądań klientów na wszystkie serwery zdolne do realizacji tych żądań, dzięki czemu – nawet w razie awarii jednego z nich – ruch zostanie automatycznie przesunięty na pozostałe, prawidłowo pracujące jednostki. Co więcej: gdy do grupy zostanie dodany nowy serwer, system automatycznie zaczyna wysyłać żądania również do niego. Taka strategia ma dodatkową zaletę:

Jeżeli serwer z jakichś przyczyn przestanie odpowiadać albo zacznie odpowiadać błędnie, to jest on wyłączany z puli, ale w sposób nieodczuwalny dla użytkowników. Internauta nie zauważa awarii, więc ewentualne problemy w działaniu którejś z jednostek nie wpływają w żaden sposób na jakość obsługi postrzeganą przez klientów. Z ich punktu widzenia system wciąż pracuje niezawodnie – wyjaśnia architekt ds. rozwiązań IP.

Load balancer instalowany jest na dedykowanej infrastrukturze fizycznej lub wirtualnej. Gdy użytkownik wysyła żądanie załadowania strony WWW, urządzenie włącza się między komputerem użytkownika a serwerem. Analizuje, która maszyna jest najodpowiedniejsza, aby odpowiedzieć na to żądanie, po czym przesyła je do niej. Może również dodawać lub usuwać serwery, w zależności od obciążenia oraz bieżących potrzeb.

 

Load balancing

Do najważniejszych funkcji realizowanych przez load balancer należą:

  • Wydajna dystrybucja żądań klientów lub obciążenia sieci na wiele serwerów.
  • Zapewnienie wysokiej dostępności i niezawodności poprzez wysyłanie żądania tylko do serwerów, które są online.
  • Zapewnienie elastyczności dodawania lub odejmowania serwerów, zgodnie z bieżącym zapotrzebowaniem.

Studium przypadku: load balancery a sklepy internetowe

Jeśli użytkownicy sieci mają alternatywę w postaci serwisu oferującego zbliżone produkty, nie będą tracić czasu na oczekiwanie, aż w sklepie wczytają się wszystkie zdjęcia i opisy towarów. Prawdopodobnie zamiast czekać, opuszczą dany serwis i w poszukiwaniu szybszej oraz sprawniejszej obsługi udadzą się do kolejnego. Z tego względu sklepy internetowe wprowadzają różne rozwiązania, które mają na celu maksymalne skrócenie czasu ładowania – jednym z najbardziej godnych polecenia jest technologia Load Balancingu.

Load balancery powstały przede wszystkim po to, żeby móc obsłużyć miliony zapytań – tłumaczy ekspert VECTOR SOLUTIONS. – Dopiero później zostały wzbogacone o kolejne funkcje, dzięki którym administratorom pracuje się lepiej, a usługa działa stabilniej. Zasada ta sprawdza się nawet na tych stronach internetowych, które mogą odnotowywać gwałtowne wzrosty ruchu – w sezonie, w okresie wyprzedaży, wprowadzania nowości itp.

Dlaczego jeszcze load balancery okazują się niezbędne w wielu branżach?

Wśród najważniejszych korzyści z wdrożenia tego typu urządzeń należy wymienić:

Łatwość prowadzenia prac serwisowych

Load balancer pozwala na prowadzenie prac serwisowych na serwerze nawet w ciągu dnia, a więc w okresie zwiększonego ruchu sieciowego.

Load balancer utrzymuje pulę takich samych serwerów wykonujących te same czynności i nadzoruje tę pulę, wykorzystując mechanizmy tzw. „health checku” czyli sprawdza, czy dana usługa działa (czy odpowiada prawidłowo na zapytania). Test może być przeprowadzany nawet kilka razy na sekundę – mówi Karol Kujawa. – To oznacza, że administrator śpi spokojniej i wie, że prowadzone prace konserwacyjne czy serwisowe nie wpływają w żaden sposób na ruch produkcyjny.

Skrócenie czasu wprowadzania nowych usług/wersji

Jednym z kluczowych wskaźników mierzonych przez organizacje zajmujące się dostarczaniem nowych produktów jest „time to market” (TTM). Szybkość udostępnienia użytkownikom danego rozwiązania jest kluczowa m.in. dla konkurencyjności przedsiębiorstwa, ale także dla opłacalności przedsięwzięcia. W jaki sposób load balancer może przyczynić się do poprawy współczynnika TTM?

Load balancer często określany jest mianem „aplication delivery controller”. Urządzenie włącza się w pipeline Continuous integration / Continuous Delivery (CI/CD). W momencie, kiedy DevOps buduje nową wersję, ona poddaje się testom, a po ich zakończeniu jest automatycznie wystawiana na produkcję. Dzięki temu do wystawienia aplikacji angażowany jest mniejszy liczebnie zespół, a w konsekwencji oszczędzamy czas – wyjaśnia Karol Kujawa.

Przejęcie obsługi protokołu HTTPS

Przejęcie obsługi HTTPS przez load balancer odciąża serwery webowe. Możliwa staje się nawet wymiana warstwy komunikacji na nowszą (przy zachowaniu tej samej infrastruktury IT).

Urządzenia do load balancingu doskonale radzą sobie z obsługą SSL Offloading, czyli pozwalają na wymienienie warstwy komunikacji między serwerem a użytkownikiem końcowym. Dzięki temu możemy zastosować HTTP/2.0 albo SPDY, w momencie, kiedy serwer korzysta wyłącznie z HTTP 1.1. Warstwę transmisji możemy wymieniać dowolnie, aby zastąpić przestarzałe protokoły szyfrowania nowszymi, zgodnymi z aktualnie obowiązującymi standardami – dodaje Karol Kujawa.

Spójność polityk bezpieczeństwa

Przez load balancer przechodzi cały ruch sieciowy, co więcej: jest on często odszyfrowany. W takiej sytuacji, dzięki opisanemu powyżej SSL off-loadingowi, administratorzy sieci uzyskują jeden, spójny punkt kontroli w zakresie zabezpieczania, zarządzania i monitorowania wielu aplikacji i usług oraz egzekwowania polityk bezpieczeństwa.

 

 

Jaki load balancer wybrać?

Urządzenia do równoważenia obciążenia serwerów mogą być wyposażone w dodatkowe funkcje, takie jak ochrona aplikacyjna (WAF), czy ochrona przed atakami DDoS. Zanim  zdecydujemy się zatem na usługę load balacingu czy kupno load balancera warto sprawdzić nie tylko jego cenę, ale także dostępne funkcje, wydajność i skalowalność.

Dla niektórych klientów istotną kwestią jest niska cena urządzenia, dla innych – najwyższa możliwa efektywność. Ja jestem zdania, że należy wybrać taki load balancer, który pozwoli spełnić indywidualne wymagania organizacji, a więc obsłuży ruch na wymaganym przez nią poziomie. W dodatku podczas dokonywania wyboru warto spojrzeć w przyszłość i zainwestować w urządzenie zaspokajające nie tylko bieżące potrzeby, ale także pozwalające na rozwój danej usługi w perspektywie najbliższego roku lub dwóch lat – radzi Karol Kujawa.

Load balancer może być:

  • urządzeniem fizycznym, zwirtualizowaną instancją działająca na jednej z popularnych platform wirtualizacyjnych,
  • urządzeniem w funkcji Appliction Delivery Controler  (ADC), pozwalającym na automatyczne wystawianie aplikacji.

Wzmocnij swoje środowisko IT – umów się na bezpłatną konsultację ze specjalistami VECTOR SOLUTIONS

Dzięki wdrożeniu usługi load balancingu:

  • równoważymy obciążenie serwerów,
  • optymalizujemy wydajność, efektywność i przepustowość infrastruktury,
  • skracamy czas reakcji na zapytania użytkowników i poprawiamy niezawodność strony/aplikacji/usługi,
  • chronimy infrastrukturę IT przed awariami w chwilach gwałtownego wzrostu ruchu,
  • pomagamy działom IT zapewnić skalowalność oraz niezakłóconą dostępność usług,
  • każdemu użytkownikowi końcowemu ułatwiamy automatyczne i efektywne kierowanie żądań do odpowiednich zasobów.

Load balancing

W VECTOR SOLUTIONS od wielu lat specjalizujemy się w budowie oraz rozwoju optymalnego środowiska IT dedykowanego dla biznesu. Zapewniamy kompleksową obsługę tego procesu: od analizy potrzeb, przez zaprojektowanie rozwiązania, jego instalację, wdrożenie i integrację, aż po obsługę post-sales i consulting w zakresie potencjalnego upgread-u rozwiązań w przyszłości. Korzystamy z urządzeń pochodzących od najlepszych światowych producentów, a także tworzymy nowe rozwiązania technologiczne.

Dowiedz się, jakie rozwiązania zaproponujemy Twojej organizacji, aby ułatwić jej szybki rozwój, wzrost konkurencyjności i niezawodność w każdym z istotnych obszarów środowiska IT. Kliknij w poniższy baner i zarezerwuj termin konsultacji z naszymi specjalistami:

 

Webinar cybersecurity