MultiCloud – rewolucja czy tylko strategia?

chmura prywatna
infrastruktura IT
Krzysztof Surgut
07.12.2017 Krzysztof Surgut

Cloud computing to dziedzina tak stara jak pierwsze komputery. Przez ostatnie lata „chmury” to temat, z którym największe firmy informatyczne na świecie wiążą duże nadzieje. Nie tylko na nadziejach się opierają, lecz przeznaczają na rozwój usług chmurowych olbrzymie budżety. Tym samym powstają coraz to nowe chmury, wśród których można zauważyć coraz większą specjalizację.

Obok największych chmur publicznych Amazon (AWS) czy Microsoft (Azure) powstają kolejne, które idą w kierunku specjalizacji, jak np. usługi Scrubbing Center, czy usługi zarządzania sieciami SDN (z ang. service delivery network). Mnogość oferowanych usług chmurowych sprawia, że pojawia się zapotrzebowanie na ich wzajemną integrację. Wszystko po to, aby tworząc nową aplikację móc wykorzystać z funkcje z różnych chmur. W ten sposób pojawiło się nowe pojęcie – Multi Cloud, czyli zbudowanie heterogenicznej architektury aplikacji, w której wykorzystane zostaną zasoby więcej niż jednej chmury.


Multi Cloud


Niektórzy mylą pojęcie MultiCloud z chmurą hybrydową (z ang. Hybrid Cloud). Czym to się różni? Chmura hybrydowa także wykorzystuje różne rodzaje i modele usług chmurowych, jednak integracja uwzględnia także warstwę sprzętową. Oznacza to, że chmura hybrydowa potrafi łączyć kolokację z prywatnymi serwerami powiązaną z publiczną chmurą. W przypadku MultiCloud nie ma mowy o sprzęcie, integruje się wyłącznie usługi dostępne w modelu chmury. Czasami mylone jest pojęcie Multi Cloud z Wieloplatformowością (z ang. Multi Cloud Platform). W przypadku Wieloplatformowości chodzi o wirtualne środowiska informatyczne, które można osadzać na wielu różnych platformach systemu operacyjnego np. CentOS, SUSE, Ubuntu, Windows itd. Pomyłka może wynika z faktu, iż wirtualne środowiska informatyczne stanowią bazę do budowy usług chmurowych.

Obecnie Multi Cloud jest w początkowej fazie swojego rozwoju. Wynika to z faktu, iż usługi chmurowe są w fazie szybkiego wzrostu i ich architekci wciąż dokładają nowe funkcjonalności. Tym samym nie ma na rynku obecnie powszechniej usługi, którą można by nazwać Multi Cloud. Jednak coraz części architekci oprogramowania w przedsiębiorstwach kusi chęć wykorzystania usług chmurowych z więcej niż jednej platformy. Tym samym coraz śmielej powstają projekty systemów informatycznych i aplikacji, które bazują na istniejących już usługach chmurowych, a zadaniem wytworzonej aplikacji jest odpowiednie ich wykorzystanie w ramach przewidzianych w przedsiębiorstwie procesów. Skoro w ramach usługi w chmurze może posiadać prawie nieograniczone zasoby przechowywania danych (z ang. storage). W dodatku dowolnie można skalować zapotrzebowanie na moc obliczeniową (z ang. computing power) wspieraną dowolną ilością pamięci RAM. Ponadto, jeżeli istnieją w modelu chmurowym takie specjalizowane usługi jak Google Maps czy usługi automatycznego rozpoznawania twarzy/głosu. To po co budować swoją własną serwerownię, wyposażoną w setki serwerów, skoro dostęp do gotowych usług można mieć praktycznie „od ręki”?

Co zatem jest potrzebne do zbudowania rozwiązania Multi Cloud?

