Strona Główna / Blog

Co To Cloud Computing? (Ostateczna Odpowiedź)

Mirek Burnejko

Mirek Burnejko

Rozmawiam w języku Amazon Web Services, Microsoft Azure i Google Cloud Platform. Skontaktuj się z nim pisząc na ten adres.

Co To Cloud Computing

Jednym z najczęstszych pytań jakie otrzymuję od dostawców rozwiązań IT (głównie z Polski, ale też reszty świata), to pytanie: DLACZEGO MOJE ROZWIĄZANIE NIE JEST NA LIŚCIE? DLACZEGO O NAS NIE PISZESZ?

W głowie zawsze przypominam ten niesamowity wpis Grzegorza – Clown Computing – Definicja. Tuż po chwili jednak znajduję lepszy powód lub (jeżeli wiem, że druga strona się nie obrazi) tłumaczę dlaczego: WASZE USŁUGI NIE SĄ USŁUGAMI CLOUD COMPUTING.

Hola, hola Mirek. Ale jakim prawem Ty decydujesz, że coś jest Cloud, a coś Clown? Dokładnie takim jak każdy inny. Nie ma jednej definicji „Cloud Computing”. Zobacz np. odpowiedzi największych autoryterów w Polsce. Masa różnych odpowiedzi.

Do pewnego czasu używałem prostego sformuowania:

Cloud Computing to marketingowe określenie dostarczania na żądanie infrastruktury, platformy, bądź aplikacji, z konsumpcyjnym modelem rozliczania.


I mimo tego, że ten opis najbardziej pasuje do większości standardów, to nie jest pełny. Najbliżej jest określenie NIST SP 800-145, The NIST Definition of Cloud Computing z 2011 roku, które jest dla mnie punktem wyjścia.

Zespół Chmurowisko będzie w najbliższych miesiacach rozbudowywał zestawienie usług chmury publicznej o nowych dostawców, budował raport o dostawcach chmury na rynku polskim oraz prowadził szkolenia dla kilku dostawców chmury publicznej w Polsce o konkurencji.

Postanowiłem więc ułożyć definicję Chmurowisko – Czym Jest Cloud Computing.

Jest szansa, że nie będziesz się zgadzać z tą definicją, ale pamiętaj:

  • Dostawcy usług korzystają z różnych definicji cloud computing – nie ma jednej
  • Jedna definicja, którą się posługujemy na portalu Chmurowisko jest tu potrzebna, aby lepiej dostarczać Ci treść, bez potrzeby akceptacji dostawców z kategorii Clown Computing

Charakterystyki Cloud Computing

1. Self-Service

Klient (głównie programista), zarówno przy usłudze publicznej i prywatnej, może sam stworzyć zasoby, bez komunikacji z dostawcą usługi. Wykonuje to przez CLI, API, konsolę, narzędzia firm trzecich lub wszystkie z powyższych.

WAŻNE – czasami do uruchomienia usługi cloud computing (po raz pierwszy) potrzebujemy interakcji ludzi. Zauważalne szczególnie przy bardziej zaawansowanych usługach skierowanych do określonych branż.

2. Elastyczność Na Żądanie

Klient (głównie programista) może skalować usługę w górę lub w dół (do zera) w zależności od potrzeb lub konfiguracji. Potrafi to zrobić bez potrzeby komunikowania się z dostawcą usługi (patrze self-service), do określonych przez dostawcę limitów.

WAŻNE – zwiększenie limitów nie powinno mieć wpływu na rachunek klienta, o ile klient nie użył udostępnionych zasobów.

3. Rozliczalność Za Wykorzystane Zasoby

Klient (głównie programista) musi mieć wiedzę o wykorzystanych zasobach, które w połączeniu z kosztem jednostkowym dadzą mu informacje o kwocie do zapłacenia lub pobrania z przedpłaconych środków.

WAŻNE – pomiar jest określony przy akceptacji warunków współpracy i może się zmieniać (jeżeli warunki się zmienią). Nie ma określenia czasu pomiaru, np. AWS EC2 Reserved Instances liczone są w okresie 1 lub 3 lat, zwykłe AWS EC2 liczone są w okresie 1 godziny, większość usług SaaS w okresie miesięcznym, większość suług Google Cloud Platform i Microsoft Azure w okresie 1 minuty.

Tylko Trzy?

TAK. Z mojego doświadczenia i patrząc na dostawców cloud computing oraz firmy budujące prawdziwe rozwiązania private cloud computing, te 3 cechy w zupełności wystarczy. Reszta, jak API (pamiętajmy, że np. AWS nie zawsze udostępnia API do swoich usług w pierwszej kolejności, więc nie możemy powiedzieć, że jest dostawcą cloud computing tylko czasami), czy dostęp przez Internetu (tu dyskwalifikujemy dużo rozwiązań private cloud computing), są dodatkami, które pasują do części rozwiązań.

