Na rynku istnieje kilka
rozwiązań wspomagających budowę chmury prywatnej. Należy podkreślić, że są
w wysokim stopniu konfigurowalne, jednocześnie dość skomplikowane, bo
składające się z wielu mniejszych elementów, które w procesie budowy
chmury trzeba ze sobą połączyć. Rozwiązania te znacznie różnią się między sobą,
nie tylko ze względu na użyte technologie, ale także efekt końcowy, który
uzyskuje przedsiębiorstwo po wdrożeniu. Wynika to poniekąd
z marketingowego podejścia do pojęcia chmury i braku jednoznacznej
definicji, czym jest ona w rzeczywistości. Często rozwiązania tylko
nieznacznie wychodzące poza efekt, jaki daje wirtualizacja serwerów, ze
względów propagandowych nazywane są chmurą. W tym artykule przez
środowisko chmury obliczeniowej rozumieć będziemy rozwiązanie, które nie tylko
prowadzi do zwirtualizowania zasobów obliczeniowych i pozwala na elastyczne
zarządzanie nimi, ale umożliwia także daleko posuniętą automatyzację
administrowania tymi zasobami, przejawiającą się m.in. w samoczynnej
migracji aplikacji na inny serwer, gdy nastąpi awaria lub w celu lepszego
i bardziej energooszczędnego zarządzania posiadanymi zasobami sprzętowymi.
Koncepcje działania tych mechanizmów omówione są w dalszej części
artykułu.

Cechą, która różni chmury
prywatne, dedykowane czy publiczne od hostingu witryn internetowych lub
serwerów VPS, jest pełna automatyzacja we wszystkich warstwach systemu,
sprzętu, wirtualizatora, systemów operacyjnych i, co najważniejsze, biznesowej
logiki aplikacji. To w tej warstwie bowiem najczęściej pojawiają się
problemy ze skalowalnością czy awariami i najtrudniej je rozwiązać.
Czasami prosty restart serwera Web, a nawet całego VPS, nie likwiduje
problemu. Wtedy właśnie ujawnia się przewaga chmury prywatnej. Na podstawie
pełnej wiedzy o strukturze i bieżących parametrach pracy systemu
podejmuje ona decyzję o skutecznym rozstrzygnięciu kłopotu. Jeśli na przykład
system monitoringu uzna, że serwer obsługujący strony internetowe osiągnął już
limit wydajności i nie pomaga „dołożenie”
następnego procesora
wirtualnego do działającego systemu, może uruchomić kolejną instancję takiego
serwera i zintegrować go z już działającym systemem, likwidując
automatycznie wąskie gardło aplikacji. W innej sytuacji, jeśli okaże się,
że działanie kilku systemów wirtualnych wewnątrz jednego hosta powoduje
konflikty i nieefektywne wykorzystanie np. kanałów dyskowych, takie
systemy zostaną automatycznie, bez zatrzymywania, rozdzielone
i przeniesione na inne węzły naszego klastra wirtualizacyjnego. To właśnie
zaawansowane mechanizmy automatyki, obejmujące wszystkie warstwy przetwarzania,
różnią chmury od systemów hostingowych
– mówi Michał Jędrzejczak, główny architekt rozwiązań
infrastruktury IT w Microsoft Polska.

System Center Virtual Machine 
Manager 2012 – konsola 
administracyjna

System Center Virtual Machine  Manager 2012
– konsola
administracyjna

 

