Od lat przywykłem do obecności niewielkiej ikony w kształcie otwartego pudełka na pasku zadań mojego systemu operacyjnego, bez względu na to, czy aktualnie posługuję się Windowsem czy Linuxem. Chodzi o Dropbox, usługę, dzięki której pliki zapisywane na lokalnym komputerze automatycznie trafiają na przestrzeń dyskową udostępnianą przez producenta aplikacji.

Dropbox, podobnie jak Google Drive czy OneDrive, to przykład prostej usługi umożliwiającej przechowywanie, synchronizowanie, przeglądanie i odzyskiwanie plików. O tym, jak wygodne jest to rozwiązanie, może się przekonać każdy, kto z dowolnego powodu jest zmuszony do korzystania z kilku komputerów i urządzeń. Nie trzeba mozolnie przenosić plików przy użyciu zewnętrznego nośnika ani kopiować ich na serwer – wystarczy się zalogować i poczekać na zsynchronizowanie materiałów lub skorzystać z przeglądarki. Co więcej, jeśli z dowolnego powodu utracimy jakiś plik, możemy go łatwo odzyskać. Użytkownika nie interesuje, gdzie fizycznie trafiają zapisywane pliki, po prostu wie, że może z nich skorzystać z dowolnego miejsca z dostępem do internetu, znajdują się one bowiem w „chmurze”.

 

Właśnie, w chmurze, czyli właściwie gdzie? I jak to się stało, że w ten czy inny sposób dziś korzysta z chmur prawie każdy, od prywatnych użytkowników do korporacji, a ich możliwości daleko wykraczają poza zwykłe przechowywanie plików i cykniętych smartfonem fotek?

 

Trudno o jednolitą definicję chmury obliczeniowej (ang. cloud computing), na ogół jednak uznaje się, że chodzi o pewien model zdalnego przetwarzania danych oraz dostarczania usług, z których użytkownik może korzystać za pośrednictwem dowolnego podłączonego do globalnej sieci urządzenia. Innymi słowy, aby posłużyć się na przykład działającym w chmurze edytorem tekstu lub arkuszem kalkulacyjnym, nie trzeba instalować tego oprogramowania lokalnie – jest ono dostarczane przez usługodawcę.

 

Krótka historia chmur

 

Historia rozwiązań, które dały początek dzisiejszym chmurom obliczeniowym, sięga lat 60. ubiegłego wieku i koncepcji współdzielenia zasobów jednego komputera. Ponieważ ówczesne systemy komputerowe klasy mainframe były niebotycznie drogie, możliwość korzystania z nich przez wielu użytkowników, na przykład w instytucjach naukowych i na uczelniach, pozwalała na bardziej efektywne wykorzystanie ich cennych możliwości. Mniej więcej dekadę później firma IBM opracowała system VM, będący następcą systemu CP-40, który jako jeden z pierwszych zaoferował narzędzia służące do wirtualizacji. Wirtualizacja, rozumiana jako możliwość tworzenia wielu kompletnych i w pełni funkcjonalnych maszyn wirtualnych na jednym fizycznym urządzeniu, przetarła szlak do bardziej wyrafinowanych modeli współdzielenia zasobów i mocy obliczeniowej. Asumpt do kolejnego kroku dał dynamiczny rozwój internetu, który pozwolił na korzystanie z wirtualnych środowisk z dowolnego miejsca na ziemi. Potem zaś historia potoczyła się lawinowo. W 1999 roku powstała firma Salesforce, która zaoferowała usługi dla przedsiębiorstw oparte na opisanym niżej modelu SaaS. W 2002 roku firma Amazon, za pośrednictwem Amazon Web Services, uruchomiła platformę chmurową umożliwiającą programistom niezależne tworzenie aplikacji, w 2008 roku udostępniona została platforma Google App Engine, a dwa lata później zadebiutowała platforma Microsoft Azure. Niespodziewanym motorem postępu w tej dziedzinie okazała się pandemia COVID-19, która nieomal z dnia na dzień wymusiła na organizacjach zmiany w sposobie funkcjonowania, zaś elastyczność usług chmurowych okazała się w tym przypadku wyjątkową zaletą.

 

A skąd się wzięła nazwa cloud computing? Nie ma pewności, kto jako pierwszy posłużył się metaforą chmury; niektórzy przypisują tę zasługę Davidowi Hoffmanowi z firmy General Magic, inni twierdzą zaś, że termin ten powstał niejako naturalnie, ze względu na często stosowany na schematach przetwarzania danych symbol chmurki, oznaczającej szeroko pojętą zdalną infrastrukturę.

 

Rodzaje chmur

 

Tak jak wśród prawdziwych chmur wyróżniamy pierzaste, kłębiaste czy warstwowe, tak chmury obliczeniowe można podzielić na kilka kategorii.

 

