4 cloud computing chmura obliczeniowa - gakko.edu 04 cloud computing... · termin cloud computing...

7
str. 1 z 7 4 Cloud Computing – Chmura obliczeniowa Termin Cloud Computing jest w ostatnim czasie najbardziej popularnym zaklęciem w informatyce. Tak to już jest, że nawet najlepsze rozwiązania muszą być wspierane jakimiś chwytliwymi hasłami. Jednak każde rozwiązanie ma swoje ograniczenia, które rzutują prędzej czy później na konkretne rozwiązania. Cloud Computing nie jest tu wyjątkiem. 4.1 Mody w informatyce – zaklęcia PR Od dawna wiadomo, że w informatyce istnieją mody. Wiele takich mód już przeżyliśmy, wiele na naszych oczach się teraz tworzy, jak choćby: „Internet rzeczy” czy „Internet wszystkiego”. Cloud Computing jest przykładem odświeżenia mody na wirtualizację, wraz z implementacją kilku nowych cech. 4.2 Definicje Cloud Computing Cloud Computing [z ang. chmura obliczeniowa] posiada kilka definicji. Wynika to z akcentowania zadanych cech tego rozwiązania, istotnych z punktu widzenia podmiotu (konsumenta) używającego chmury obliczeniowej. Poniżej rozważymy dwa, najbardziej istotne, definicje. 4.2.1 Perspektywa konsumenta Chmura obliczeniowa to model przetwarzania danych oparty na użytkowaniu usług dostarczonych przez usługodawcę (wewnętrzny dział lub zewnętrzna organizacja). Funkcjonalność jest tu rozumiana jako usługa (dająca wartość dodaną użytkownikowi) oferowana przez dane oprogramowanie (oraz konieczną infrastrukturę) [definicja za Wikipedią]. Istotnym powodem stosowania chmury obliczeniowej są korzyści dla konsumenta: eliminacja konieczności zakupu licencji czy też konieczności instalowania oprogramowani oraz administracji systemem. Konsument płaci za możliwość użytkowania lub za same użytkowanie określonej usługi, np. za możliwość korzystania z edytora tekstu. Nie musi dokonywać zakupu sprzętu ani oprogramowania, nie musi go pielęgnować. 4.2.2 Perspektywa implementacji Termin chmura obliczeniowa jest nierozerwalnie związany z pojęciem wirtualizacji. Sam model chmury obliczeniowej historycznie wiąże się z przetwarzaniem w sieci grid, gdzie wiele systemów udostępnia swoje usługi, korzystając z podłączonych różnorodnych zasobów, z tą jednak różnicą, że w chmurze obliczeniowej mamy do czynienia z podążaniem zasobów za potrzebami usługobiorcy. Tak więc chmura obliczeniowa stała się sposobem i metodą na sprzedawanie rozwiązań opartych na wirtualizacji zasobów. Rozwiązanie takie jest interesujące dla oferenta, daje bowiem szanse na obniżenie ponoszonych kosztów ze względu na optymalizację wykorzystania dostępnych zasobów. 4.3 Koncepcja chmury obliczeniowej Koncepcja chmury obliczeniowej oparta jest na połączeniu dwóch rozwiązań: Grid Computing, Utility Computing.

Upload: leanh

Post on 02-Mar-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

str. 1 z 7

4 Cloud Computing – Chmura obliczeniowa

Termin Cloud Computing jest w ostatnim czasie najbardziej popularnym zaklęciem w informatyce. Tak to już jest, że nawet najlepsze rozwiązania muszą być wspierane jakimiś chwytliwymi hasłami. Jednak każde rozwiązanie ma swoje ograniczenia, które rzutują prędzej czy później na konkretne rozwiązania. Cloud Computing nie jest tu wyjątkiem.

4.1 Mody w informatyce – zaklęcia PR

Od dawna wiadomo, że w informatyce istnieją mody. Wiele takich mód już przeżyliśmy, wiele na naszych oczach się teraz tworzy, jak choćby: „Internet rzeczy” czy „Internet wszystkiego”. Cloud Computing jest przykładem odświeżenia mody na wirtualizację, wraz z implementacją kilku nowych cech.

4.2 Definicje Cloud Computing

Cloud Computing [z ang. chmura obliczeniowa] posiada kilka definicji. Wynika to z akcentowania zadanych cech tego rozwiązania, istotnych z punktu widzenia podmiotu (konsumenta) używającego chmury obliczeniowej. Poniżej rozważymy dwa, najbardziej istotne, definicje.

