W którą stronę skalować?

W środowisku IT istnieją dwa modele skalowania rozwiązań serwerowych i składowania danych: skalowanie pionowe (scale-up) i poziome (scale-out). Oto najważniejsze zagadnienia związane z tymi strategiami rozwoju.

Skalowalność jest jedną z ważniejszych cech dzisiejszej infrastruktury IT i wynika to nie tylko ze wzrostu rozmiarów firm. Głównym zjawiskiem, które napędza rozwój IT w przedsiębiorstwach, jest radykalny wzrost ilości przetwarzanej informacji oraz nowe, lepsze narzędzia do jej obróbki. Aby uzyskać wymaganą efektywność ekonomiczną w dłuższej perspektywie, dzisiejsze IT nie jest od razu wymiarowane na docelową liczbę transakcji, aplikacji i przechowywanych danych, ale raczej wybiera się model rozwoju, w którym systemy są od początku projektowane pod kątem skalowalności. To znaczy, że mają się rozrastać wraz z powiększającymi się potrzebami.

W górę - większe urządzenie

Historycznie pierwszym sposobem skalowania w IT była rozbudowa serwera o nowe gniazda procesora, a następnie wymiana na nowy serwer o większej mocy obliczeniowej lub przestrzeni dyskowej. Ta metoda funkcjonuje do dziś i charakteryzuje się niedużymi kosztami wzrostu w obrębie jednego urządzenia, a następnie skokowym wzrostem kosztów i wydajności, gdy trzeba wymienić urządzenie na "większe".

W ten sam sposób skaluje się nie tylko przestrzeń dyskową, ale także wydajność aplikacji - przykładem rozwiązania, które skaluje się wyłącznie w górę, jest klaster wysokiej dostępności (failover cluster) z bazą Microsoft SQL Server. Zadaniem klastra failover jest zapewnienie wysokiej dostępności aplikacji, niezależnie od awarii serwera bazodanowego, a zatem nie musi on obsługiwać równoważenia obciążenia - w tym przypadku jedna z maszyn jest wyłącznie serwerem rezerwowym, który przejmuje obciążenie, gdy drugi komputer przestanie działać z powodu awarii sprzętowej lub programowej. Aby uzyskać wyższą wydajność, niezbędna jest wymiana serwera obsługującego dane obciążenie. To samo dotyczy innych instalacji, w których nie odbywa się rozproszenie pracy lub danych na wiele elementarnych urządzeń.

W bok - wiele urządzeń

W odróżnieniu od skalowalności w górę, przy modelu skalowalności poziomej (scale-out) nie trzeba wymieniać urządzeń na nowe w miarę wzrostu potrzeb. Rozwój systemu odbywa się przez dodawanie kolejnych urządzeń, takich jak bloki składowania danych w macierzach obsługujących rozproszenie danych, farmy aplikacji webowych, gdzie całe obciążenie jest rozproszone między poszczególne urządzenia. Charakterystyczną cechą modelu scale-out jest praktycznie nieograniczona skalowalność, gdyż konstrukcja rozległych klastrów składowania danych lub serwerów webowych umożliwia tworzenie systemów wyposażonych w wiele węzłów.

Wadą jest wyższy koszt rozbudowy w porównaniu z dodawaniem zasobów w obrębie tego samego urządzenia skalowalnego w górę. W przypadku macierzy skalowanych pionowo oznacza to dodawanie półek dyskowych aż do granic osiągów urządzenia, a w modelu scale-out należy dodawać kolejne urządzenia. Ponieważ kwantem jest pojedyncze urządzenie, koszt każdego kroku rozwoju jest wyższy od rozbudowy macierzy, ale scale-out gwarantuje skalowalność, która jest poza zasięgiem dzisiejszych macierzy scale-up.

Jak scale-out działa w praktyce

Podstawowym zastosowaniem scale-out, znanym od dawna, jest obsługa obciążeń, które można znacznie zrównoleglić. Są to na przykład farmy serwerów webowych, obsługujących wiele równolegle wykonywanych zapytań, maszyny analityczne, klastry obliczeniowe stosowane w superkomputerach, a także komputery do zadań specjalnych. W dziedzinie składowania danych takim urządzeniem jest Isilon firmy EMC, którego głównym zastosowaniem jest obsługa sekwencyjnych aplikacji plikowych o ekstremalnie wysokiej skalowalności. Isilon szczególnie dobrze sprawdza się wtedy, gdy cała aplikacja jest skalowana w tym samym modelu. Podstawowy klaster składa się z trzech urządzeń, ale może być ich ponad 100 przy spójnej przestrzeni nazw. Dodawanie kolejnych modułów nie wymaga przerw w pracy klastra i odbywa się sprawnie.

Różne modele składowania danych do różnych obciążeń

W modelu nierozproszonym cały ruch jest przetwarzany przez jedno urządzenie, na przykład serwer lub macierz dyskową. A zatem dobrze sprawdzi się przy współpracy z innymi urządzeniami z tego samego modelu. Ponadto ścieżka danych w modelu scale-up jest prosta, gdyż dane nie są tak intensywnie rozpraszane na wiele urządzeń, a jedynie żądanie odczytu lub zapisu przechodzi między maksymalnie kilkoma kontrolerami. Dzięki temu działające w tym modelu i nierozpraszające danych na wiele urządzeń klastra mogą działać z bardzo małymi opóźnieniami. Różnica jest znaczna, gdyż przykładowa macierz VNX firmy EMC obciążona do około 200 tys. IOPS (operacji wejścia/wyjścia na sekundę) charakteryzuje się opóźnieniami rzędu 0,7 ms, podczas gdy macierz skalowalna poziomo, w tym badaniu EMC Isilon, przy podobnym obciążeniu będzie charakteryzować się opóźnieniem 4,2 ms. Jest to duża różnica przy zastosowaniach transakcyjnych, w których kluczem do szybkiego przetwarzania danych jest możliwie niskie opóźnienie i szerokie pasmo danych, także z pojedynczego klienta.

