Cloud computing dla niewtajemniczonych

Kiedy gaz, bieżąca woda i elektryczność stały się powszechnie dostępne, przybrały charakter usług komunalnych. Obecnie większość ludzi pisze, gra i używa różnych programów na komputerze stacjonarnym, a łączy się z siecią Internet dopiero w przypadku, gdy szukają informacji. W przyszłości będziemy stopniowo wycofywać komputery i uzyskiwać dostęp do wszystkich informacji i usług bezpośrednio w Internecie, który obciąży nas finansowo za zużyty czas. Rewolucja komputerowa doprowadzi w końcu do tego, że komputery znikną w chmurach.
Niektórzy twierdzą, że cloud computing to powrót do średniowiecza informatycznego, kiedy to do komputerów miało dostęp niewiele osób. Wszyscy korzystali jedynie z terminali podłączonych do centralnego mainframe.
Czasami nie zdajemy sobie sprawy, że już może korzystamy z usług w chmurze. Poczta elektroniczna, czyli Hotmail lub Gmail jest świetnym tego przykładem, ale także inne usługi takie jak WWW, DNS, hosting infrastruktury głosowej. Nawet takie usługi jak systemy pracy zdalnej, obsługa klienta, systemy kadrowe i księgowe itd. Przyzwyczailiśmy się nie myśleć o tych usługach w taki sposób.
Zacznijmy jednak od początku. Sięgnijmy do korzeni
Idea główna technologii cloud computing sięga 1960 roku, kiedy to John McCarthy napisał, że „obliczenia mogą kiedyś być zorganizowane jako usługa użyteczności publicznej”. Termin cloud computing najprawdopodobniej pochodzi od schematów chmur używanych do reprezentowania Internetu na różnych schematach i w podręcznikach. Po raz pierwszy termin we współczesnym znaczeniu został użyty w 1997 roku podczas wykładu Ramnath Chellappa, gdzie określono go jako nowy paradygmat, gdzie granica usług obliczeniowych zostanie ustalona przez uzasadnienie ekonomiczne, a nie ograniczenia technologiczne.
Jednym z pierwszych etapów rozwoju cloud computing była firma salesforce.com, która w 1999 roku była pionierem w zakresie dostarczania aplikacji biznesowych za pośrednictwem strony internetowej. Firma ta utorowała drogę wszystkim, którzy chcieli dostarczać swoje aplikację w ten sposób. Kolejny etap to firma Amazon, która w 2002 roku wprowadziła usługi cloud na potrzeby magazynowania danych, przeprowadzania obliczeń i usług takich jak Amazon Mechanical Turk, która to usługa umożliwia wykonywanie pewnych działań ludziom, które nie mogą być zautomatyzowane. Coś jak w Matrixie, gdzie ludzie byli podłączeni do maszyny, która serwowała im rzeczywistość. Następnie w 2006 roku, Amazon uruchomił Elastic Compute Cloud (EC2), czyli usługę komercyjną dostępną przez Internet, która pozwala małym firmom i osobom prywatnym na wynajem serwerów, na których można uruchamiać własne aplikacje.
Najważniejszy dla rozwoju technologii był rok 2009, w którym to Google zaczęło oferować aplikacje oparte na przeglądarce, czyli Goolge Apps.
W tym samym roku Microsoft w listopadzie uruchamia wersję beta Windows Azure. Uruchomienie Azure jest kluczowym wydarzeniem w historii cloud computing ze względu na pojawienie się Microsoftu, czyli największej na świecie firmy tworzącej oprogramowanie. Cloud computing jest najważniejszym trendem w branży IT. Nawet najwięksi krytycy wydają się zgodni, że – pomimo pewnej nadgorliwości marketingowej – cloud computing jest jednym z najważniejszych zmian paradygmatu w ostatnim dziesięcioleciu.
Istnieje prawdopodobnie tyle definicji cloud computing, ilu jest specjalistów od chmur. Większość z tych definicji to pay-per-use, czyli natychmiastowa dostępność, skalowalność, abstrakcja sprzętu, wirtualizacja i Internet.
Czynniki, które pozwoliły rozwinąć się chmurom obliczeniowym jest technologia wirtualizacji, rozwój szybkich łączy Internetowych i wprowadzenie uniwersalnych standardów oprogramowania. Cloud computing rozszerza swój zasięg poza garstkę wyspecjalizowanych użytkowników w kierunku masowości usług dostępnych dla każdego.
Czy jest to kolejna moda? I co najważniejsze czy to nas dotyczy?
W skrócie cloud computing jest całkowicie realny i wpłynie na niemal wszystko. Pamiętam jak wszystko się zmieniło, gdy tylko pojawił się Internet. A jeszcze nie tak dawno temu komputery stacjonarne miały dyski twarde po 20 MB. Nie powinno dziwić, że kolejnym etapem rozwoju jest cloud computing.
Istnieje popularny cytat Thomasa Watsona założyciela IBM: „Myślę, że światowy rynek potrzebuje może 5 komputerów”.
Komputery były wtedy dostępne tylko garstce specjalistów i dla największych klientów. Cloud computing dostarcza nam superkomputery pod strzechy, dlatego nie można zgodzić się że jest to powrót do informatycznego średniowiecza. W ten sposób wchodzimy na wyższy poziom dostępu dla zaawansowanych aplikacji i lepszych metod przechowywania danych. Termin cloud odnosi się do mocy obliczeniowej dostępnej przez Internet. Chmury w pewnym sensie zmienią całą sieć komputerów w największy wirtualny komputer na świecie. Sformułowanie cloud computing może być dla niektórych mylący, brzmi jak coś niewyraźnego, jak coś czego nie można bezpośrednio zlokalizować. Cloud computing to bardzo szerokie pojęcie. Jest tak szerokie jak termin PC, który obejmuje wszystko od chipów do systemu operacyjnego Windows.
Chmury nie można dotknąć. Dlatego komputer jest łatwiejszy do zrozumienia, ponieważ można go zobaczyć, dotknąć i poczuć. Chmura jest prawdziwa, ale jest gdzieś gdzie jej nie widać i dlatego trudniej ją sobie wyobrazić. Niestety jest to termin mocno skażony marketingiem. Dużo firm chce wykorzystać modę i często nieprawidłowo przydziela etykiety cloud do produktów, które nie mają z tym wiele wspólnego.
Na swoje potrzeby stworzyłem własną definicję cloud computing:
„Cloud computing odnosi się do komputerów w Internecie, w przeciwieństwie do komputera na biurku”.
Może ktoś zadać pytanie czy cloud computing oznacza po prostu, oprogramowanie internetowe? Oczywiście nie. Niestety niektórym wydaje się, że skoro ich oprogramowanie działa w Internecie to sam ten fakt oznacza, że jest to już chmura. W rzeczywistości cloud computing obejmuje inne formy przetwarzania poza oprogramowaniem, w tym także warstwę infrastruktury sprzętowej.
Pod wieloma względami cloud computing jest podobny do pulpitu komputera, zawiera trzy podstawowe elementy: sprzęt, system operacyjny i oprogramowanie. Główną różnicą jest to, że w cloud computing, te wszystkie elementy można wynająć przez Internet.
Często możemy spotkać się z terminem „as a service”. W chmurze zwrot ten jest szeroko stosowany, co oznacza że dany produkt można wynająć. Przez wynajęcie rozumiemy, że płacimy tylko za to co używamy. To jest często określane jako „na życzenie”, ponieważ jest dostępna, gdy jest potrzebna. Korzyścią takiego modelu jest to, że koszty początkowe są znacznie mniejsze, a po drugie zapewniony jest dużo wyższy poziom skalowalności.
Na przykład, jeżeli przechowujemy dużą ilość danych i nastąpi niedobór zasobów, musimy kupić dodatkowe serwery i pamięci masowe, następnie to wszystko zainstalować i skonfigurować. W modelu cloud po prostu kupujemy tyle ile potrzeba i w razie nagłego zapotrzebowania możemy dokupić tylko tyle zasobów ile będzie potrzeba, a gdy już nie potrzebujemy tych zasobów bardzo szybko możemy się ich pozbyć.
Dla zwykłego użytkownika może nie być większej różnicy pomiędzy komputerem stacjonarnym a cloud computing. Może korzystać z tego samego rodzaju aplikacji i wykorzystywać je do tego samego. I o to w tym wszystkim chodzi.
Cloud computing ułatwia i reorganizuje system pracy. W starym modelu pracownicy musieli przychodzić do pracy w określonych godzinach. Nowy model pracy pozwala pracować z dowolnego miejsca i nie ma znaczenia czy jest to dom czy inne miejsce. Nie jesteśmy przywiązani do jednego miejsca.
Użytkownik nie musi się przy tym martwić o konfigurację, aktualizację i inne tego typu sprawy. Krótko mówiąc można zrobić więcej za mniej i bardziej efektywnie.
Jak to wszystko działa?
Używamy tutaj terminu wirtualny serwer, ponieważ tak naprawdę nie wynajmujemy fizycznego sprzętu. W dawnych czasach jeden system operacyjny był uruchamiany na określonym serwerze. Wirtualizacja pozwala na uruchamianie wielu systemów operacyjnych na jednej maszynie. Wirtualizacja ułatwia testowanie nowego oprogramowania i lepiej wykorzystuje posiadane zasoby sprzętowe.
Pewnego dnia ktoś wpadł na pomysł, że dzięki wirtualizacji można wynajmować przez Internet tę samą fizyczną maszynę wiele razy. Oczywiście chmura nie ogranicza się do jednego serwera, ale raczej do większej puli serwerów. To działa trochę jak w banku, gdzie pożyczamy ciągle te same pieniądze. W teorii, to nie będzie działać, szczególnie gdyby wszyscy zażądali swoich pieniędzy (lub mocy obliczeniowej) w tym samym czasie.
Infrastruktura chmury składa się z rzeczywistego sprzętu, który jest uzupełniony o mechanizm dostawy. Główną różnicą od dotychczasowych modeli jest to, że dane są oderwane od konkretnego miejsca. W starym modelu wiedzieliśmy, gdzie dokładnie nasze zasoby były zlokalizowane.
Wirtualizacja sprawia, że chmura jest możliwa. Tak jak można prowadzić samochód bez zrozumienia, jak działa silnik, tak też jest i z wirtualizacją. Nie trzeba wiedzieć, jak działa by z niej korzystać.
Często możemy spotkać się z terminem PaaS. Platforma jako usługa. Ogólnie odnosi się ona do „prefabrykatów” na których można budować systemy obliczeniowe.
Czy można sobie wyobrazić budowę pieca za każdym razem, gdy chcemy ugotować obiad? Prawdopodobnie nie. Na szczęście piekarnik jest już zbudowany co obniża koszt produkcji obiadów. Podobnie w chmurze możemy mieć platformę taką jak Windows Azure, która zapewnia prefabrykaty do budowany własnych aplikacji. Mamy tutaj gotowe funkcje, interfejs użytkownika, mechanizmy do zarządzania i administracji, a także sprawdzone modele bezpieczeństwa.
Co zyskujemy:
- Niski koszt – w niektórych przypadkach chmura może obniżyć koszty podobno nawet o 80%.
- Niskie ryzyko – można zmniejszyć ryzyko, ponieważ wszystkie funkcje są dokładnie testowane.
- Szybszy czas wprowadzania produktów na rynek.
- Szybkie prototypowanie – czyli szybkie tworzenie i wdrażanie koncepcji aplikacji bez pisania kodu.
- Bezpieczeństwo – ponieważ w chmurach najczęściej wprowadza się już sprawdzone modele bezpieczeństwa.
Chmura jako konieczność
Technologie stają się niezbędne, gdy stają się częścią samej istoty społeczeństwa. Ciągle pojawiają się nowe technologie, dzięki którym życie staje się wygodniejsze. Jednak większość z nich nie jest przełomowa. Cloud computing jest technologią, która powoduje zmianę w sposobie pracy i myślenia ludzi. Można śmiało powiedzieć, że jest technologią przełomową.
- Cloud computing zmienia sposób pracy. Nie trzeba już zwracać uwagi na fizyczne granice.
- Cloud computing zmienia nasz sposób myślenia. Stare bariery są przełamywane.
- Cloud computing zmienia sposób prowadzenia działalności. Możemy koncentrować się na naszych celach podstawowych.
- Cloud computing zmienia sposób komunikowania się. Nowe rodzaje komunikacji pozwalają nam na ścisłą współpracę z partnerami, zdalnymi pracownikami i dostawcami na całym świecie, tak jakby byli tuż obok nas.
Oczywiście występuje duży opór przeciw chmurom. Kiedyś ludzie opierali się przed wprowadzeniem maszyn parowych, które miały masowo zabierać ludziom pracę. Współcześnie pojawiał się opór także przed wprowadzaniem telefonów komórkowych, Internetu a nawet komputerów. A mimo tego wszystkie przełomowe technologie zwyciężyły, a przez to nasze życie stało się łatwiejsze. Cloud computing jest uznany za najszybciej rozwijającą się technologię. Gartner umieścił ją w czołówce strategicznych technologii przyszłości.
Oto tylko kilka z czynników, które podkreślają, dlaczego cloud computing zyskał na znaczeniu tak szybko:
- Eksplozja danych. Żyjemy w wieku informacji. Oznacza to, że mamy do czynienia z większą liczbą informacji do przetworzenia niż w przeszłości.
- Ponowne skupienie się na współpracy. Co mamy zrobić z tymi wszystkimi danymi? Informacje są zwykle bardziej wartościowe, jeśli możemy się nimi dzielić nie tylko wewnątrz firmy, ale także z partnerami, dostawcami i innymi zainteresowanymi na całym świecie.
- Konieczność ekonomiczna. Firmy ciągle stoją przed koniecznością redukcji kosztów, zwłaszcza w najgorszej recesji od 30 lat. Ale nawet niezależnie od globalnej recesji, konkurencji i innych czynników, firmy musiały wprowadzić cięcia kosztów.
- Telepraca i telekomunikacja. Cloud computing urzeczywistnia nową erę pracy w domu i w terenie.
Dzisiejsze infrastruktury chmury są podobne w wielu aspektach do komputerów z lat 80. Mimo wielu problemów, nadal będą udoskonalane. I tak jak kiedyś komputery były tylko dla specjalistów i hobbystów, chmury w przyszłości staną się tak akceptowalne i zwyczajne jak dzisiaj zwyczajny komputer lub telefon komórkowy.
Jesteśmy na początku ery komputera planetarnego. Miliardy ludzi będą bezprzewodowo połączeni z Siecią, a jedyną drogą do osiągnięcia takiego rodzaju masowości jest infrastruktura chmury.
Autor: Grzegorz Gałęzowski