Brak rozwiązań dających możliwość kontrolowania kluczowych – pozatechnicznych – aspektów funkcjonowania systemów opartych na chmurze radykalnie obniża praktyczną wartość tego modelu w dużych organizacjach. O jakie mechanizmy monitoringu warto więc zadbać?
Rozważając chmurę, warto myśleć o niej w dwóch wymiarach: modelu wdrożenia (prywatna, publiczna, hybrydowa) oraz przyszłych jej zastosowań. Należy zastanowić się, czy będzie ona zamkniętą częścią środowisk produkcyjnych, czy ma zapewniać moc obliczeniową niezbędną podczas pików obciążenia, czy też będzie wykorzystywana wyłącznie na potrzeby środowisk testowych. W każdym z tych scenariuszy rola mechanizmów monitoringu będzie nieco inna. Na wstępie postarajmy się odpowiedzieć na pytanie: wokół jakiego rodzaju korzyści koncentrują się oczekiwania i nadzieje względem modelu cloud computing? Odpowiedź nie jest jednoznaczna, ponieważ zależy ona bardzo od tego, co rozumiemy pod pojęciem chmury obliczeniowej. W ujęciu Infrastructure-as-a-Service (IaaS) czy Platform-as-a-Service (PaaS) oczekiwane korzyści są dość oczywiste – jest to szybkość dostępu do mocy obliczeniowej oraz jej malejący koszt. W przypadku SaaS mamy natomiast do czynienia z uwolnieniem modeli biznesowych oraz udostępnieniem nowego rodzaju usług dla rynku. Przykładem jest choćby Office 365, który oferowany jest w hybrydowym modelu aplikacji oraz aplikacji instalowanych lokalnie, a z drugiej strony mamy dostęp online do usługi oraz swobodną wymianę plików.
Rynek dość surowo weryfikuje koncepcję chmury PaaS czy IaaS, co wynika z faktu, że szybki dostęp do infrastruktury to zaledwie wycinek zagadnień, z jakim się mierzy duża informatyka. Organizacje dopiero zaczynają się uczyć, jak automatyzować budowanie całych środowisk, od sprzętu, poprzez dane, aż po aplikacje, co – w efekcie – otworzy drogę do efektywnego korzystania z właściwości chmury jako takiej. Nieco inaczej ma się wykorzystanie oprogramowania w modelu SaaS. Tutaj, poza kwestiami bezpieczeństwa, bariera wejścia nie jest duża. Z tego powodu SaaS jest ciekawym rozwiązaniem, w szczególności dla sektora małych i średnich przedsiębiorstw. Przykładem jest nasza firma, która choć ma własny sprzęt, to jednak wszystkie istotne biznesowo usługi, takie jak: poczta, CRM, zasoby plikowe czy księgowość, wykorzystuje w formie kupionych na rynku usług SaaS. Rozważając chmurę, warto myśleć o niej w dwóch wymiarach: modelu wdrożenia (prywatna, publiczna, hybrydowa) oraz przyszłych jej zastosowań. Należy zastanowić się, czy będzie ona zamkniętą częścią środowisk produkcyjnych, czy ma zapewniać moc obliczeniową niezbędną podczas pików obciążenia, czy też będzie wykorzystywana wyłącznie na potrzeby środowisk testowych. W każdym z tych scenariuszy rola mechanizmów monitoringu będzie nieco inna.
INNE OCZEKIWANIA W RÓŻNYCH MODELACH
W przypadku samodzielnie funkcjonujących środowisk produkcyjnych w chmurze publicznej kluczowe jest zapewnienie ich sprawnego i ciągłego funkcjonowania, ze szczególnym wskazaniem optyki użytkownika systemu, a co za tym idzie – zagadnień monitoringu aplikacyjnego, infrastrukturalnego i sieciowego. Tutaj bardzo istotne jest wskazanie w punkt istoty każdego występującego problemu, a także możliwość przekazania informacji zgodnie z wymaganiami bezpieczeństwa, zasadami czy regulatora. Z kolei w przypadku chmury hybrydowej i środowisk produkcyjnych ważne są nie tylko kwestie wskazane wyżej, ale także zdolność zunifikowanego dostarczenia informacji nt. systemu zarówno z jego części funkcjonującej w ramach prywatnej chmury czy centrum danych, jak i części funkcjonującej w chmurze publicznej. Jeśli chodzi o środowiska nieprodukcyjne, to wymagania względem monitoringu będą nieco inne. W ich przypadku monitoring jest bowiem związany głównie z perspektywą zarządzania wydajnością oraz optymalizacji aplikacji pod kątem wdrożenia produkcyjnego. Natomiast w środowiskach programistycznych czy też testowych monitoring związany jest z perspektywą zarządzania wydajnością i przygotowaniem systemu do wdrożenia produkcyjnego. W takim przypadku, oprócz diagnostyki „w punkt”, wymagane jest wsparcie przez narzędzie komunikacji między zespołami: programistów, testerów i operacji, włączając w to możliwość pracy offline. Dodatkowymi pożądanymi elementami będą również CLOUD COMPUTING funkcjonalności związane z wykryciem mikroregresji czy zmiany dystrybucji wykorzystywanego API. Poza tym biorąc pod uwagę fakt, że chmura zwykle wymusza dynamiczną i szybką budowę środowisk, istotna staje się konieczność szybkiej rozbudowy monitoringu. Jest zatem konieczne, żeby narzędzie monitoringu pozwalało na zautomatyzowanie takich operacji.
CZEMU CHMURA ZAWODZI?
Wróćmy na chwilę do źródeł negatywnej oceny modeli PaaS i IaaS w dużych organizacjach IT. Negatywna ocena chmury wynika dziś z następujących czynników:
Obawa o bezpieczeństwo danych, dostęp dousług oraz problemy z audytem i nadzorem.
W przypadku środowiska PaaS proces tworzenia warstwy aplikacyjnej jest skomplikowany i errorogenny, najczęściej ręczny, co dyskwalifikuje wykorzystanie chmury jako takiej.
Generalnie organizacje nie mają opracowanej strategii anonimizacji danych, która obejmuje wszelkie aspekty od ustawienia reguł maskowania, poprzez ich logowanie, po logowanie procesu maskowania oraz dystrybucji danych, a także jest niezbędna w kontekście zastosowania chmury na potrzeby testów.
Zasadniczo brak jest możliwości dostarczenia kopii danych do chmury przy zachowaniu niskich kosztów. Trudno wyobrazić sobie, w jaki sposób dostarczyć do chmury środowisko odwzorowujące np. trzy rodzaje baz danych różnych producentów, z pełnymi i odpowiednio zamaskowanymi kopiami danych.
Zwyczajowy monitoring chmury skupiony jest na monitoringu infrastruktury, dostarczanym przez dostawcę środowiska cloud. Niestety, zwykle takie rozwiązanie nie wnosi istotnej wartości informacyjnej dla właściciela, opartego na chmurze, systemu biznesowego. Jego interesuje bowiem jakość usługi dla użytkownika końcowego, rodzaj doświadczenia z pracy systemem oraz informacje biznesowe, które w powiązaniu z monitoringiem technicznym dostarczają jasnej odpowiedzi, czy IT zapewnia dobrej jakości systemy, które generują przychód dla organizacji.
Wszystkie te wymagania są niespełnialne, gdy myślimy o dużej ilości szybko tworzonych środowisk IT. Na to nakłada się też naturalna niechęć do wykorzystywania kolejnego interfejsu służącego budowaniu takich środowisk, zwłaszcza, jeśli w organizacji funkcjonują już inne rozwiązania typu PaaS lub IaaS.
MONITORING JAKO UŁATWIENIE WE WDRAŻANIU CHMURY
Aby chmura stała się realnie użyteczna, powinna stać się częścią całościowego, przemyślanego planu budowy środowisk nieprodukcyjnych, których cena jednostkowa musi być racjonalna. Jest to istotne zwłaszcza w obliczu rosnącego zapotrzebowania na ilość środowisk obliczeniowych w większości dużych organizacji. Warto zwrócić uwagę, że taka jest charakterystyka rozwiązań typu SaaS – tworzą one zamkniętą, racjonalną cenowo całość. PaaS i IaaS nie mają takich cech – są zaledwie cząstkowym rozwiązaniem większego problemu i zgodnie z teorią ograniczeń, niestety nie rozwiązują jedynego i chyba największego wąskiego gardła w całym procesie, który de facto sprowadza się do automatycznego budowania środowisk i wdrażania nowych wydań w trybie ciągłym. Aby rozwiązać ten problem, dostawca platformy cloud powinien, we współpracy z klientem, zapewnić narzędzia wspierające:
- Zautomatyzowany proces budowania środowisk obliczeniowych, wbudowane w platformę chmurową, a także zintegrowane lub identyczne względem rozwiązań wykorzystywanych lokalnie przez danego klienta.
- Zautomatyzowane budowanie aplikacji, orkiestrację komponentów i – co najważniejsze – zapewniające możliwość cofnięcia wykonanej operacji, gdy wdrożone rozwiązanie nie funkcjonuje zgodnie z oczekiwaniami.
- Dostarczenie danych do chmury, a także ich maskowanie. Standardowo dostarczenie dużego wolumenu danych, przykładowo kopii danych produkcyjnych, odpowiednio zanonimizowanych jest bardzo trudne i kosztowne czasowo. W przypadku rosnącej potrzeby ilości środowisk sytuacja pozornie staje się nierozwiązalna – bo jak zbudować i dostarczyć kilkanaście czy kilkadziesiąt kopii danych o wielkości 10 TB każda do chmury, i w jakim cyklu odświeżać te środowiska? Na szczęście istnieją już rozwiązania systemowe, które radzą sobie z tym zagadnieniem.
- Tworzenie chmurowego repozytorium artefaktów, które pozwoli zdefiniować polityki i zarządzać ryzykiem związanym z ogromną ilością bibliotek i frameworków używanych we współczesnym pro- cesie tworzenia oprogramowania.
Monitoring środowisk chmurowych musi przy tym wykraczać pozastandardowe podejście typu: dostępność maszyny, poziom wykorzystania CPU, pamięci czy storage, gdyż tego typu informacja jest istotna tylko i wyłącznie dla infrastruktury IT. W przypadku środowisk chmurowych ważna jest perspektywa użytkownika końcowego oraz perspektywa transakcji biznesowej, która pozwala powiązać podróż klienta z jakością systemu i jego funkcjonalnością.
ATRAKCYJNA CHMURA PUBLICZNA
Jeśli chodzi o atrakcyjność chmury publicznej, wydaje się zasadną hipoteza, że dopóty cloud nie będzie częścią całościowego, spójnego i automatycznego procesu budowania monitorowanych środowisk, dopóki jego wartość będzie czysto marketingowa. Takie rozwiązania zaczynają już funkcjonować na rynku, a klienci zaczynają powoli z nich korzystać. Na razie jest to użycie fragmentaryczne, ale widać już na dalekim horyzoncie zmiany, które winny przynieść korzyści zarówno klientom, jak i dostawcom.