Na początek niezbędna jest solidna wiedza o możliwościach każdego z rozwiązań chmurowych, z których chcemy skorzystać. Potem niezbędna jest wiedza, w jaki sposób można się do usług w każdym rozwiązaniu chmurowym odwoływać przy wykorzystaniu dostarczonego przez właściciela chmury API. Mając taką bazową wiedzę, można zacząć budować architekturę obiegu informacji w aplikacji, która ma korzystać z możliwości więcej niż jednej chmury.

O czym warto pamiętać, budując aplikację w oparciu o możliwości więcej niż jednej chmury? Na początek warto umiejscowić użytkownika i precyzyjnie zwymiarować jakie informacje mamy takiemu użytkownikowi dostarczyć. Wiedząc co ma dostać użytkownik, należy zidentyfikować wszystkie potrzebne źródła danych, wraz z parametrami potrzebnymi do wywołania tychże danych. W kolejnym kroku należy w architekturze wpisać zasoby każdej z chmur, z których chcemy skorzystać, aby dane dostarczyć, oraz zwymiarować punkty styku z zasobami każdej z chmur (API). Na koniec należy dobrać odpowiednie technologie (bazy danych, środowiska itd.) oraz zastanowić się jak te wszystkie zasoby przydzielić do front-end’u i back-end’u tworzonej aplikacji. Na sam koniec do wytworzenia będzie UX użytkownika oraz szereg mechanizmów kontrolno-monitorujących, aby działanie aplikacji było przewidywalne i mierzalne. Ostatecznie zostanie tylko do opracowania plan backup’ów i archiwizacji, wraz z procesem przywrócenia aplikacji do działania w wyniku jakiejś awarii czy błędu administratora/programisty.

Teoretycznie proste i standardowe. W rzeczywistości dużo bardziej skomplikowane i nieprzewidywalne. Jednak bardzo kuszące z uwagi na dużo niższe koszty uruchomienia aplikacji oraz skalowalność i przewidywalność w zakresie kosztów utrzymania. Niewątpliwym wyzwaniem w rozwiązaniach Multi Cloud jest kwestia bezpieczeństwa. Obecnie kwestia bezpieczeństwa usług opartych o jedną chmurę wymaga sporej pracy w zakresie zapewnienia bezpieczeństwa przechowywanych danych oraz ograniczenia podatności na ataki hakerskie. W przypadku środowisk Multi Cloud zadanie komplikuje się dużo bardziej, z uwagi na fakt, iż każda chmura ma swoją własną politykę bezpieczeństwa i obiegu informacji. Tym samym zdecydowanie bardziej komplikuje się kwestia zapewnienia integralności polityki bezpieczeństwa dla całej aplikacji. W dodatku powiązanie dwóch rozwiązań chmurowych w jednej aplikacji może spowodować pojawienie się nowych podatności, które dotychczas nie były znane.

Jest jeszcze jeden aspekt, który należy rozważyć przy budowaniu architektury Multi Cloud – to szybkość działania. Ten wątek jest szczególnie istotny w przypadku aplikacji globalnych, gdzie czas podróży pakietów z informacją jest zauważalny nawet dla człowieka. O ile przy wykorzystywaniu zasobów chmur publicznych problem jest stosunkowo prosty, o tyle w przypadku chmur specjalizowanych o zasięgu lokalnym, może pojawić się problem z szybkością działania aplikacji dla użytkowników z różnych rejonów geograficznych.


Multicloud: korzyści i zagrożenia


Jak każde rozwiązanie ze świata IT, także MultiCloud ma swoje zalety i wady. Główną korzyścią z wykorzystania usług więcej niż jednej chmury to niewątpliwie krótki czas uruchomienia usługi. Skoro korzystam z czegoś, co już istnieje, to nie tracimy czasu i pieniędzy na stworzenie tego. W dodatku rozwiązanie w chmurze ma swoje SLA, więc dużo łatwiej jest nam przewidzieć dostępność tworzonej aplikacji. Niewątpliwą zaletą będą również koszty w zakresie wytworzenia aplikacji, która korzysta z gotowych usług chmurowych, jak również przewidywalności kosztów późniejszego utrzymania.

