4 Cloud Computing – Chmura obliczeniowa

Transkrypt

4 Cloud Computing – Chmura obliczeniowa
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. 1 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 konsumentoferent 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. 2 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. 3 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. 4 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. 5 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. 6 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.
str. 7 z 7