Chmura publiczna. Jak sama nazwa wskazuje, jest to infrastruktura udostępniana wielu użytkownikom, zarządzana przez dostawcę usług chmurowych. Jej zaletami są elastyczność i skalowalność, pozwalające na błyskawiczne dostosowanie się do potrzeb użytkownika, na przykład w zakresie rosnących wymagań dotyczących mocy obliczeniowej. Niewątpliwą zaletą jest też praktyczne wyeliminowanie ryzyka przestojów oraz niższe koszty obsługi. Przykładami są platformy takie jak Microsoft Azure, Google Cloud Platform czy Amazon Web Services.

 

Chmura prywatna. Infrastruktura chmurowa dedykowana jednej organizacji, która może być zarządzana przez samą organizację lub zewnętrznego usługodawcę. Oprócz elastyczności, typowej dla wszystkich rozwiązań chmurowych, jej główną zaletą, zwłaszcza w porównaniu do chmury publicznej, jest wyższy poziom bezpieczeństwa, niezwykle istotny w przypadku szczególnie wrażliwych danych, a także większe możliwości adaptowania oferowanych rozwiązań do potrzeb organizacji. Przykładem jest własne centrum danych firmy lub instytucji.

 

Chmura hybrydowa. Nietrudno się domyślić, że jest to rozwiązanie łączące możliwości chmury publicznej oraz prywatnej i pozwalające na współdzielenie zasobów między nimi. Organizacja korzystająca z tego rodzaju chmury może na przykład zdecydować się na przechowywanie i przetwarzanie najcenniejszych danych we własnym centrum obliczeniowym, a pozostałe zadania realizować korzystając z usług publicznych.

 

Podział usług chmurowych ze względu na model

 

SaaS (Software as a Service; oprogramowanie jako usługa). Z tym rodzajem usług chmurowych stykamy się w codziennym życiu najczęściej, usługą jest bowiem w tym przypadku oprogramowanie, z którego możemy korzystać na przykład za pośrednictwem przeglądarki internetowej, bez potrzeby instalowania go na komputerze lokalnym. Przykładem jest choćby pakiet biurowy Google, obejmujący popularnego klienta poczty Gmail, czy oparty na narzędziach chmurowych pakiet Office 365 firmy Microsoft.

 

IaaS (Infrastructure as a Service; infrastruktura jako usługa). W tym modelu użytkownik otrzymuje od usługodawcy wirtualną infrastrukturę informatyczną, obejmującą sprzęt, oprogramowanie, przestrzeń dyskową czy konkretną moc obliczeniową.

 

PaaS (Platform as a Service; platforma jako usługa). Ten model polega na udostępnianiu gotowej platformy do tworzenia, testowania i wdrażania aplikacji.

 

Wady i zalety cloud computing

 

Chmury obliczeniowe mają wiele zalet, nic więc dziwnego, że coraz więcej organizacji korzysta z oferowanych przez nie możliwości. Wielu przedsiębiorstwom łatwiej jest „postawić pierwszy krok w chmurach” niż borykać się z zakupem infrastruktury i oprogramowania, administracją i serwisowaniem, wszystko to można bowiem przenieść na usługodawcę. Jak już wspomniałem, usługi chmurowe cechują się ponadto znakomitą skalowalnością, co pozwala im płynnie dopasowywać się do potrzeb, a to oznacza optymalizację kosztów – użytkownik płaci za to, z czego rzeczywiście korzysta. Najwięksi gracze w tej dziedzinie, tacy jak Google, Microsoft czy Amazon, zapewniają też właściwie nieprzerwaną dostępność usług.

 

Korzystanie z chmur budzi jednak zrozumiałe wątpliwości: jak zaufać tajemniczej czarnej skrzynce, którą fizycznie nie dysponujemy i nie mamy nad nią pełnej kontroli? Choć pod wieloma względami chmury oferują znakomity poziom bezpieczeństwa, pomagają zminimalizować ryzyko przestojów i ułatwiają odzyskanie danych w razie ich lokalnej utraty, jak każdy system informatyczny są narażone na ataki i naruszenia danych. Ponadto, prozaiczny problem z dostępem do internetu może w przypadku niewielkiej firmy silnie bazującej na usługach chmurowych praktycznie uniemożliwić jej normalne funkcjonowanie. Niektórzy podnoszą też kwestię uzależnienia się od danego dostawcy i oferowanego środowiska usług (tzw. vendor lock-in) oraz ryzyko związane z potencjalnymi aktualizacjami i zmianami w funkcjonalności tego środowiska, co może być szczególnie istotne w przypadku instytucji i organizacji kierujących się rygorystycznymi procedurami postępowania.

 

Istnieje odmiana przepowiadania przyszłości na podstawie kształtu chmur, nazwana nephomancją, a choć nie mam takich umiejętności, moim zdaniem przyszłość cloud computing zapowiada się obiecująco, zwłaszcza z perspektywy dalszego rozwoju komunikacji bezprzewodowej, pozwalającego na coraz szybszą i sprawniejszą wymianę danych. Przewiduje się też synergiczny rozwój sztucznej inteligencji i usług chmurowych, obie te dziedziny wzajemnie się bowiem napędzają. Jeśli wierzyć przewidywaniom analityków, wartość tego sektora w najbliższych latach będzie dynamicznie rosnąć... Wydaje się więc, że nad cloud computing nie wiszą burzowe chmury.