Chmura obliczeniowa (Cloud Computing) rozłożona na części pierwsze

chmura prywatna
Krzysztof Surgut
17.11.2017 Krzysztof Surgut

Cloud computing ma dość długą historię i wbrew pozorom nie jest wymysłem ostatnich lat. Na początku ery komputerów i sieci komputerowych, terminale zwane później PC, miały bardzo małą moc obliczeniową. W tamtym czasie komputery to były bardzo duże urządzenia, które miały olbrzymie zapotrzebowanie na moc energetyczną.

Zadania jakie wykonywały takie komputery, były zlecane przy pomocy terminali. Tak było w latach 50-tych XX-wieku. W latach 70-tych pojawiło się pojęcie „wirtualnych maszyn”. W ten sposób nauczono się używać tego samego hardware (komputera) do wykorzystywania jego możliwości przez różne środowiska komputerowe. W tamtym czasie największym ograniczeniem tej technologii był zasięg i przepływność sieci komputerowej.

Do pełnego rozwinięcia się wirtualnych maszyn oraz współdzielenia mocy obliczeniowej na skalę masową potrzebne były wydajne sieci rozległe, na które w końcu XX-wieku sieci operatorów telekomunikacyjnych jeszcze nie były gotowe. Przełom nastąpił wraz z rozwojem operatorskich sieci telekomunikacyjnych oraz spopularyzowaniu się zarówno Internetu, jak również szybkim zwiększeniu się możliwości transferu danych pomiędzy terminalem a serwerami. Sam pamiętam, jak pasmo 128kb/s traktowane było jako szybkie, biznesowe łącze do Internetu.


Cloud Computing


Jak działa Cloud Computing? Aby zrozumieć działanie przetwarzania w chmurze, wyobraź sobie, że na ekranie swojego smartfona otwierasz aplikację. Po uruchomieniu aplikacji pobiera ona poprzez Internet różne dane, które prezentowane są na ekranie smartfona. Pobrane dane mogą być uzależnione od aktualnych parametrów różnego rodzaju czujników smartfona, np. odbiornika GPS. Parametry odczytane z odbiornika GPS są wysyłane przez Internet do centralnego systemu usługowego, który po przetworzeniu zwrotnie przesyła wynik obliczeń. W ten sposób uzyskujesz wynik skomplikowanych obliczeń, do których moc obliczeniowa smartfona byłaby zdecydowanie za mała. W tym przypadku „całą robotę” wykonuje zewnętrzny komputer, z którym aplikacja w smartfonie potrafi się komunikować.

Pierwszym elementem wymagającym wyjaśnienie jest pojęcie cloud, czyli „chmury”. Co w praktyce nazywane jest w ten sposób? Przez „chmurę” należy rozumieć bliżej nieokreślony sprzęt informatyczny, który wraz z oprogramowaniem daje dostęp wielu podmiotom do zdefiniowanej ilości funkcji i funkcjonalności, które da się zmierzyć lub zgranulować do zadanego poziomu.

W przeciwieństwie do Internetu „chmura” ma skończoną granicę, jest czyjąś własnością oraz posiada skończoną, mierzalna wydajność. Komunikacja z „chmurą” może opierać się na znanych standardach i protokołach, choć nic nie stoi na przeszkodzie, aby sposób komunikacji z „chmurą” był zdefiniowany wyłącznie dla konkretnej „chmury”, a informacje o sposobie komunikacji były poufne i udostępnianie wyłącznie wybranym instytucjom/firmom/użytkownikom.


Jak wyglądał rozwój Cloud Computing i jakie wyzwania stawiane były przed nią?


Od samego początku istnienia współdzielonych zasobów, z którego trendu wyłonił się Cloud Computing, istniało parę wyzwań, które są aktualne do dziś:

1. Bezpieczeństwo i Prywatność

Zapewnienie bezpieczeństwa danych składowanych we współdzielonych zasobach Cloud Computning to wciąż otwarta karta w historii tej technologii. Zapewnienie prywatności i ochrona zgromadzonych danych szczególnie w ostatnich latach jest tematem, nad którym pracuje dziesiątki największych firm na świecie.

2. Jakość usług

Odrębnym zagadnieniem jest jakość świadczonych usług z wykorzystaniem Cloud Computing. Dotyczy to przede wszystkim sposobu pomiaru jakości, jak i definiowania nowych pojęć związanych ze współdzielonym środowiskiem, jak choćby …

3. Dostępność

Jeżeli więcej niż jedna osoba ma dostęp do jakichś zasobów, to zawsze może się zdarzyć sytuacja, że tych zasobów zabraknie dla którejś z nich. Jak dołożymy do problemu ograniczenia zasobów transmisyjnych, jakim jest sam Internet, to komplikacja geometrycznie rośnie. Całość można zawrzeć w prostym słowie „Dostępność”, jednak zapewnienie dostępności do zasobów Cloud Computing to zagadnienie samo w sobie.

