Cloud Computing — czym jest i do czego służy?

By Weronika Skotnicka

Cloud Computing (w języku polskim)

(zmienne w czasie)

Cloud computing. Infrastructure-as-a-service (IaaS). Platform-as-a-service (PaaS). Gromadzenie i zarządzanie danymi w chmurze. Relacyjne bazy danych oraz hurtownie danych w chmurze. Nierelacyjne bazy danych - NoSQL w chmurze. Analiza danych w chmurze. BigData - Hadoop i Spark w chmurze. Obliczenia naukowe i analizy numeryczne w chmurze - grid computing. Podstawy ekonomiczne rynku cloud computing. Optymalizacja kosztów usług chmurowych. Bezpieczeństwo danych w chmurze.

Celem zajęć jest przedstawienie rynków typu infrastructure-as-a-service (IaaS) i platform-as-a-service (PaaS) oraz praktyczne zapoznanie studentów z technologią przetwarzania danych i prowadzenia obliczeń w chmurze. Zajęcia będą realizowane w oparciu praktyczne studia przypadku z wykorzystaniem platformy Amazon Web Services.

Literatura:

Podstawy prawne przetwarzania danych osobowych

Zgoda (nie)dobra na wszystko

Wielu administratorów wychodzi z założenia, że najłatwiejszą podstawą przetwarzania danych osobowych jest uzyskanie zgody od osoby, której dane dotyczą. Praktycy jednak wskazują, że jest to rozwiązanie ryzykowne, a czasem wręcz szkodliwe.

Administrator powinien przede wszystkim zbadać czy istnieją szczegółowe przepisy prawa, które same w sobie stanowią podstawę do przetwarzania danych osobowych. Musi także przeanalizować inne warunki wskazane w art. 6 RODO. Uzyskanie zgody powinno być rozwiązaniem ostatecznym, gdy nie ma innej podstawy przetwarzania danych.

Należy pamiętać, że osoba wyrażająca zgodę może w dowolnym czasie ją wycofać, co może okazać się bardzo problematyczne dla administratora danych.

Cloud Computing — czym jest i do czego służy?

Niezależnie od tego, czy jest to chmura prywatna, czy publiczna, celem przetwarzania typu Cloud Computing jest zapewnienie prostego i elastycznego dostępu do zasobów obliczeniowych i usług IT. Chmury obliczeniowe łączą wiele zalet tradycyjnego, lokalnego, a także wygodnego systemu komputerowego oraz dostępu zdalnego do jednostek o dużej mocy, w tym elastyczność, skalowalność i łatwość dostarczania usług, wraz z kontrolą dostępu, bezpieczeństwem oraz dostosowywaniem zasobów infrastruktury lokalnej. Jakie są rodzaje usług typu Cloud Computing? Do czego można je wykorzystać?

Zasadniczo Cloud Computing to wykorzystanie usług i pamięci masowej do zdalnego przechowywania, zarządzania oraz przetwarzania danych

Dostawcy Cloud Computing korzystają z najnowszych rozwiązań technicznych, co pozwala dziś uruchomić nawet małym firmom potężne systemy i innowacyjne projekty

Dostawca Cloud Computing może obsługiwać szeroką gamę języków programowania . Dwie główne platformy to Microsoft Azure i Amazon Web Services

. Więcej podobnych informacji znajdziesz na stronie głównej Onetu

Znamienne jest, że podłączenie do systemu Cloud Computing oznacza korzystanie z łącza internetowego w celu uzyskania dostępu do zasobów obliczeniowych hostowanych w centrach danych zarządzanych przez zewnętrznych dostawców usług w chmurze, zamiast posiadania tych zasobów i utrzymywania ich lokalnie. Czyli aby posiadać własną infrastrukturę IT lub centra danych, firmy mogą wynajmować wszystko od dostawców usług w chmurze, od aplikacji po pamięć masową.

Jakie są rodzaje systemów Cloud Computing?

Zasadniczo Cloud Computing to wykorzystanie usług i pamięci masowej do zdalnego przechowywania, zarządzania oraz przetwarzania danych. Sposób tego przetwarzania może być jednak różny, z czym wiążą się pewne podstawowe pojęcia, które warto znać. Cloud Computing można podzielić na trzy różne typy:

infrastruktura jako usługa (IaaS, ang. Infrastructure as a Service) platforma jako usługa (PaaS, Platform as a Service) oprogramowanie jako usługa (SaaS, Software as a Service)

Oprócz tego wymieniana jest czwarta, zyskująca na popularności wśród programistów forma wykorzystania usług chmurowych, zwana technologiami bezserwerowymi (ang. Serverless Technologies) albo przetwarzaniem bezserwerowym (ang. Serverless Computing), będąca w istocie nakładką na usługi PaaS.

Ile zarabia się w IT? Sprawdź najlepiej opłacane specjalizacje

Cloud Computing — IaaS, PaaS i SaaS

IaaS, czyli infrastruktura jako usługa . Jest to najbardziej podstawowa kategoria usług Cloud Computing . Stosując IaaS, można wynająć całą infrastrukturę IT — serwery, pamięć masową, sieci, systemy operacyjne i maszyny wirtualne (VN, ang. Virtual Machines) — od dostawcy chmury opłacając tylko rzeczywiste jej użycie.

