• Nie Znaleziono Wyników

3 Podstawy matematyczne i informatyczne

3.9 Wykorzystanie chmury obliczeniowej

Jedną z najchętniej rozwijanych aktualnie technologii w informatyce jest chmura obliczeniowa.

Jej rozwój stał się bardzo dynamiczny w związku z rozwojem sieci komputerowych, a w szczególności Internetu. Liczne zalety, które niesie za sobą chmura obliczeniowa omówione są w niniejszym podroz-dziale. Możliwości te powinny być uwzględnione podczas analizy wad i zalet poszczególnych technolo-gii, w tym także formatów związanych z modelowaniem systemów dynamicznych w bioinformatyce.

W dalszej części tego podrozdziału omówione są również możliwości, jakie niesie za sobą wykorzysta-nie chmury obliczeniowej w procesie modelowania. Rysunek 20 przedstawia zestawiewykorzysta-nie najważwykorzysta-niej- najważniej-szych typów usług, które są dostarczane z wykorzystaniem chmury obliczeniowej (Bhardwaj et al.

2010).

Pierwszym typem usług są usługi infrastruktury, zwane IaaS (ang. Infrastructure as a Service).

Oznacza to, że w chmurze obliczeniowej udostępniony jest sam sprzęt, na którym można następnie postawić wybrane systemy operacyjne i oprogramowanie zgodne z potrzebami odbiorcy. Zaletą ta-kiego rozwiązania jest brak konieczności dbania o sprzęt, który w tradycyjnej serwerowni wymaga kon-serwacji i dbania zarówno o bezpieczeństwo danych, które mogą zostać utracone w przypadku awarii jak i dostępność, która wymaga dbania o połączenia sieciowe. Kluczowym aspektem jest jednak skalo-walność, która w przypadku chmur obliczeniowych pozwala na rozszerzanie mocy obliczeniowej na krótki okres czasu w związku z potrzebami związanymi z wykonywanymi operacjami, a następnie po-wrót do poprzednich mocy obliczeniowych. Możliwe jest też długotrwałe równomierne rozszerzanie możliwości obliczeniowych i przestrzeni dyskowej. Za pomocą konfiguracji możliwe jest na przykład dodanie dodatkowego dysku.

Drugim typem usług są usługi platformy, zwane PaaS (ang. Platform as a Service). Poprzez usługi platformy rozumiemy narzędzia, które umożliwiają uruchamianie i zarządzanie oprogramowa-niem lub usługi ułatwiające zarządzanie zainstalowanym oprogramowaoprogramowa-niem. Przykładem usług plat-formy są bazy danych, które nie wymagają instalacji, czy ręcznego zabezpieczania, a są udostępniane jako usługa. Innym przykładem są narzędzia związane z zarządzaniem aplikacjami w chmurze oblicze-niowej, a także umożliwiające zarządzaniem cyklem życia aplikacji. Najważniejszą zaletą wynikającą z usług Platformy jest skalowalność i automatyzacja procesów związanych z zarządzaniem oprogramo-waniem, które jest umieszczane w platformie w chmurze obliczeniowej.

Trzecim typem usług są usługi oprogramowania, zwane SaaS (ang. Software as a Service). Po-przez usługi oprogramowania rozumiemy gotowe, możliwe do automatycznego zainstalowania (lub

dostarczone jako zainstalowane) oprogramowanie, które pozwala użytkownikom na realizację zadań, które są przed nimi postawione bez konieczności dbania o zarządzanie oprogramowaniem, czy nawet danymi, które powstają lub są modyfikowane przez takie oprogramowanie. Oprogramowanie w chmu-rze jest dostępne globalnie i skalowalna jest również liczba użytkowników, którzy mogą z takiego opro-gramowania korzystać.

Rysunek 20. Stos chmury obliczeniowej.

W związku z licznymi zaletami i funkcjonalnościami, które płyną z wykorzystania chmury obli-czeniowej powstaje pytanie, w jaki sposób można je wykorzystać w pracy nad modelowaniem syste-mów dynamicznych i czy istnieją różnice pomiędzy typami formatów w kontekście wykorzystania ich w chmurze obliczeniowej.

Pierwszym, omówionym w niniejszym podrozdziale typem usług są usługi Infrastruktury. Po-zwalają one na dostarczenie zasobów sprzętowych w sposób skalowalny. Wydaje się oczywistym, że stosowanie przestrzeni w chmurze (na przykład repozytoriów z wersjonowaniem) do przechowywania zapisanych modeli jest ważną możliwością. Istotnym argumentem jest również możliwość zwiększenia mocy obliczeniowej na czas obliczeń związanych ze zbudowanym modelem, co może znacząco przy-spieszyć wykonywane badania. Powstaje jednak kwestia związana z ryzykiem współdzielenia zasobów i bezpieczeństwa zapisanych danych. Pomimo, że dane nie będą utracone, mogą zostać wykradzione co z punktu widzenia na przykład wrażliwych danych medycznych wydaje się bardzo ważnym argumen-tem.

Drugim omówionym typem usług są usługi związane z Platformą. Z pewnością możliwości au-tomatycznego zarządzania oprogramowaniem związanym z modelowaniem, a nawet usługami baz da-nych które wykorzystywane mogą być przez takie oprogramowanie, może być pewnym ułatwieniem związanym z modelowaniem systemów dynamicznych.

Trzecim omówionym typem usług są usługi związane z Oprogramowaniem. Na pewno, jeżeli zespół związany z tworzeniem systemów dynamicznych ma administratora, który dba o instalowanie i konfigurowanie oprogramowania, wykorzystanie chmury obliczeniowej do dostarczania i administro-wania oprogramowaniem symulacyjnym może być sporym ułatwieniem, szczególnie jeżeli jest to duży zespół.

Istotne jest jednak, czy istnieją różnice pomiędzy typami formatów z punktu widzenia wyko-rzystania możliwości, jakie niesie za sobą chmura obliczeniowa. Do specjalizowanych języków progra-mowania zaliczamy również biblioteki i frameworki specjalizowane, które zostały oparte o znane języki programistyczne. Istnieje przypadek wykorzystania biblioteki RePast, która została zbudowana w Javie, w połączeniu z Java Topology Suite, do zbudowania modelu czasoprzestrzennego. Analogicznie moż-liwe jest wykorzystanie możliwości, które niosą takie języki jak Java, czy C# do zarządzania obliczeniami w chmurze lub nawet do zarządzania samą chmurą (na przykład zwiększając poprzez interfejs progra-mistyczny moc obliczeniową w związku z wykorzystaniem złożonego modelu, którego skala może być obliczana poprzez odpowiedni framework). Możliwości te w połączeniu z frameworkiem związanym z modelowaniem pozwalają na wykorzystanie w sposób szczególny możliwości chmury obliczeniowej.

W tym zakresie specjalizowane języki programowania mają zdecydowanie więcej możliwości wykorzy-stania, niż formaty z niejawną strukturą, czy kontrolowane języki naturalne. Warto jednak podkreślić, że w przypadku formatów z niejawną strukturą, a także kontrolowanych języków naturalnych zawsze może powstać odpowiednie oprogramowanie, które będzie realizować możliwości, które niosą za sobą języki specjalizowane. Przykładem już powstałego rozwiązania tego typu jest FAME, które działając w postaci Software as a Service umożliwia budowanie modelu w aplikacji webowej. Model taki jest zapi-sywany do formatu SBML z wykorzystaniem dodatku FBA (Boele et al. 2012).

4 Przegląd formatów reprezentacji