Sposoby Dostarczania Cloud Computing

IaaS

Rozwiązanie, w którym mamy dostęp do systemu operacyjnego, którym zarządzamy. Na tym systemie instalujemy wymagane w naszym systemie składniki. Rozwiązanie zawieraz wszystkie parametry opisane w charakterystykach cloud computing.

WAŻNE: Usługi storage (takie jak Amazon S3) lub networking (takie jak Azure Virtual Network) nie są usługami IaaS, bo nie mamy dostępu do systemu operacyjnego, którym zarządzamy. System oparacyjny to nie tylko Windows/Linux, ale też bardziej zaawansowane rozwiązania jak systemy zarządzające środowiskami wirtualizacyjnymi, macierzami dyskowymi, urządzeniami sieciowymi, etc.

Przykład:

  • AWS EC2
  • Azure Virtual Machines
  • Wirtualne Maszyny e24cloud

PaaS

Rozwiązanie, w którym nie mamy (lub mamy ograniczony) dostępu do systemu operacyjnego. Otrzymujemy usługę pełniącą pewną rolę, którą może wykorzystać klient rozwiązania (głównie programista) do zbudowania systemu.

WAŻNE: Usługa wymaga umieszczenia w niej danych i zaprogramowania lub umieszczenia w niej kodu, aby mogła świadczyć wartość biznesową.

Przykład:

  • AWS Redshift
  • Azure App Service
  • Google Cloud Functions

SaaS

Rozwiąznie, w którym wartość biznesowa jest świadcza bez potrzeby programowania.

WAŻNE: Rozwiązanie dostępne przez przeglądarkę intrnetową i (opcjonalnie) grubego klienta lub API.

Przykład:

  • Microsoft Office 365
  • DocuSign
  • PipeDrive

Znów Tylko 3?

Tak. Pojawia się cała masa nazw, które ułatwiają lub utradniają promowanie rozwiązań, takich jak IDaaS, FaaS, DBaaS. Możemy je jednak podciągnąć pod jedną z powyższych usług, po odpowiedzeniu sobie na pytanie, na którym poziomie mamy dostęp do usługi.

Modele Cloud Computing

Public Cloud Computing

System opisany charakterystykami cloud computing znajduje się pod zarządzaniem innej firmy.

Przykład:

Private Cloud Computing

System opisany charakterystykami cloud computing znajduje się pod zarządzaniem tej samej firmy.

Przykład:

Oczywiście ilość wdrożeń chmury prywatnej posiadającej charakterystyki cloud computing można policzyć w Polsce na palcach jednej ręki, więc nie jest tematem moich rozważań, ani tematem na tym blogu. Clown Computing jest tutaj częściej spotykany niż przy public cloud computing.

I?

I to wszystko. Różne firmy wymyślają swoje definicje cloud computing. Znajdziesz ich dziesiątki: Hybrid Cloud Computing, Community Cloud Computing, Enterprise Private Cloud Computing, Hosted Private Cloud Computing, Industry Cloud Computing i… masa innych nazw, które mogą w przyszłości prowadzić do takich wynalazków jak Hybrid Hosted Od-Demand Private Community Cloud.

Gdzie jest więc sens?

W marketingu panuje od lat zasada Blue Ocean Strategy. Łatwiej odnieść sukces, gdy pracujemy na rynku, na którym jestśmy liderem. Dlatego cześć firm (i nie ma w tym nic złego) operuje nowymi terminami, a część firm pracuje nad tym, aby nowe terminy znajdować, na którym będą mogli być liderem (otóż wymyśliliśmy ten termin).

A Hybrid Cloud Computing?

Hybrid Cloud Computing polega na użyciu przynajmniej dwóch środowisk, z których przynajmniej jedna nazywa się Public Cloud Computing. Jest wieć wykorzystaniem (na ponad 8 sposobów) różnych zasobów, aby świadczyć jedną usługę. Nie jest niczym nowym, tak jak niczym nowym nie jest Hosted Private Cloud Computing.

Przykład:

  • Wykorzystanie AWS EC2 i fizycznej maszyny w lokalnym Data Center do zbudowania aplikacji jest modelem Hybrid Cloud Computing
  • Wykorzystanie Azure Service Bus i Cloud Foundry postawionym na wirtualnych maszynach na środowisku VMware w lokalnym Data Center jest modelem Hybrid Cloud Computing
  • Wykorzystanie usługi Google BigQuery i Azure App Service jest modelem Hybrid Cloud Computing

Podsumowanie

Pamiętajmy, że to tylko nazewnictwo, które powinno ułatwiać, a nie utrudniać. Łączyć, a nie dzielić. Niech żyje cloud computing!

Dołącz do listy mailingowej!

Dołącz do naszego newslettera

Staramy się wysyłać tylko wartościowe informacje, np. co miesiąc dostaniesz spis najważniejszych nowości z chmur Azure, AWS i GCP, z krótkimi opisami i linkami.