Obliczenia w chmurach

Obliczenia w chmurach

W rozwiązaniu opartym na cloud computing oprogramowanie i dane podlegające operacjom są zainstalowane na zdalnym serwerze

W czasach kryzysu gospodarczego istotnym czynnikiem wpływającym na rozwój sektora IT są koszty zakupu oraz funkcjonowania infrastruktury sprzętowej. Szczególnie mocno widać to na przykładzie centrów obliczeniowych przeznaczonych do wykonywania złożonych operacji na danych. Obliczenia z wykorzystaniem komputerów wykonywane są np. przy prognozowaniu anomalii pogodowych lub poszukiwaniu genów odpowiedzialnych za poważne schorzenia. Koszty budowy oraz utrzymania centrów obliczeniowych są bardzo wysokie, a czas ich budowy liczony jest w miesiącach.
Z tego powodu powstało wiele inicjatyw mających na celu optymalizację kosztów wykonywania złożonych obliczeń. W rozwiązaniu problemu okazała się pomocna idea udostępniania mocy obliczeniowej jako usługi na żądanie (ang. service on demand). Przy okazji budowy rozwiązań mających na celu wykorzystanie wolnej mocy obliczeniowej powstało wiele pojęć takich jak cloud computing czy grid.

Komputer dużej mocy

W tradycyjnym rozwiązaniu użytkownik posiada komputer z dyskiem twardym, na którym zainstalowane jest oprogramowanie. Za pomocą tego oprogramowania wykonywane są obliczenia oraz inne operacje, a następnie efekty pracy mogą być współdzielone poprzez sieć internetową i wykorzystywane przez innych współpracowników. W rozwiązaniu opartym na cloud computing zarówno oprogramowanie, jak i dane oraz zasoby podlegające operacjom są zainstalowane na zdalnym serwerze. W dzisiejszym świecie, w dobie niezwykłej popularności internetu, standaryzacji sprzętu i oprogramowania, zapotrzebowania klientów stają się coraz bardziej powtarzalne, dzięki temu te same zestawienia (w formie usługi) mogą być oferowane szerokiej gamie odbiorców. Rodzaje usług, które mogą być dostarczane, obejmują bardzo rozległy obszar: od wykorzystania mocy obliczeniowej procesora, przez przechowywanie danych i dokumentów, aż do udostępniania specjalistycznego oprogramowania.
Cloud computing często jest porównywany z pojęciem grid computing (przetwarzanie siatkowe). W przypadku gridów mamy do czynienia najczęściej z aplikacją uruchamianą na wielu komputerach jednocześnie i wykorzystującą ich zasoby obliczeniowe do rozwiązywania jakiegoś skomplikowanego problemu technicznego (zazwyczaj naukowego). Grid możemy sobie wyobrazić jako wirtualny superkomputer. Od strony technicznej pojęcia grid i cloud computing bardzo się różnią, głównie możliwością skalowania platformy technologicznej. W cloud computing skalowanie jest dynamiczne i odbywa się w czasie rzeczywistym.
Problem przeznaczony do rozwiązania przy użyciu klastra grid powinien wiązać się z wykonywaniem wielu drobnych, powtarzających się czynności bez konieczności zachowania kolejności obliczeń. Działanie klastra grid nie powinno wymagać „całościowej” analizy dużych zbiorów danych, przetrzymywania na dysku klienta dużych plików, powinno za to pozwalać na długi czas użytkowania tego samego oprogramowania klienckiego.

Ile jest gwiazd na niebie?

Organizacje na całym świecie wykorzystują grid computing w tak różnorodnych dziedzinach jak wspólne badania naukowe, projektowanie struktury leków oraz analizy ryzyka ekonomicznego. Technologia grid computing pozwala naukowcom rozwiązywać problemy, które z powodu ograniczeń wynikających z mocy obliczeniowej i integracji danych oraz kosztów były wcześniej niemożliwe do rozwiązania.
Jedną z pierwszych praktycznych realizacji wizji przetwarzania siatkowego (grid computing) był projekt SETI@home, który umożliwił konstrukcję ogromnego, darmowego, wirtualnego superkomputera do prowadzenia obliczeń astronomicznych dla potrzeb poszukiwania inteligentnego życia pozaziemskiego (SETI – ang. Search for Extraterrestial Intelligence).

Tanio policzę

Dobrym przykładem na rosnącą popularność rozwiązań typu cloud computing jest Amazon Elastic Compute Cloud (Amazon EC2) oferujący moc obliczeniową jako usługę (ang. web services). W Amazon EC2 możliwe jest wykupienie wirtualnego serwera za niewielką opłatą (np. 0,11 dol.), liczoną za godzinę użytkowania danej mocy obliczeniowej lub wykorzystane zasoby.
Spółka Asseco Systems wraz z ABG SA również proponuje usługi związane z oferowaniem mocy obliczeniowej dostępnej na żądanie z wykorzystaniem technologii wirtualizacji serwerów lub wykonywania obliczeń rozproszonych na podstawie rozwiązań typu grid. Przykładem może być oferta rozwiązań wykorzystujących oprogramowanie do śledzenia nadużyć w różnych sektorach telekomunikacji lub energetyki, które wymaga dużych mocy obliczeniowych oraz przetwarzania dużego wolumenu danych.
Stosowanie rozwiązań opartych na cloud computing lub grid posiada wiele zalet, a z punktu widzenia ekonomicznego daje duże pole oszczędności bez konieczności inwestowania we własny sprzęt.
Ważną zaletą jest również skalowalność (możliwość rozbudowy) mocy obliczeniowej klastrów przetwarzających. Zwiększenie możliwości obliczeniowych odbywa się przez dodanie kolejnych elementów infrastruktury, które automatycznie zwiększą wydajność rozwiązania i w kilka sekund po uruchomieniu mogą realizować obliczenia. W najbardziej zaawansowanych rozwiązaniach takimi urządzeniami mogą być np. telefony komórkowe, co jest przykładem uniezależnienia obliczeń od typu wykorzystywanego sprzętu.
Prognozy firm analitycznych Gartner oraz Forrester Research wskazują, że w najbliższych latach technologie cloud computing oraz grid należeć będą do najpopularniejszych i najlepiej rozwijających się w sektorze IT.

Justyna Bińkowska, Mirosław Bartecki
Pion Technologii i Standardów
ABG SA

Wydanie: 17/2009

Kategorie: Nauka

Napisz komentarz

Odpowiedz na treść artykułu lub innych komentarzy