4. Dostęp do Danych

Dane przesyłane do Chmury Obliczeniowej w pewnym sensie stają się „niezależne”. W aplikacjach wykorzystujących Cloud Computing właściwie zanika pojęcie geolokalizacja, przy globalnych systemach Cloud Computing. Takie podejście do wykorzystania Cloud Computingu generuje szereg problemów związanych z transferem i przechowywaniem danych. Szczególnie w aspektach naruszenia bezpieczeństwa i integralności tychże danych.

5. Migracja

Temat migracji jest u podstaw Cloud Computingu. Każda firma, która w pewnym momencie uzna, że warto migrować na technologie Cloud Computingu, ma niemałe wyzwanie. Musi określić szereg parametrów, które pozwolą im zwymiarować praktyczne potrzeby w zakresie chmury, a także przeorganizować własną organizację, w taki sposób, aby nadążała ona za zmianą sposobu realizacji usług IT.


Rodzaje chmur


W miarę rozwoju Cloud Computing powstawały różne rodzaje „chmur”. Podstawowym kryterium podziału jest kwestia ograniczenia dostępu. W ten sposób powstał podział na 3 podstawowe kategorie.

Chmury prywatne

Chmura prywatna zbudowana jest wyłącznie dla jednego przedsiębiorstwa. Ma na celu rozwiązanie problemów bezpieczeństwa danych i oferuje większą kontrolę nad danymi, której zazwyczaj brakuje w chmurze publicznej. Chmurę prywatną można podzielić na 2 kategorie:

  • Chmurę lokalną (on-premise) – zbudowaną na własnych zasobach przedsiębiorstwa
  • Chmurę hostowaną na zewnętrznych zasobach – zbudowaną w oparciu o obce zasoby.

Chmury publiczne

Chmury publiczne bazują w 100% na zasobach podmiotów trzecich. W takim przypadku zasoby hardware są często współdzielone przez więcej niż jedną firmę, dzięki czemu uzyskuje się dużo lepsze wykorzystanie sprzętu i software. Ponadto w Chmurach publicznych dużo szybciej i elastycznej można skalować zasoby niż ma to miejsce w chmurach prywatnych.

Chmury hybrydowe

Chmury hybrydowe łączą zarówno zasoby publiczne, jak i zasoby prywatne przedsiębiorstwa. Ten rodzaj chmury pozwala na szybkie i elastyczne reagowanie na nieoczekiwane skoki zapotrzebowania na zasoby IT.


Modele Chmur


Dostawców rozwiązań chmurowych można podzielić na poniższe kategorie:

Kolokacja

Usługa polegająca na udostępnieniu profesjonalnego środowiska do instalacji sprzętowych systemów informatycznych. W ramach usługi Kolokacji zapewnione zostają takie elementy środowiska jak:

  • Zasilanie – zapewnienie mocy elektrycznej o zadanych i stałych parametrach,
  • Chłodzenie – zapewnienie efektywnego sposobu odprowadzania ciepła, generowanego przez sprzęt informatyczny,
  • Dostęp do sieci Internet – zapewnienie dostępu do światowych zasobów Internetu,
  • Ochrona dostępu – zapewnienie ochrony przed dostępem do sprzętu informatycznego osób nieuprawnionych/nieupoważnionych.

To podstawowe elementy Kolokacji. Istnieje szereg dodatkowych elementów gwarantowanych w usłudze Kolokacji, jak np. ochrona przeciwpożarowa, usługa „zdalnych rąk”, monitoring parametrów środowiska, monitoring dostępu do sieci Internet, adresacja IP itd. Poza Kolokacją możliwe jest dostarczanie dużo bardziej wyspecjalizowanych środowisk, na bazie których można zrealizować Cloud Computing.

Infrastructure as a Service

W ramach usługi Infrastructure as a Service (w skrócie: IaaS) zapewnione są podstawowe funkcje przechowywania i przetwarzania danych, a w szczególności zapewnienie serwerów o odpowiedniej mocy obliczeniowej i pamięci RAM, systemów pamięci masowej, sprzętu sieciowego wraz z dostępem do światowych zasobów Internetu. Korzystający na takich zasobach instaluje we własnym zakresie niezbędne oprogramowanie.

Platform as a Service

W ramach usługi Platform as a Service (w skrócie: PaaS) zapewnione są zarówno zasoby sprzętowe jak i komplet software, które stanowią kompletną platformę usługową. Korzystający uzyskuje dostęp do interfejsu zarządzającego daną platformą usługową. Tym samym ponosi on koszty wynajęcia gotowej platformy usługowej, którą może dostosować do własnych potrzeb.

Software as a Service

W ramach usługi Software as a Service (w skrócie: SaaS) klient otrzymuje konkretne oprogramowanie, które pełni określone funkcje. Oprogramowanie dostarczone jest wraz z niezbędnymi do poprawnego działania zasobami informatycznymi. Tym samym ponosi koszty za używanie tegoż oprogramowania w zakresie określonym przez usługodawcę.