4.2.1 Perspektywa konsumenta

Chmura obliczeniowa to model przetwarzania danych oparty na użytkowaniu usług dostarczonych przez usługodawcę (wewnętrzny dział lub zewnętrzna organizacja). Funkcjonalność jest tu rozumiana jako usługa (dająca wartość dodaną użytkownikowi) oferowana przez dane oprogramowanie (oraz konieczną infrastrukturę) [definicja za Wikipedią].

Istotnym powodem stosowania chmury obliczeniowej są korzyści dla konsumenta: eliminacja konieczności zakupu licencji czy też konieczności instalowania oprogramowani oraz administracji systemem. Konsument płaci za możliwość użytkowania lub za same użytkowanie określonej usługi, np. za możliwość korzystania z edytora tekstu. Nie musi dokonywać zakupu sprzętu ani oprogramowania, nie musi go pielęgnować.

4.2.2 Perspektywa implementacji

Termin chmura obliczeniowa jest nierozerwalnie związany z pojęciem wirtualizacji. Sam model chmury obliczeniowej historycznie wiąże się z przetwarzaniem w sieci grid, gdzie wiele systemów udostępnia swoje usługi, korzystając z podłączonych różnorodnych zasobów, z tą jednak różnicą, że w chmurze obliczeniowej mamy do czynienia z podążaniem zasobów za potrzebami usługobiorcy.

Tak więc chmura obliczeniowa stała się sposobem i metodą na sprzedawanie rozwiązań opartych na wirtualizacji zasobów. Rozwiązanie takie jest interesujące dla oferenta, daje bowiem szanse na obniżenie ponoszonych kosztów ze względu na optymalizację wykorzystania dostępnych zasobów.

4.3 Koncepcja chmury obliczeniowej

Koncepcja chmury obliczeniowej oparta jest na połączeniu dwóch rozwiązań:

Grid Computing,

Utility Computing.

str. 2 z 7

Pierwsze rozwiązanie zapewnia skalowalność i niezawodność (na zadanym poziomie) proponowanych rozwiązań. Drugie rozwiązanie określa miary niezbędne w rozliczeniu konsument-oferent chmury obliczeniowej.

4.3.1 Grid Computing

Grid Computing [z ang. przetwarzanie sieciowe] jest systemem złożonym z wielu komputerów, pracujących wspólnie w sieci w celu realizacji określonych celów.

Komputery są połączone w klaster (grid). Z jednej strony takie rozwiązanie zwielokrotnia moc obliczeniową. Z drugiej zaś strony zwiększa niezawodność całego rozwiązania.

4.3.2 Utility Computing

Utility Computing [z ang. użyteczność komputerów, użyteczność zasobów komputerowych] jest to pojęcie stworzone na potrzeby oszacowania wykorzystania danego systemu komputerowego w celu określenia kosztów jego używania, poprzez sprowadzenie tego wykorzystania do modelu składającego się zazwyczaj z następujących komponentów: mocy obliczeniowej, wielkości wykorzystywanej pamięci masowej, używanych serwisów (oprogramowania), wielkości dostępnego pasma komunikacji.

Zasoby udostępniane są w postaci predefiniowanych porcji, tzw. puli [ang. pools]. Taką pulą może być:

moc obliczeniowa,

przestrzeń pamięci operacyjnej,

przestrzeń pamięci masowej,

(licencje) oprogramowania,

przepustowość łącza.

W oparciu o te porcje definiujemy wirtualne systemy o zadanych cechach, odnoszących się do wyżej wymienionych zasobów. Cechy te mogą mieć charakter statycznym, jak i dynamiczny – tzn. zmieniać swoje wymiary w zależności od bieżących potrzeb. Współczesny świat charakteryzuje duża dynamika procesów. Taka możliwość zmian – dostosowywanie się do bieżących potrzeb – jest cenna w zglobalizowanym świecie.

4.3.3 Połączenie rozwiązań

Połączenie „Grid Computing” oraz „Utility Computing” daje możliwość szerokiego wykorzystywania technologii komputerowych z możliwością oszacowania kosztów ich wykorzystywania. Na tej podstawie kalkulowana jest cena dla potencjalnego konsumenta.