Inaczej sytuacja wygląda w przypadku zastosowań rozproszonych, takich jak przetwarzanie danych w komputerach dużej mocy (HPC - High Performance Computing) lub składowanie danych na potrzeby wielowęzłowego klastra webowego. W takim modelu rozproszenie zadań między węzły klastra obliczeniowego sprawia, że połączenia do macierzy dyskowych są realizowane równolegle z różnych źródeł. Macierz scale-out, taka jak Isilon, charakteryzuje się tym, że każde zapytanie o dany plik przejmuje jeden węzeł niezależnie od pozostałych, a zatem kumulatywne pasmo macierzy jest bardzo szerokie. Chociaż opóźnienie jest większe niż przy tradycyjnych macierzach, duży klaster rekompensuje to wielowęzłowym równoległym pobieraniem i zapisywaniem danych - dzięki temu może osiągnąć ponad 1 mln IOPS (co dowodzą testy Specsfs 2008 NFSv3, wynik dwa razy wyższy od osiągnięć macierzy VNX w badanym środowisku).

Mariaż niedobrany

Gdyby podłączyć pojedynczy serwer do klastra scale-out takiego jak Isilon, zapytania byłyby obsługiwane przez pojedyncze urządzenie z całego klastra, a zatem wydajność byłaby ograniczona. Aby osiągnąć lepszą wydajność, niezbędne byłoby zastosowanie load balancera, który rozproszyłby zapytania na wiele węzłów klastra urządzeń Isilon. Nie zawsze takie rozwiązanie ma sens, dlatego przyjmuje się, że Isilon sprawdzi się dobrze w środowiskach, które potrzebują ekstremalnej skalowalności, szczególnie w modelu rozproszonym. Ponadto wyższe opóźnienia macierzy scale-out mogą mieć znaczenie przy bardzo obciążonych zastosowaniach transakcyjnych.

Gdyby do rozległego klastra webowego dołączyć macierz w modelu scale-up, wówczas nastąpi skumulowanie obciążenia w jednym miejscu. Dopóki wydajność takiej macierzy jest wystarczająca, infrastruktura działa poprawnie, ale gdy obciążenie dojdzie do granic możliwości macierzy, nie da się skalować jej poziomo. Gdyby chcieć wysoko skalować macierz scale-up w zastosowaniach plikowych wymagających pojemnej spójnej przestrzeni nazw, może się okazać, że mimo wystarczającej wydajności pojemność zasobów może okazać się niewystarczająca. W macierzach skalowanych poziomo ten problem nie występuje.

Komentarz

Daniel Michalczak, Mid-Tier Territory Sales Manager

Portfolio produktów firmy EMC zawiera rozwiązania praktycznie dla każdej firmy, bez względu na jej wielkość i branżę, w której funkcjonuje. Należy zatem dobrać technologię tak, by zaspokoić potrzeby IT w optymalny kosztowo sposób, a jednocześnie zapewnić organizacji możliwość planowanego rozwoju w przyszłości. Dla obciążeń transakcyjnych, takich jak systemy ERP, najlepszym wyborem będzie macierz o konstrukcji scale-up. Aby sprostać potrzebom firm, w naszym portfolio znajduje się 5 modeli z serii VNX: VNX5100, VNX5300, VNX5500, VNX5700 i VNX7500, a także urządzenia VNXe:3100 oraz 3300 o mniejszej wydajności przeznaczone dla sektora małych i średnich firm, co umożliwia zaspokojenie potrzeb IT każdej wielkości. Inwestycja w rozwiązania storage odbywa się w dość długich cyklach, zatem przy wymiarowaniu projektu należy uważnie oceniać docelowy rozmiar budowanego środowiska. Przy takim projekcie macierze z serii VNX oferują najniższy koszt powierzchni użytkowej per gigabajt utrzymując jedne z najwyższych wydajności w swojej klasie.

Jeśli IT wykorzystuje rozproszone przetwarzanie danych w postaci klastra webowego lub superkomputera, a jednocześnie wymaga zasobów o bardzo wysokiej dostępności i wydajności wykraczającej poza możliwości standardowych macierzy, zazwyczaj lepszym wyborem będzie klaster EMC Isilon. Proces budowy takiego klastra jest prosty, urządzenia są dostępne w trzech typach, przy czym mogą one współpracować ze sobą w elastyczny sposób, a rozbudowa odbywa się poprzez dodanie nowego węzła. Isilon jest także macierzą z wyboru, gdy potrzeba przechować duże zasoby plikowe, które będą charakteryzować się olbrzymim przyrostem ilości składowanych danych przy zachowaniu bardzo wysokich przepustowości. W takim przypadku rozwój rozpoczyna się od niewielkiej instalacji (od trzech urządzeń w górę), a kolejne węzły dodaje się w miarę potrzeb. Ostateczna skumulowana wydajność klastra zależy jedynie od ilości węzłów i rośnie razem z jego rozwojem. Gdyby chcieć dla takiego środowiska kupić docelową macierz, należałoby ją albo bardzo mocno przewymiarować, albo prędko wymienić, a do kosztów wymiany urządzeń dodać jeszcze koszty migracji danych.


TOP 200