Communication as a Service

W ramach usługi Communication as a Service (w skrócie: CaaS) klient otrzymuje konkretne zasoby sprzętowe wraz z oprogramowaniem do realizacji wybranych usług telekomunikacyjnych. W ramach opłat za taką usługę klient uzyskuje dostęp zarówno do różnych funkcji telekomunikacyjnych, jak i do niezbędnych punktów styku z operatorami telekomunikacyjnymi.

Integration Platform as a Service

W ramach usługi Intergration Platform as a Service (w skrócie: IPaaS) klient otrzymuje dostęp do platformy zapewniającej integrację pomiędzy różnymi usługami (najczęściej działającymi w innych chmurach). W ramach opłat za taką usługę klient uzyskuje obsługę w czasie rzeczywistym i w sposób skalowany powiązanie z różnymi usługami różnych platform.


Zalety i wady Chmury Obliczeniowej


Głównym motorem rozwoju Cloud Computing były i są aspekty ekonomiczne. Współdzielenie zasobów pomiędzy więcej niż jeden podmiot sprawia, że wykorzystanie zasobów jest dużo bardziej efektywne, przy czym koszt tychże zasobów także jest współdzielony. Jeżeli dołożymy do tego przesunięcie w czasie pomiędzy poszczególnymi użytkownikami Cloud Computingu, to korzyść jest jeszcze bardziej odczuwalna. Unikalną właściwością Cloud Computing jest możliwość rozliczania się za wykorzystane zasoby (z ang. Pay-as-you-go). Można to określić starym powiedzeniem: „nie potrzeba kupować browaru, aby napić się piwa”.

Chmura obliczeniowa nie jest rozwiązaniem idealnym. Obok niewątpliwych zalet warto mieć świadomość o wadach. Wiele z wad ujawnia się w wyzwaniach, jakim ma sprostać Cloud Computing. Najważniejszym z nich jest Bezpieczeństwo i Prywatność. W Cloud Computing to bardzo newralgiczny wątek, zwłaszcza w zakresie chmur publicznych, gdzie trudno precyzyjnie monitorować i nadzorować dostęp do danych.


Przyszłość cloud computing


Od początku istnienia Cloud computingu rozwój tej technologii jest wielopłaszczyznowy i nie jest łatwo wskazać wszystkie płaszczyzny, w których zmienia się to pojęcie w obecnych czasach. Do najważniejszych trendów, jakie obecnie są obserwowane na świecie, można zaliczyć:

Konteneryzacja

Ten trend jest szczególnie wyraźny, ponieważ ułatwia pracę architektom oprogramowania i programistom. Podzielenie funkcji różnych aplikacji na małe fragmenty kodu, które nazywane są kontenerami, pozwalają na dużo szybsze i efektywniejsze budowanie aplikacji.

Hybrydyzacja

Ten trend jest odpowiedzią na problemy z migracją już istniejących aplikacji i systemów informatycznych. W niektórych przypadkach bardziej opłaca się połączenie środowisk lokalnych z usługami Cloud Computing, niż pisanie na nowo istniejącej aplikacji. Wciąż nie ma wypracowanych standardów, które ułatwiłyby w migracji do Cloud Computing, wiele nadziei wiąże się z Konteneryzacją.

Zarządzanie optymalizacją kosztów

Obecnie menadżerowie IT to nie tylko eksperci od systemów komputerowych. Głównym zadaniem menadżerów IT jest optymalizacja nakładów i kosztów przedsiębiorstw na środowiska informatyczne. Cloud Computing jest stworzony do obniżania kosztów i rozliczaniu usług w modelu „płać za to, z czego skorzystałeś”. Głównym problemem mendżerów IT jest wiarygodne zwymiarowanie potrzeb w zakresie usługi chmury obliczeniowej oraz dobór optymalnego modelu działania chmury. W dodatku cenniki usługodawców Cloud Computing uzależnione są od coraz większej ilości parametrów, co sprawia, iż potrzebne zaczynają być narzędzia do wyskalowania i zaplanowania wydatków na Cloud Computing.

Sztuczna inteligencja i uczenie maszynowe

Sztuczna inteligencja i uczenie maszynowe ma zastosowanie wszędzie tam, gdzie analizują olbrzymie ilości danych, aby odkryć szereg wzajemnych zależności. Znajomość tychże zależności może pozwolić na optymalizację wielu procesów, a tym samym w osiąganiu lepszych efektów ekonomicznych. Ponadto sztuczna inteligencja posiłkuje coraz więcej narzędzi związanych z cyberbezpieczeństwem, gdzie analiza danych on-line pozwala na szybkie wykrycie zagrożeń.

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.
General
OVH bez prądu
Infrastruktura IT
Czy outsourcing infrastruktury IT jest w ogóle możliwy?
   /   General   /   Chmura obliczeniowa (Cloud Computing) rozłożona na części pierwsze