Widać w tym momencie, że termin chmura obliczeniowa nie jest w pełni adekwatny, bowiem z punktu widzenia chmury interesują nas wszystkich aspekty związane z komputerem: przetwarzanie, magazynowanie i przesyłanie informacji. Tym samym zgrabniejszym tłumaczeniem terminu Cloud Computing byłaby jednak „chmura komputerów” czy też „chmura zasobów komputerowych”.

4.4 Rodzaje chmur

Rozróżniamy następujące rodzaje chmur:

chmury prywatne,

str. 3 z 7

chmury publiczne,

chmury hybrydowe. Rozróżnienie to wynika z lokalizacji zasobów, które są wykorzystywane przez konsumenta.

4.4.1 Chmury prywatne

Chmury prywatne [ang. private cloud] są to chmury, będące częścią danej organizacji i jednocześnie autonomicznym dostawcą dla niej usługi.

Chmury prywatne mogą być utworzone i zarządzane przez dział IT danego przedsiębiorstwa lub też przez firmę zewnętrzną. W pierwszym przypadku dana firma posiada własną serwerownię i personel ją obsługujący, w drugim zaś mamy wydzieloną serwerownię, należącą i obsługiwaną przez zewnętrzną firmę.

4.4.2 Chmury publiczne

Chmury publiczne [ang. public cloud] są to chmury będące zewnętrznym, ogólnie dostępnym dostawcą usług (np. Amazon.com, Google, Microsoft, itd.).

Chmury publiczne są rozwiązaniem, w którym zasoby nie są dedykowane poszczególnym klientom. W tym rozwiązaniu klienci czerpią w miarę swoich potrzeb z ogólnych zasobów. Czasami taki model nosi nazwę „on demand” czy też „pay as you go” – klient płaci za potrzebne-sprecyzowane w danej chwili przez siebie zasoby. Jeżeli to potrzeby zwiększają się, to zapotrzebowanie to zostaje zapewnione „w biegu”, bez potrzeby zatrzymania działających aplikacji (usług). Jedną konsekwencją jest naliczenie dodatkowej płatności za zwiększenie skali konsumpcji zadanych zasobów.

4.4.3 Chmury hybrydowe

Chmury hybrydowe [ang. hybrid] są połączniem rozwiązań chmury prywatnej i publicznej; wybrana część usług (aplikacji, infrastruktury, itp.) jest realizowana w chmurze prywatnej, a pozostała część jest realizowana w chmurze publicznej.

4.4.4 Wybór rozwiązania

Wybór rozwiązania – dobór danego rodzaju chmury dla usług konsumenta - może być podyktowane:

kwestiami finansowymi,

kwestiami bezpieczeństwa,

innymi kwestiami (np. specyficzna architektura aplikacji konsumenta). Ze względu na dużą elastyczność rozwiązań w chmurze, istnieje możliwość migracji poszczególnych komponentów pomiędzy chmurą prywatną a publiczną i odwrotnie, w celu osiągnięcia przyjętych założeń czy ustaleń na poziomie firmy konsumenta.

4.5 Zalety i wady Cloud Computing

Według oferentów rozwiązania Cloud Computing posiadają same zalety. Niestety, jak każde rozwiązanie, posiadają też wady.

4.5.1 Zalety

Do zalet możemy zaliczyć:

