Materiały dydaktyczne Katedra Inżynierii Komputerowej Przetwarzanie danych w chmurze Wprowadzenie dr inż. Robert Arsoba Robert.Arsoba@weii.tu.koszalin.pl Koszalin 2017 Wersja 1.0
Wprowadzenie Strona 2 Co to jest chmura? Koncepcja chmury Rodzaje chmury Modele przetwarzania w chmurze
Co to jest chmura? Strona 3 Cloud computing Nienamacalny byt Przetwarzanie w chmurze Chmura obliczeniowa Rozumienie intuicyjne Chmura Chmura to potoczna nazwa określająca usługi komputerowe oparte na Internecie, utrzymywane ( hostowane ) poza firmą / organizacją / domem. W przypadku usług w chmurze, wykorzystywana jest infrastruktura informatyczna, która nie należy do nas (znajduje się poza naszą siedzibą) i jest utrzymywana na zewnątrz przez inną firmę, a nie lokalnie na obsługiwanym przez nas serwerze w naszej firmie / w naszym domu. W skład chmury może wchodzić wiele usług (udostępnianie sprzętu, udostępnianie aplikacji, przechowywanie danych, itp.), z których można korzystać na dowolnym urządzeniu z dostępem do Internetu.
Co to jest chmura? Strona 4 Definicja chmury Chmura (przetwarzanie w chmurze) to paradygmat inżynierii komputerowej, który umożliwia szeroki dostęp (z dowolnego miejsca i dowolnego urządzenia komputerowego z dostępem do sieci) do współdzielonych i konfigurowalnych zasobów i usług, które mogą być szybko udostępniane poprzez sieć przy minimalnym nakładzie zarządzania. Chmura to model przetwarzania danych oparty na użytkowaniu zasobów i usług dostarczanych przez usługodawcę. Pojęcie chmury jako metafora Grupa elementów sieciowych świadczących usługi nie musi być indywidualnie adresowana ani zarządzana przez użytkowników (klientów). Zamiast tego, cały zestaw sprzętu i oprogramowania zarządzany przez dostawcę usług może być traktowany jako amorficzna chmura. (pozorna bezpostaciowość, pozorny brak uporządkowania)
Co to jest chmura? Strona 5 Historia 1977 symbol chmury jako abstrakcja sieci komputerowej (ARPANET) lata 1990 symbol chmury jako rozgraniczenie pomiędzy usługodawcą a klientem (firmy telekomunikacyjne) 1993 pojęcie cloud jako platforma przetwarzania rozproszonego (Apple => General Magic, pierwsze urządzenie typu PDA) 1996 pierwsza wzmianka o cloud computing (Compaq) 2006 popularyzacja pojęcia cloud computing (Amazon EC2) IaaS 2006 Microsoft Azure PaaS, IaaS 2008 pierwsze oprogramowanie open source do tworzenia chmur (OpenNebula) IaaS 2008 Google App Engine PaaS 2012 Google Compute Engine IaaS
Co to jest chmura? Strona 6 Serwery Komputery przenośne Aplikacje Komputery stacjonarne Monitorowanie Zawartość, treść Współpraca Platforma Komunikacja Finanse Magazyn obiektów Tożsamość Środowisko uruchomieniowe Infrastruktura Kolejkowanie Baza danych Smartfony Moc obliczeniowa Przechowywanie danych Sieć Tablety
Koncepcja chmury Strona 7 Podwaliny chmury sieci komputerowe o dużej przepustowości wirtualizacja - abstrakcja szeroko rozumianych zasobów i technologii. skalowalność - możliwość rozbudowy systemów informatycznych w przypadku zwiększonego zapotrzebowania na zasoby. architektura klient-serwer serwer dostarcza usługi klientowi cienki klient (thin client) - terminal komputerowy wraz z oprogramowaniem typu klient (niezależność od aplikacji serwerowej, małe wymagania sprzętowe klienta). architektura zorientowana na usługi (Service-Oriented Architecture SOA) Koncepcja tworzenia systemów informatycznych - aplikacja wyposażona jest w odpowiedni interfejs, umożliwiający dostęp do oferowanych przez nią usług przez inne elementy systemu informatycznego, zgodnie z ustalonymi standardami. Zestaw polis, praktyk i bibliotek, które pozwalają wykorzystać funkcjonalność aplikacji w taki sposób, by można było z niej korzystać jako z zestawu usług, opublikowanych tak, by poziom szczegółowości był dostosowany do potrzeb konsumenta usługi. Publikowane elementy są niezależne od implementacji i stosują pojedynczy, standardowy interfejs. (Tomasz Kopacz, Computerworld, 2004)
Koncepcja chmury Strona 8 Korzyści wynikające z wykorzystania chmury eliminacja konieczności zakupu sprzętu (serwery) eliminacja konieczności zakupu oprogramowania (licencje, instalowanie i administracja oprogramowaniem) eliminacja konieczności utrzymywania własnej, często skomplikowanej i kosztownej infrastruktury oraz personelu do jej obsługi opłaty wyłącznie za użytkowanie określonej usługi, np. za możliwość korzystania z pewnej aplikacji (np. arkusza kalkulacyjnego) podniesienie elastyczności i dostępności systemów informatycznych możliwość dynamicznego określania mocy środowiska informatycznego (rozwój => zwiększanie zakresu używanych zasobów, słaba koniunktura => redukowanie używanych zasobów) przydzielanie zasobów następuje w locie natychmiast, bez potrzeby zatrzymywania działających maszyn wirtualnych lub aplikacji WNIOSEK: dostosowanie wydatków na IT do aktualnych potrzeb. Oszczędności związane z wykorzystaniem chmury wynoszą szacunkowo średnio 10-20% kosztów IT.
Rodzaje chmury Strona 9 Klasyfikacja Wyróżniamy następujące rodzaje chmury: chmura prywatna (private cloud) chmura publiczna (public cloud) chmura hybrydowa (hybrid cloud) chmura osobista (personal cloud) chmura społecznościowa (community cloud) chmura rozproszona (distributed cloud) multichmura (multicloud) interchmura (intercloud)
Rodzaje chmury Strona 10 Chmura prywatna Chmura prywatna (private cloud) jest to część organizacji, a z drugiej strony jednocześnie autonomiczny dostawca usług. Usługodawcą jest np. dział IT firmy, w której inne działy są klientami takiej chmury. Dział IT udostępnia w chmurze prywatnej infrastrukturę i aplikacje w formie usług wewnątrz korporacji. Przykład: prywatna chmura przedsiębiorstwa (enterprise private cloud) udostępniająca usługi IT innym działom i partnerom (np. spółkom zależnym).
Rodzaje chmury Strona 11 Chmura publiczna Chmura publiczna (public cloud) jest to zewnętrzny, ogólnie dostępny dostawca usług. W chmurze publicznej infrastruktura jest własnością pojedynczej organizacji sprzedającej usługi chmurowe skierowane do ogółu społeczeństwa lub konkretnych branż. Czasem taki model nazywa się on demand lub pay as you go. Klient określa jakie parametry go interesują i płaci dokładnie za to, co zamówił (np. moc obliczeniowa + pewna ilość pamięci masowej). Zasoby IT w chmurze publicznej stają się dostępne dla użytkowników niezależnie od miejsca dostępu i od urządzenia, z którego w danym momencie korzystają. Chmura hybrydowa (hybrid cloud) jest to połączenie zasad funkcjonowania chmury prywatnej i publicznej. Pewna część infrastruktury i aplikacji klienta pracuje w chmurze prywatnej, a część jest umiejscowiona w przestrzeni chmury publicznej.
Rodzaje chmury Strona 12 Chmura osobista (personal cloud) jest to kolekcja cyfrowych treści i usług dostępnych z dowolnego urządzenia (przechowywanie, synchronizowanie, przesyłanie, udostępnianie treści przechodząc z jednej platformy do innej). Chmura społecznościowa (community cloud) jest to chmura oparta na infrastrukturze współdzielonej pomiędzy kilkoma podmiotami (organizacjami, instytucjami, firmami) z określonej branży, które posiadają wspólne cele lub dziedzinę działalności (np. edukacja, bezpieczeństwo, administracja, itp.). Główna zaleta to podział kosztów. Chmura rozproszona (distributed cloud) jest to chmura zbudowana w oparciu o rozproszony zestaw komputerów, w różnych lokalizacjach, połączonych w jedną sieć jako usługę (public-resource computing, volunteer cloud). Multichmura (multicloud) jest to chmura wykorzystująca w jednym, heterogenicznym środowisku wiele usług dostarczanych z różnych chmur. Celem jest uniezależnienie się od jednego dostawcy usług. Interchmura (intercloud) jest to chmura-chmur. Polega na ścisłej współpracy pomiędzy dostawcami chmur lub na zapewnieniu API umożliwiającego integrację usług pomiędzy chmurami. Idea nieskończonych zasobów.
Modele przetwarzania w chmurze Strona 13 Modele chmury kolokacja (co-location, colocation center) IaaS (Infrastructure as a Service) - infrastruktura jako usługa PaaS (Platform as a Service) - platforma jako usługa SaaS (Software as a Service) - oprogramowanie jako usługa ITaaS (IT as a Service) EaaS (Everything as a Service) Rosnąca abstrakcja
Modele przetwarzania w chmurze Strona 14 Modele chmury EaaS ITaaS Rosnąca abstrakcja Google Compute Engine kolokacja
Modele przetwarzania w chmurze Strona 15 Modele chmury Klient chmury Przeglądarka internetowa, aplikacja mobilna, cienki klient, emulator terminala, Oprogramowanie Aplikacje Platforma Infrastruktura CRM, poczta, wirtualny pulpit, komunikacja, gry, Środowisko uruchomieniowe, baza danych, serwer internetowy, narzędzia programistyczne Maszyny wirtualne, serwery, przechowywanie danych, dystrybucja obciążenia, sieć,