cloud computing (oprogramowanie w chmurze) to jeden z najważniejszych trendów jakie wyznaczają obecnie kierunek rozwoju branży IT. Najprościej rzecz ujmując to możliwość wykonywania pracy na swoich dokumentach w każdym miejscu i na każdym komputerze bez instalowania żadnych programów.
W odróżnieniu od tradycyjnych rozwiązań, w których każdy użytkownik posiada komputer, zestaw programów na twardym dysku i dzieli się wynikami pracy za pomocą emaili, w technologii tej oprogramowanie jest instalowane tylko na jednym serwerze. Zwykli użytkownicy pracują łączą się z nim, tworzący chmurę (ang. cloud) od której pochodzi nazwa. Dzięki połączeniu z “jednostką centralną” użytkownicy mogą pracować w nawet bardzo wyrafinowanych programach bez potrzeby instalowania czegokolwiek na swoich maszynach (prócz oczywiście przeglądarki internetowej). Dodatkowo zyskują możliwość łatwego dzielenie się owocami pracy, publikowania ich, a nawet udostępnianie ich do edycji innym osobom. Dzięki temu można np. zacząć pisać dokument, a następnie wyjść z biura i powędrować do kawiarenki internetowej, by kontynuować pracę na dowolnym komputerze.
Po co pamięć przenośna, po co wysyłanie maili z tym samym załącznikiem na kilka adresów? Zapisz wszystko w chmurze i pozwól sobie i innym na korzystanie z nich, modyfikowanie, komentowanie.
Ale nie tylko pliki i dokumenty. Coraz większa liczba aplikacji pozwala na realizację szerokiego spektrum funkcji wyłącznie za pomocą urządzenia z dostępem do internetu i przeglądarką.
Do niedawna istniały trzy główne modele dostarczania klientowi usług w ramach chmury.
IaaS – Infrastruktura jako usługa (ang. Infrastructure as a Service) – model polegający na dostarczaniu klientowi infrastruktury informatycznej czyli sprzętu, oprogramowania oraz serwisowania. Klient wykupuje na przykład konkretną liczbę serwerów, przestrzeni dyskowej, lub określony zasób pamięci i mocy przerobowej. Nie oznacza to jednak, że sprzęt fizycznie zostanie zainstalowany w siedzibie klienta. W tym modelu zdarza się, że klient dostarcza usługodawcy własne oprogramowanie do zainstalowania na wynajmowanym sprzęcie.
PaaS – Platforma jako usługa (ang. Platform as a Service) – sprzedaż gotowego, często dostosowanego do potrzeb użytkownika, kompletu aplikacji. Nie wiąże się z koniecznością zakupu sprzętu ani instalacją oprogramowania. Wszystkie potrzebne programy znajdują się na serwerach dostawcy. Klient po swojej stronie ma dostęp do interfejsu (na ogół w postaci ujednoliconego środowiska pracy) poprzez program – klienta. Np. przeglądarkę internetową. W tym modelu usługi najczęściej dostępne są dla użytkownika z dowolnego połączonego z internetem komputera.
– Oprogramowanie jako usługa (ang. Software as a Service) – klient otrzymuje konkretne, potrzebne mu funkcje. Korzysta z takiego oprogramowania, jakiego potrzebuje. Nie interesuje go ani sprzęt ani środowisko pracy. Ma jedynie zapewniony dostęp do konkretnych, funkcjonalnych narzędzi – niekoniecznie połączonych ze sobą jednolitym interfejsem. Programy działają na serwerze dostawcy. Klient nie jest zmuszony nabywać licencji na nie. Płaci jedynie za każdorazowe ich użycie a dostęp do nich uzyskuje na żądanie.
W ostatnich latach (mniej więcej od 2007 roku) cloud computing rozwija się w takim tempie a samo pojęcie staje się coraz szersze. Powstają coraz to nowe modele tego typu usług, które trafiają do coraz to większego grona odbiorców. Z jednej strony są to produkty o wysokiej specjalizacji, stworzone z myślą o zdobyciu niezaspokojonych jak dotąd nisz rynkowych. Na drugim biegunie znajdują się usługi prostsze, jak najbardziej uniwersalne, bardzo tanie lub darmowe – nastawione na masowego odbiorcę. Cloud computing coraz częściej trafia do zwykłego użytkownika komputera i odpowiada na jego prywatne potrzeby.
Ograniczenie kosztów IT nie jest jedynym powodem dla którego cloud computing tak raptownie zyskuje popularność. Na upowszechnianie się tego modelu korzystania z komputera i rosnące nim zainteresowanie składa się wiele czynników. Anglojęzyczna Wikipedia wymienia aż osiem cech przemawiających na korzyść chmury.
Elastyczność, która pozwala na dopasowanie rozwiązań informatycznych do swoich potrzeb, bez konieczności nabywania nowego sprzętu czy oprogramowania. W każdej chwili można zmienić filozofię pracy i wybrać na nowo potrzebne nam funkcje.
Koszt, który na ogół w stosunku do tradycyjnego modelu IT jest znacznie niższy. Osiąga się to dzięki eliminacji konieczności poniesienia kosztów inwestycyjnych przy wprowadzaniu nowego modelu pracy. Koszt utrzymania natomiast można ograniczyć i monitorować. W przypadku tradycyjnego IT koszty utrzymania, które ponosi się już po kosztach inwestycyjnych, rosną również wraz z czasem i koniecznością aktualizowania oprogramowania. W przypadku chmury, koszt aktualizacji ponosi dostawca.
Duża liczba użytkowników, która pozwala na wiele sposobów racjonalizacji wydatków i filozofii pracy. Możliwa jest dystrybucja kosztów utrzymania serwerów pomiędzy wszystkich klientów. Zapewnione jest również lepsze wykorzystanie mocy przerobowej maszyn, które często – jeśli wykorzystywane są wyłącznie przez jedną firmę – utylizują najwyżej 10-20% swoich możliwości.
Niezawodność osiągana dzięki dystrybucji danych i pracy pomiędzy wiele maszyn. W większości przypadków w chmurze istnieje wiele komputerów zajmujących się tym samym zadaniem – w wypadku awarii jednego, praca w płynny sposób przechodzi na pozostałe. Podobnie rzecz ma się z danymi, których kopie zapasowe tworzone są jednocześnie w wielu miejscach.
Dopasowanie w dynamiczny sposób ilości mocy przerobowej do potrzeb klienta. Dzięki udostępnianiu funkcji na żądanie, tylko wtedy gdy są one potrzebne, można zredukować natężenie pracy maszyn i uniknąć momentów szczytowego obciążenia.
Ekologia cloud computingu również stoi na poziomie wyższym niż przy tradycyjnym IT. Lepsze wykorzystanie mocy przerobowych oznacza w przeliczeniu mniejsze zużycie energii (a co za tym idzie – paliw) na jednostkę przetworzonych danych. Krótko mówiąc – jeden zbiór serwerów pracujących dla wielu klientów, zużyje mniej zasobów naturalnych niż serwery pracujące dla każdego z użytkowników z osobna.