Czym jest infrastruktura konwergentna i jakie ma zalety
10.09.2018
Niezawodność i skalowalność – wyzwanie dla centrów danych
Lata rozwoju technologii informatycznych w zakresie budowy centrów danych oraz lokowania serwerów, macierzy danych i innych urządzeń, wprowadziły różne rozwiązania, dzięki którym można uzyskać bardzo wysoką niezawodność serwerów i otaczającej ich infrastruktury. We wcześniejszych latach, popularnym było stosowanie infrastruktur serwerowych bazujących na klastrach, czyli wewnętrznych infrastrukturach. Każdy z serwerów mógł wykonywać operacje na tych samych danych, jak również serwery te mogły współpracować ze sobą w celu realizacji mniejszych elementów, stanowiących wspólny większy cel dla całego klastra. Miało to też na celu uniknięcie sytuacji, w której awaria jednego serwera była w stanie sparaliżować określoną gałąź pracy przedsiębiorstwa. W późniejszym czasie wprowadzono tak zwane. klastry high-availability, których celem było zapewnienie zapasowej infrastruktury uruchamianej na wypadek awarii. Infrastruktura ta mogła funkcjonować w ten sposób, że opierając się o wspólny zbiór danych znajdujący się, na przykład na zewnętrznej sieciowej macierzy dyskowej, gdzie wszystkie serwery posiadające do niej dostęp, mogły korzystać z jej zasobów.
Zarządzanie ruchem
Rozwiązanie klastrów oraz klastrów HA znalazło zastosowanie między innymi w branży hostingowej, ponieważ dzięki ich zastosowaniu możliwe jest uzyskanie wysokiej niezawodności całej infrastruktury i zwiększeniu mocy obliczeniowej, przeznaczonej na obsługę określonych zadań poprzez wprowadzenie do klastra serwera realizującego tą konkretną część zadań. W przypadku hostingu, do realizacji podziału zadań przez poszczególne serwery w klastrze, stosuje się tzw. load-balancing. Możemy w ramach tego rozwiązania posiadać wiele serwerów (zwanych tutaj node'ami) podpiętych do wysokowydajnej macierzy dyskowej. Na czele wszystkich node'ów stoi load-balancer, który posiadając aktualne informacje na temat obciążenia każdego z node'ów, jest w stanie przekazać ruch do tego, który jest najmniej obciążony. W przypadku awarii lub niedostępności jednego z node'ów, jest on całkowicie odłączany od load-balancera. Dzięki zastosowaniu takiego rozwiązania, każdy z serwerów znajdujących się w klastrze przejmuje część ruchu przychodzącego i realizuje go na własnych zasobach, przy czym może pracować w oparciu o dane, które są wspólne dla wszystkich serwerów.
Wirtualizacja
W przypadku większej ilości mniejszych serwisów stosowanie samych klastrów jest niepraktyczne. Dzieje się tak dlatego, gdyż przy posiadaniu wielu klientów z różnymi serwisami internetowymi, ciężej jest zarządzać ruchem, jak również wprowadzenie wspólnego load-balancer może być problematyczne – z tego powodu zaczęto stosować rozwiązania oparte o wirtualizację. Działają one w ten sposób, że na jednym serwerze fizycznym można ulokować wiele serwerów wirtualnych, gdzie każdy może być niezależny od pozostałych serwerów wirtualnych. Można w takiej infrastrukturze wprowadzać określone ograniczenia wydajnościowe na każdy z serwerów wirtualnych, aby mogły one realizować swoje zadania w określony sposób, nie naruszając przy tym wydajności całej infrastruktury. Podstawową zaletą stosowania wirtualizacji jest natomiast możliwość szybkiej migracji pojedynczego serwera wirtualnego z jednego serwera na inny. Uruchomienie wirtualizacji na klastrze posiadającym zewnętrzny zasób sieciowy jest zatem o tyle wygodne, że w przypadku awarii jednego serwera fizycznego, możemy w szybko uruchomić serwery wirtualne na pozostałych sprawnych serwerach fizycznych. W praktyce jednak wirtualizacja często doprowadza do tworzenia się niespożytkowanych zasobów, które z uwagi na zastosowaną metodę wirtualizacji, mogły być całkowicie zajęte,nie pozwalając na użytkowanie ich przez innych klientów. Zarówno klastry jak i wirtualizatory posiadają jednak wadę, polegającą na konieczności wykonywania wielu czynności przed umożliwieniem produkcyjnego uruchomienia każdego pojedynczego serwera wirtualnego lub fizycznego.
To jednak za mało...
O ile rozwiązania oparte o wirtualizacje i klastry są bardzo wygodne i wydajne, nie są one odpowiedzią na wszystkie potrzeby branży. Potrzebne było rozwiązanie, które umożliwi obsługę dowolnych procesów (również tych nie związanych z hostingiem), w sposób prosty, z możliwością błyskawicznego skalowania, bez konieczności zmiany konfiguracji w całej infrastrukturze. Odpowiedzią na te potrzeby okazała się infrastruktura konwergentna, która łączy zalety wirtualizacji i stosowania klastrów obliczeniowych. Infrastruktura konwergentna stanowi bowiem rozwiązanie, w którym wszystkie jej elementy współpracują ze sobą i można je w bardzo łatwy i szybki sposób rozbudować. W przypadku braku konkretnego zasobu w naszej infrastrukturze, możemy go szybko rozszerzyć, dodając kolejne serwery uzupełniające braki. Stosowanie infrastruktury konwergentnej daje możliwość pracy bez przestojów, a zarządzanie nią zajmuje znacznie mniej czasu, niż w przypadku wymienionych wcześniej rozwiązań. Współczesne firmy coraz częściej decydują się na uruchamianie infrastruktury konwergentnej we własnych centrach danych, między innymi z uwagi na zwiększenie produktywności całej infrastruktury, przy jednoczesnym ograniczeniu jej kosztów.