Aby zilustrować tę koncepcję, rozważmy przykład praktyczny. Typowa
usługa, z której korzysta się praktycznie w każdej firmie, to poczta
elektroniczna. W architekturze starszego typu pojedyncza instancja serwera
Exchange, na którym jest zainstalowana lub po prostu działa ta usługa, może być
w razie awarii jedynie przeniesiona na inny węzeł, co zawsze zajmuje sporo
czasu, albo uruchomiona ponownie na tych samych zasobach sprzętowych, pod
warunkiem, że są sprawne, co zajmuje jeszcze więcej czasu i ogranicza
dostępność usługi. Co gorsza, w sytuacji, gdy sama aplikacja uległa
uszkodzeniu, jej przeniesienie na inny węzeł oznacza powielenie błędu, który
doprowadził do jej wadliwego działania, a „podniesienie” jej po restarcie
też nie zawsze przynosi efekt. W przypadku chmury pojedyncza instancja
Exchange jest na bieżąco monitowana pod kątem wskaźników istotnych dla SLA,
czyli np. czasu odpowiedzi serwera, czasu, który potrzebny jest na wysłanie
pojedynczego e-maila. Jeżeli czasy te nie są zagrożone z punktu widzenia
wskaźników SLA – system nie musi podejmować czynności. Jeżeli jednak
zbliżają się do wyznaczonych granic, wówczas instancja jest powielana,
a część skrzynek e-mailowych przenoszona bezpiecznie na nowy węzeł. Jeśli ponownie sytuacja
stanie się groźna, tworzona jest kolejna instancja i znów następuje
migracja części skrzynek. Taka metoda gwarantuje bezpieczne skalowanie, bez
względu na liczbę użytkowników, których trzeba obsłużyć. Gdy obciążenie
pojedynczych instancji serwera się zmniejsza, oprogramowanie chmury podejmuje
automatycznie działania scalające skrzynki, co zwalnia nam zasoby sprzętowe
i pozwala zaoszczędzić moc obliczeniową i koszty jej utrzymania.

 

Mariusz
Kędziora,
IT Pro  Evangelist, Microsoft Polska

 

Patrząc na
chmurę pod kątem architektonicznym, widzimy cztery stałe elementy,
z których jest zbudowana: system do zarządzania tożsamością, warstwa wirtualizacyjna, systemy operacyjne oraz aplikacje.
Jednak, aby z tych elementów móc stworzyć chmurę prywatną, należy
wyposażyć je dodatkowo w rozwiązania do zarządzania, monitoringu
i automatyzacji procesów, a także opracować system wewnętrznego rozliczania
usług świadczonych w ramach chmury prywatnej. Chmura prywatna ma wiele
cech wspólnych z chmurą publiczną, takich jak pule zasobów, samoobsługa,
elastyczność i model opłat jedynie za faktyczne zużycie. Rozwiązanie jest
dostarczane w formie wystandaryzowanej, ale przy użyciu specjalistycznych
zasobów można je dostosować do własnych potrzeb i zwiększyć zakres
posiadanej kontroli. Wirtualizacja jest istotnym składnikiem technicznym chmury
prywatnej, jednak najważniejszy czynnik, który wyróżnia to rozwiązanie, to nieustanne
tworzenie abstrakcyjnych tzw. puli obliczeniowych z infrastruktury
i komputerów (wirtualnych oraz fizycznych) zapewniających te zasoby.

Zaczynamy od wirtualizacji zasobów, a kończymy
w chmurze

Po wyjaśnieniu, do czego może nam się
przydać chmura prywatna, spróbujmy zbudować ją z komponentów, które są już
dziś dostępne. Jak wspomniano na wstępie, pierwszym etapem budowy chmury
prywatnej jest stworzenie spójnego systemu zarządzania tożsamością. System ten
będzie autoryzował wszystkie kolejne działania i usługi realizowane
w ramach naszej chmury. Na tak przygotowanym fundamencie można
zwirtualizować zasoby serwerowe. Budując środowisko wirtualne, tworzymy
jednocześnie podstawy do działania chmury prywatnej, umożliwiającej świadczenie
zaawansowanych usług (IaaS, PaaS, SaaS). W tym celu można wykorzystać
wbudowany już w Windows Server 2008 R2 wirtualizator Hyper-V (można go
również pobrać bezpłatnie). Zwirtualizowane środowisko to jednak dopiero pierwszy
etap budowy chmury prywatnej. Maszynami wirtualnymi trzeba przecież zarządzać.
Rozwiązaniem, które doskonale sprawdzi się w realizacji tego typu zadań
i umożliwi zarządzanie maszynami wirtualnymi w środowiskach
heterogenicznych, jest System Center Virtual Machine Manager. SCVMM pozwala
zrobić dużo więcej niż sama konsola do obsługi Hyper-V, wbudowana
w Windows Server. Dzięki niemu będziemy mogli łatwo przenosić maszyny
wirtualne, korzystać z podpowiedzi, co zrobić z niedociążonym lub przeciążonym
serwerem, stosować wbudowane biblioteki z obrazami systemów, plikami ISO,
skryptami.