Multi Cloud ma także szereg wad, o których warto pamiętać. Każdy właściciel rozwiązania chmurowego może zmienić swoją strategię i wyłączyć dotychczas dostępną usługę. Decyzja taka może być podyktowana różnymi względami – począwszy od decyzji ekonomicznej, przez rynkową, po decyzję blokowania konkurencji. W każdej chwili może ulec specyfikacja sposobu wymiany danych (API), co pociąga za sobą ciągłą modyfikację działającej aplikacji. Nie bez znaczenia są też kwestie bezpieczeństwa oraz prawnej odpowiedzialności za naruszenie prywatności czy utraty danych wrażliwych (Więcej o tym, jak zadbać o bezpieczeństwo IT w firmie znajdziesz tutaj). Może się także zdarzyć, że nie będziemy w stanie określić w jakiej części świata dane są przetwarzane a w jakiej są przechowywane. Ma to swoje konsekwencje w jurysdykcji i odpowiedzialności prawnej.


Multi Cloud czy chmura hybrydowa?


Pojawia się zatem pytanie, czy Multi Cloud jest lepszy niż chmura hybrydowa, czy też odwrotnie?

  • Po pierwsze nie są to rozwiązania zamienne. Chmura hybrydowa zbudowana jest z innych klocków niż Multi Cloud.
  • Po drugie, każde z tych rozwiązań ma inną formę optymalizacji nakładów, kosztów i czasu.
  • Po trzecie, każde z tych rozwiązań ma odmienne zagrożenia.

Jedno jest pewne, z uwagi na ciągły, dynamiczny rozwój publicznych chmur, rozwiązanie chmury hybrydowej ma lepszą perspektywę czasową w zakresie modyfikacji w wyniku zmian po stronie usługodawcy. Zdecydowanie wolniej zmienia się detale w modelach usługowych chmury hybrydowej niż w przypadku modyfikacji interfejsów API po stronie usługodawców platform chmurowych. Ponadto, budując chmurę hybrydową, mamy szansę w pełni zarządzać informacją, którą będziemy przetwarzać, co w przypadku Multi Cloud jest mocno ograniczone.


Podsumowanie


Na obecnym etapie rozwoju usług chmurowych, rozwiązanie Multi Cloud może być rozpatrywane wyłącznie dla bardzo dużych aplikacji, od których oczekuje się krótkiego czasu wdrożenia i szybkiej obecności na coraz mocniej zmieniającym się rynku. Jeżeli potrzebujesz rozwiązania MultiCloud, skontaktuj się z nami TUTAJ.

W zakresie oczekiwań polskich przedsiębiorców zdecydowanie lepszym rozwiązaniem jest usługi kolokacji – dla istniejących zasobów informatycznych przedsiębiorcy, a w przypadku tworzenia własnej aplikacji, która nie wymaga posiłkowania się usługami z platform chmurowych – zdecydowanie korzystniejszym jest skorzystanie z usługi serwerów dedykowanych. Oba warianty obniżają koszty, skracają czas implementacji oraz pozwalają na przyrost zasobów w miarę pojawiających się potrzeb. Multi Cloud to wciąż lepsze rozwiązanie, które powinny uwzględniać długo- i średniookresowe strategie rozwoju aplikacji, niż bieżąca potrzeba chwili czy możliwości rynku.

Krzysztof Surgut
Krzysztof Surgut krzysztof.surgut@dataspace.pl Przez ostatnie 15 lat współrealizował zaawansowane, ogólnopolskie projekty telekomunikacyjne i informatyczne (m.in. w Dialog, HAWE). Ekspert z zakresu systemów transmisji danych, VoIP, IPTV, systemów bezpieczeństwa oraz systemów radiowych. Współtwórca pierwszego w Polsce Scrubbing Center.
Bezpieczeństwo IT
Atak SSL oraz sposoby ochrony przed nim
Infrastruktura IT
Monitoring jako nieodzowny element infrastruktury IT
   /   Infrastruktura IT   /   MultiCloud – rewolucja czy tylko strategia?