. Jest to najbardziej podstawowa kategoria . Stosując IaaS, można wynająć całą infrastrukturę IT — serwery, pamięć masową, sieci, systemy operacyjne i maszyny wirtualne (VN, ang. Virtual Machines) — od dostawcy chmury opłacając tylko rzeczywiste jej użycie. SaaS, czyli oprogramowanie jako usługa . Jest to metoda dostarczania programów i aplikacji przez internet na żądanie. Często w modelu abonamentowym. Wykorzystując SaaS, dostawcy zapewniający usługi w chmurze hostują i zarządzają daną aplikacją i podstawową infrastrukturą. Zajmują się także jej serwisem, aktualizacjami oprogramowania i poprawkami zabezpieczeń. Użytkownicy łączą się jedynie z aplikacją wykorzystująca Cloud Computing przez internet, używając telefonu czy komputera, co zwykle odbywa się za pomocą przeglądarki internetowej.

. Jest to metoda dostarczania programów i aplikacji przez internet na żądanie. Często w modelu abonamentowym. Wykorzystując SaaS, dostawcy zapewniający usługi w chmurze hostują i zarządzają daną aplikacją i podstawową infrastrukturą. Zajmują się także jej serwisem, aktualizacjami oprogramowania i poprawkami zabezpieczeń. Użytkownicy łączą się jedynie z aplikacją wykorzystująca przez internet, używając telefonu czy komputera, co zwykle odbywa się za pomocą przeglądarki internetowej. Aplikacje mogą być też niezależnymi programami (np. dostarczać informacje o pogodzie, o notowaniach na giełdzie czy nawet zajmować się generowaniem sztuki). W tym wypadku są one podzielone na część kliencką, uruchomioną w telefonie czy tablecie klienta, oraz część serwerową, która jest głównym silnikiem działania systemu Cloud Computing . Ten podział wynika po części z tego, iż telefony, a nawet stacjonarne komputery są często za słabe, aby uciągnąć złożone obliczenia potrzebne do działania niektórych aplikacji, np. służących automatycznemu tłumaczeniu tekstów, rozpoznawaniu mowy czy obróbce obrazów.

. Ten podział wynika po części z tego, iż telefony, a nawet stacjonarne komputery są często za słabe, aby uciągnąć złożone obliczenia potrzebne do działania niektórych aplikacji, np. służących automatycznemu tłumaczeniu tekstów, rozpoznawaniu mowy czy obróbce obrazów. PaaS, czyli platforma jako usługa. Tego rodzaju działanie systemu odnosi się do usług przetwarzania w chmurze zapewniających środowisko na żądanie do kreowania, testowania, dostarczania i zarządzania aplikacjami, o których była mowa wyżej. System Cloud Computing typu PaaS został zaprojektowany, aby ułatwić programistom łatwe i szybkie tworzenie aplikacji internetowych, bez martwienia się o konfigurowanie całej infrastruktury urządzeń, twardych dysków, serwerów, a także oprogramowania sieciowego i baz danych.

Cloud Computing a przetwarzanie bezserwerowe

Przetwarzanie bezserwerowe, będące modyfikacją i rozszerzeniem technologii PaaS, służy do budowania funkcjonalności programów i aplikacji mobilnych działających w systemie Cloud Computing bez poświęcania czasu na ciągłe zarządzanie serwerami i wszystkim, co jest potrzebne do ich sterowania. To dostawca przetwarzania bezserwerowego zajmuje się konfiguracją, wydajnością i zarządzaniem systemem, natomiast programista musi tylko napisać kod programu.

Technologie bezserwerowe zdefiniowały różne procesy tworzenia oprogramowania, takie jak niezmienna infrastruktura, architektura sterowana zdarzeniami, skalowalność na żądanie i funkcja jako usługa. Architektury bezserwerowe są dobrze skalowalne, mają warunki, by włączać, wyłączać i przyłączać do siebie pewne zasoby tylko wtedy, kiedy jest to konieczne. Mogą być w tym celu sterowane zdarzeniami, które nazywa się "wyzwalaczami". Całość działa więc tak, że staje się bardziej wydajna, a jednocześnie opłacalna ekonomicznie.

Transformacja Cyfrowa- moda czy konieczność? Zastosowanie technologii w przemyśle i biznesie

Cloud Computing w praktyce — przykłady

Inną ciekawą cechą tych platform jest to, że dostawca Cloud Computing może obsługiwać szeroką gamę języków programowania. Dwie główne platformy to Microsoft azure i Amazon Web Services. Microsoft Azure najlepiej nadaje się dla programistów, którzy chcą tworzyć aplikacje przy użyciu języka Python, C# lub JavaScript. AWS wspiera tworzenie aplikacji przy użyciu Java, C++ i Ruby.

Obaj dostawcy obsługują różne języki, ale każdy z nich ma do tego swoje własne podejście. Na przykład program Pythona w AWS może działać w systemach Windows, Linux i Mac. Natomiast program na platformie Azure działa tylko w systemie Windows.

Przetwarzanie w chmurze to praktyka uzyskiwania dostępu do zdalnych usług obliczeniowych. Dostawcy Cloud Computing korzystają z najnowszych rozwiązań technicznych, co pozwala dziś uruchomić nawet małym firmom potężne systemy i innowacyjne projekty, które kiedyś były dla tych firm, z powodu kosztów związanych z zakupem sprzętu i jego eksploatacji — niedostępne.