SCVMM jest
systemem wykonawczym, który w zależności od sytuacji, na podstawie
zdefiniowanych przez administratora reguł, będzie dodawać lub zabierać zasoby.
Jeżeli jednak wzbogacimy go o portal samoobsługowy (SCVMM Self Service
Portal 2.0), zapewniamy pracownikom firmy niejako samodzielną obsługę
środowiska serwerów wirtualnych za pomocą narzędzia do rezerwacji zasobów
potrzebnych im do realizacji ich celów biznesowych. Dzięki temu portalowi
zgłaszane jest zapotrzebowanie użytkowników (działów biznesowych) na zasoby
niezbędne do realizacji projektów. Użytkownik – pod tym pojęciem może kryć
się osoba z działu IT, która jest opiekunem danego działu biznesowego
– określa, ile maszyn, instancji baz danych, zasobów pamięci
i procesora jest potrzebnych. Zgodnie z zapotrzebowaniem, zasoby te
są mu potem przydzielane, jeśli taki wniosek zostanie zaakceptowany przez
administratora chmury prywatnej. Oczywiście, dzięki zaletom wirtualizacji, suma
deklarowanego obciążenia przez wszystkich użytkowników biznesowych może być
wyższa od rzeczywistych zasobów IT, którymi dysponuje przedsiębiorstwo. Dzieje
się tak dlatego, że przez większość czasu sumaryczne zapotrzebowanie nie
przekracza możliwości serwerów. Na etapie deklaracji zapotrzebowania na usługę
przez stronę biznesową i akceptacji zgłoszenia przez IT następuje ważny
moment. To właśnie wtedy zawierana jest umowa między działami, dotycząca
z jednej strony obciążenia budżetu biznesu każdego z nich,
a z drugiej – usługi, jaką w odpowiedzi na zapotrzebowanie
działu biznesowego dostarczy dział IT.

Kluczem do poprawnego
działania chmury prywatnej jest możliwość stałego, dogłębnego monitorowania
przygotowywania raportów o działaniu wszystkich jej warstw oraz procesów
w nich zachodzących. Do tego celu można wykorzystać System Center
Operations Manager (SCOM), narzędzie umożliwiające obsługę wielu platform
serwerowych, różnych systemów operacyjnych i wirtualizatorów. SCOM ma
jeden przejrzysty interfejs, który pokazuje aktualny stan i informacje
o wydajności sprzętu, systemów i aplikacji. Na podstawie zbieranych
danych o dostępności, konfiguracji lub bezpieczeństwie poszczególnych
systemów powiadamia również o ewentualnych problemach oraz przedstawia
proponowane rozwiązania z bazy wiedzy. Tak przekrojowy monitoring,
z rozbudowaną warstwą raportową, jest nieodzownym narzędziem do utrzymania
wysokiego poziomu usług przez IT oraz rozliczania się z nich w ramach
chmury prywatnej. Natomiast administratorom SCOM znacząco ułatwia wczesne
wykrywanie i rozwiązywanie problemów w środowiskach heterogenicznych.

Ponieważ docelowo chmura
prywatna, którą budujemy, będzie utrzymywać wiele złożonych usług, warto
wyposażyć ją w mechanizmy zaawansowanej automatyki. Ten element tworzymy,
wykorzystując System Center Orchestrator. Rozwiązanie to pozwala zintegrować
wszystkie heterogeniczne komponenty naszej chmury i realizować sekwencje
czynności administracyjnych, rozwiązując na przykład automatycznie pojawiające
się problemy.

Dodatkowe źródła informacji

• Wersje testowe komponentów chmury
omawianych w artykule: http://www.microsoft.com/pl-pl/server-cloud/datacenter/virtualization-trial.aspx

• Strona o Chmurze Prywatnej
Microsoft – jak zacząć: chmuraprywatna.microsoft.pl;

http://www.microsoft.com/pl-pl/server-cloud

• Strona o System Center: www.microsoft.pl/systemcenter

• Polski Portal TechNet (baza wiedzy,
fora dyskusyjne, wersje ewaluacyjne
oprogramowania): http://technet.microsoft.com/pl-pl/

• Polski portal społeczności
Microsoft (artykuły, fora, newsy, porady): www.wss.pl

• Zostań Guru Wirtualizacji (darmowe
szkolenia, warsztaty, konferencje): http://vGuru.pl