elastyczność rozwiązań (w obrębie dostępnej puli,

skalowalność zasobów (wydajności, pamięci operacyjnej, pamięci masowej i łączy),

str. 4 z 7

redukcja kosztów ( np. poprzez overbooking),

zoptymalizowane zarządzanie.

Zalety te umożliwiają optymalizację nakładów ponoszonych przez oferenta na tworzenie niezbędnych (w domyśle gwarantowanych) zasobów dla zadanego poziomu usług.

Jako dodatkową zaletę można przyjąć oderwanie się (uniezależnienie) od architektury systemu, a tym samym od wszystkich ograniczeń. Wszystko widzimy z perspektywy chmury.

4.5.1.1 Elastyczność rozwiązań

Korzystając z chmury, możemy dokonywać zmian w funkcjonalnościach systemu bez żmudnego procesu zmian w konfiguracji zasobów. Takie rozwiązania, jak: Thin Provisioning , Automated tiering , deduplikacja, upraszczają realizację wielu zadań.

4.5.1.2 Skalowalność zasobów

Częstym problemem w działaniu aplikacji są zmiany zapotrzebowania na dany zasób. Zmiany te mogą mieć charakter powolny (lepiej: możemy spokojnie przestroić parametry) lub nagły (musimy zarezerwować zasoby). Tak więc odpowiednio przygotowana chmura daje szanse na obsługę takich sytuacji.

4.5.1.3 Redukcja kosztów Redukcja kosztów wynika z redukcji niezbędnych zasobów. Jest to spowodowane zakładanym przesunięciem w czasie ich wykorzystania. Ponadto kumulacja zasobów w jednym miejscu powoduje optymalizację ich wykorzystania i optymalizację kosztów ich obsługi.

Przy okazji minimalizujemy niebezpieczeństwo przeinwestowania. Dzięki stosowaniu całościowego podejścia do wszystkich systemów mamy potencjalnie nieograniczony dostęp do zasobów, ale jeżeli z nich nie korzystamy, nie musimy za to płacić (oczywiście płaci się gotowość, ale nie płaci się za całą inwestycję…).

4.5.1.4 Zoptymalizowane zarządzanie

Unifikacja zasobów w obrębie chmury powoduje uproszczenie zarządzania. Możemy się skoncentrować na parametrach użytkowych zasobów, nie zaś na problemach wynikających z danych rozwiązań technicznych.

4.5.2 Wady

Do wad możemy zaliczyć:

bezpieczeństwo,

gwarantowany poziom dostępu do zasobów,

gwarancja dostępu.

4.5.2.1 Bezpieczeństwo

W przypadku chmury prywatnej użytkownik ma w większości przypadków odpowiednią kontrolę nad bezpieczeństwem swojego systemu (dane, dostęp do aplikacji, itp.).

str. 5 z 7

W przypadku chmury publicznej dane mogą być rozrzucone po wielu lokalizacjach. Niektóre instytucje (np. banki) mogą nie dopuszczać takich rozwiązań ze względu na standardy narzucane przez regulacje dotyczące sektora bankowego.

4.5.2.2 Gwarantowany poziom dostępu do zasobów

W przypadku potrzeby zwiększonego zapotrzebowania na zasoby, oprogramowanie chmury może dynamicznie i natychmiastowo przydzielić dodatkowe zasoby. Są jednak aplikacje, które przeniesione do chmury będą miały kłopoty z szybkością działania. To aplikacje, które pracują w czasie rzeczywistym, zależne od oddalonych zasobów sprzętowych (tzw. daleka chmura). Może to spowodować istotne opóźnienia w działaniu i w efekcie brak w pracy w czasie rzeczywistym

4.5.2.3 Gwarancja dostępu

Migracja do chmury może także budzić obawy dotyczące dostępności do danych w niej umieszczonych. Normalnie przedsiębiorstwa budują swoje polityki tzw. "zachowania ciągłości" (eng: bussines continuity ) zawierające różne mechanizmy zabezpieczania się przed utratą danych , od stosowania redundantnych struktur na każdym poziomie i redukowania tzw SPOFów ( eng: Single Points of Failure ) aż po dublowanie całych centrów obliczeniowych i rozmieszczanie ich w różnych częściach kraju a następnie synchronizowanie i replikowanie zasobów między nimi. Korzystając z chmury publicznej użytkowanik końcowy nie ma de facto takiego wglądu w strukturę i zabezpieczenia jakim podlegają jego dane, musi pod tym względem zdać się na dostawcę danej usługi i umowę SLA jaką z nim podpisuje.

4.5.3 Powody popularności Cloud Computing

Powodem popularności Cloud Computing jest przeniesienie w nim części lub końcu całego ciężaru świadczenia usług IT na oferenta (wewnętrznego lub zewnętrznego). Właściwie jest to prawie to samo, co znane wcześniej pod nazwą outsourcing’u - czyli wydzielenie ze struktury przedsiębiorstwa niektórych realizowanych przez nie usług IT i przekazanie ich do wykonania innym podmiotom (zależnym lub niezależnym).

Specjalizacja oferenta w oferowaniu usług daje jemu szanse na obniżkę kosztów i uzyskanie właściwego poziomu usług. Z drugiej strony agregacja zasobów, optymalne wykorzystanie, punktowa ochrona (z rozproszeniem w centrum zapasowym).

A dla konsumenta możliwość skorzystania w dowolnego miejsca poprzez ogólnie dostępny Internet.

4.6 Modele chmury obliczeniowej

Chmura obliczeniowa może być realizowana z wykorzystaniem różnych modeli, począwszy od kolokacji, skończywszy na modelach koncentrujących się dostępie do ważnego, z punktu widzenia konsumenta, zasobu.

W zależności od wybranego modelu zmienia się zakres i poziom zasobów, którymi osobiście zarządzamy.

4.6.1 Kolokacja

Kolokacja [ang. collocation] polega na wynajęciu pomieszczenia serwerowni wraz dostępem do jej standardowej infrastruktury: energii elektrycznej, klimatyzacji oraz łącza do Internetu, w celu umieszczenia działającego tam sprzętu komputerowego konsumenta.

str. 6 z 7

Jest to najstarsza i najprostsza forma usług w chmurze. Konsument ma zdalny dostęp do umieszczonego w serwerowni sprzętu w celu jego normalnego użytkowania oraz bezpośredni dostęp do serwerowni dla celów serwisowych.

4.6.2 IaaS

Infrastructure as a Service [z ang. „infrastruktura jako usługa”] jest to model polegający na dostarczaniu klientowi działającej infrastruktury informatycznej. Składa się na nią: działający sprzęt z oprogramowaniem systemowym, narzędziowym i użytkowym, podłączony do łączy Internetowych, w przystosowanej w tym celu serwerowni, wraz z serwisowaniem całości.

Konsument precyzuje wielkość niezbędnych zasobów: mocy obliczeniowej (liczby i rodzajów serwerów), przestrzeni pamięci masowej, wydajności łącza Internetowego.

Zazwyczaj sprzęt znajduje się w serwerowni oferenta. Konsument może też dostarczyć oprogramowanie do zainstalowania na wynajmowanym sprzęcie.

4.6.3 PaaS

Platform as a Service [z ang. „platforma jako usługa”] jest to model polegający na sprzedaży gotowego, często dostosowanego do potrzeb użytkownika, kompletu aplikacji dostępnego dla konsumenta poprzez Internet.

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 komputera połączonego z Internetem.

4.6.4 SaaS

Software as a Service [z ang. „oprogramowanie jako usługa”] – klient otrzymuje konkretne, potrzebne mu funkcjonalności i oprogramowanie. 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 efekcie wszystko, poza końcową aplikacją, jest zwirtualizowane i umieszczone gdzieś w chmurze. Użytkownik traktuje oprogramowanie jako usługę. Nie martwi się kompatybilnością aplikacji ze swoim komputerem, procesem instalacji czy zapewnieniem zgodności. Zamawia konkretne rozwiązanie, i je otrzymuje. Współczesne przykłady to usługi dostarczane przez Google (Gmail, Docs) czy też firmy oferujące gotowe strony www do wpisu ich zawartości.

4.6.5 CaaS

Communications as a Service [z ang. „komunikacja jako usługa”] – usługodawca zapewnia platformę pod telekomunikacyjne środowisko pracy.

4.6.6 IPaaS

Integration Platform as a Service [z ang. „platforma integracyjna jako usługa”] jest to platforma zapewniająca integrację pomiędzy różnymi usługami w chmurze.

str. 7 z 7

4.6.7 DaaS

Desktop as a Service [z ang. „stacja robocza jako usługa”] jest to platforma zapewniająca stację roboczą (w domyśle: o stabilnej i łatwo odtwarzalnej konfiguracji) dla zdalnego użytkownika.

4.7 Podsumowanie

Współcześnie coraz więcej nowych funkcjonalności umieszczanych jest w modelu chmur obliczeniowych. Kwestią czasu jest dojście do szczytu wirtualizacji – przeniesienia całego oprogramowania (wraz z systemem operacyjnym) na serwer, a u użytkownika instalacja cienkiego klienta, mającego tylko interfejsy komunikacji z obsługującą go osobą. Taki cienki klient przy szybkich łączach internetowych mógłby się łączyć z serwerem nie będącym w sieci lokalnej, ale umiejscowionym gdziekolwiek na świecie. To prowadzi do dodatkowej funkcjonalności SaaS – DaaS (ang. desktop as a service). W takim modelu użytkownik kupowałby od usługodawcy hostowaną przez niego maszynę wirtualną, w pełni spersonalizowaną i posiadającą dokładnie taką specyfikację, jakiej oczekuje.