Virtual-IT.pl - wirtualizacja cloud computing storage data center

Artykuły

Równoważenie obciążenia jako kluczowy element architektury chmurowej

Cloud Load BalancingRównoważenie obciążenia odnosi się do technologii, która jest wykorzystywana do rozdzielania obciążeń roboczych pomiędzy kilkoma komputerami, klastrami, procesorami, pamięcią RAM, dyskami twardymi, jak również innymi elementami infrastruktury w celu optymalizacji wykorzystania zasobów, co przekłada się na zmniejszenie czasu reakcji, zwiększenie przepustowości, pozwala uniknąć przeciążenia i zminimalizować przestoje aplikacji.


Zatem load balancer zaprojektowano z myślą o automatycznym provisioningu oraz deprovisioningu aplikacji, bez konieczności dokonywania zmian w obrębie infrastruktury sieciowej a nawet w obrębie konfiguracji sieci. Oznacza to, że automatycznie obsługuje on spadek, bądź wzrost obciążenia, na podstawie zdolności produkcyjnych, dostępnych w momencie, w którym zaistniało takie zapotrzebowanie.

Za równoważenie obciążenia jest więc odpowiedzialny dedykowany sprzęt lub oprogramowanie. Jednak w większości przypadków, pojedynczy serwer WWW nie może poradzić sobie z obciążeniem lub ruchem przychodzącym. W niniejszym artykule przedstawiono kilka różnych opcji, które mogą być wdrożone, po rozszerzeniu środowiska przez dodanie nowych serwerów webowych. Obejmują one zakup sprzętu pozwalającego na równoważenie obciążenia lub skorzystanie z rozwiązań programowych oferujących równoważenie obciążenia wraz z wykorzystaniem mechanizmu Round-robin DNS.

• Load Balancer jest kluczowym elementem gwarantującym powodzenie wdrożeń chmurowych

Architektura środowiska opartego na chmurze wymaga znacznie więcej niż wdrażania wirtualnych obrazów. Wymaga głębokiego zrozumienia znaczenia infrastruktury, takiej jak load balancer'y, szczególnie w obrębie środowisk korporacyjnych. To dlatego, że load balancer’y są głównym komponentem gwarantującym powodzenie wdrożeń wykorzystujących chmurę obliczeniową, niezależnie od tego czy stanowią one rewolucję architektoniczną obejmująca całą firmę czy dotyczą małych wdrożeń pilotażowych.

• Możliwość rozszerzenia i zakontraktowanie przepustowości na żądanie

Głównym zadaniem infrastruktury chmurowej jest możliwość świadczenia elastycznych usług, które uwzględniają w kontrakcie możliwość rozszerzenia zdolności produkcyjnych na żądanie. Wynika to z tego, że czasami kiedy wymagana jest większa liczba wystąpień aplikacji, to sama skalowalność nie wystarcza, a potrzebna jest możliwość zamówienia dodatkowych zasobów na żądanie. W związku z tym zachodzi konieczność użycia mechanizmu, który będzie odpowiedzialny za równoważenie ruchu pomiędzy dwoma lub większą ilością instancji aplikacji. Konsekwencją tego jest to, że mechanizm będzie działał skutecznie gdy load balancer wykonuje to zadanie.

• Architektura bez Load Balancera jest chwiejna

Budowa architektury opartej o chmurę bez implementacji load balancera niesie ze sobą poważne konsekwencje. A to dlatego, że w takiej sytuacji nie będzie skutecznego sposobu na to by do granic możliwości zwiększać pojemność, która wymagana do obsługi wielu wystąpień aplikacji. Oznacza to, że w przypadku innych metod występuje konieczność modyfikacji i zmian w obrębie wielu urządzeń sieciowych, co daje gwarancję prawidłowego rozłożenia wielu zapytań pomiędzy różnymi instancjami aplikacji. W ten sam sposób, w przypadku deprovisioningu dodatkowych instancji, wprowadzone zmiany w konfiguracji sieciowej muszą być wycofane.

• Poprawny Load Balancer będzie rozszerzalny

Wybór odpowiedniego load balancera w początkowej fazie ma zasadnicze znaczenie dla powodzenia bardziej złożonych wdrożeń, które mogą powstać w późniejszym etapie. Oznacza to, że odpowiedni load balancer może stać się fundamentem, na podwalinach którego może powstać bardziej zaawansowana architektura chmurowa. Powinien on jednak oferować również wsparcie dla najbardziej podstawowych architektur. Zatem load balancer powinien być rozszerzalny.

Implementacja architektury chmurowej wymaga nie tylko prostych funkcji równoważenia obciążenia, lecz wiele więcej. Potrzebne będą bardziej zaawansowane funkcje, takie jak optymalizacja akceleracji, przełączanie warstwy siódmej, bezpieczeństwo aplikacji, terminowanie ruchu SSL oraz przekierowanie i bezpieczny dostęp, ponieważ chmurowe środowisko się rozrasta. Właściwe rozwiązanie dające możliwość równoważenia obciążenia pozwoli Ci zacząć od podstaw, a jednocześnie będzie oferować  zaawansowane funkcjonalności w miarę potrzeby, nie wymagając nowych rozwiązań lub urządzeń, które pociągają za sobą konieczność przebudowy infrastruktury aplikacji lub sieci.

Reasumując, load balancer jest kluczowym elementem przy budowie architektury cloud computing, niezależnie od tego czy jest to rozbudowane zaawansowane środowisko czy niewielki projekt chmurowy.

 


Tony BransonAutor: Tony Branson - jest geek'iem technologicznym pasjonującym się rozwiązaniami ScaleArc, pozwalającymi na równoważenie obciążenia środowisk bazodanowych. Tony wnikliwie analizuje technologiczne tematy z obszaru usług failover, scentralizowanego zarządzania, zaawansowanego przetwarzania transakcji bazodanowych, skalowalności baz danych i skutków przestoju. W wolnych chwilach ogląda filmy Sci-Fi, udziela się jako wolontariusz i uprawia wspinaczkę.