Amazon Web Services: kompleksowe zarządzanie Big Data

Materiał promocyjny Amazon Web Services posiada w swojej ofercie szerokie portfolio narzędzi umożliwiających tworzenie i wdrażanie aplikacji Big Data. Wszystko odbywa się szybko i łatwo, dzięki natychmiastowemu dostępowi do elastycznych oraz stosunkowo tanich zasobów IT. Co za tym idzie, błyskawiczne skalowanie dowolnych, pozostających pod naszą kontrolą, hurtowni danych czy mocy obliczeniowej serwerów jest możliwe niemalże w czasie rzeczywistym. Jak prezentuje się zatem pełne portfolio Amazon Web Services jeśli chodzi o usługi związane z przetwarzaniem i analizą Big Data?

Dzięki narzędziom dostępnym w ramach AWS firma rozpoczynająca swoją "przygodę" z Big Data nie musi ponosić na wstępnie zbyt dużych kosztów związanych z inwestycją oraz utrzymaniem infrastruktury. Możliwe staje się bowiem "zarezerwowanie" dokładnie takiej ilości zasobów jaka jest potrzebna w danym momencie. Jeśli istnieje zapotrzebowanie na kolejne, są one po prostu uruchamiane w kilka minut.

Frameworki Big Data Analytic

Amazon EMR (czyli Amazon Elastic MapReduce) to narzędzie umożliwiające szybkie i efektywne kosztowo przetwarzanie ogromnych ilości danych. W jego skład wchodzi m.in. framework Hadoop, który umożliwia efektywną dystrybucję oraz przetwarzanie po dynamicznie skalowanych instancjach Amazon EC2. Oczywiście nic nie stoi na przeszkodzie, by skorzystać z innych popularnych frameworków, jak chociażby Apache Spark czy Presto oraz skomunikować całość z magazynami danych dostępnymi w ramach AWS. Z Amazon EMR z powodzeniem korzysta m in. YELP.

Warto także wspomnieć o Amazon Elasticsearch Service, który ułatwia szybkie wdrożenie i łatwe zarządzanie usługą Elasticsearch, czyli silnikiem wykorzystywanym przy monitorowaniu aplikacji w czasie rzeczywistym czy analizach typu stream analytics. Uruchomienie klastra Amazon Elasticsearch zajmuje tylko kilka minut, jakie trzeba poświęcić na skonfigurowanie go w AWS Management Console. Narzędzie, na kolejnym etapie, samo uruchamia niezbędne zasoby oraz całą usługę, która może być następnie, w zależności od potrzeb: skalowana, wstrzymywana lub całkowicie wyłączana.

Streaming w czasie rzeczywistym

Kolejną grupą narzędzi niezbędnych w wielu procesach związanych z przetwarzaniem Big Data są usługi umożliwiające obsługę oraz analizę danych strumieniowych (streaming data). W Amazon Web Services mamy do dyspozycji trzy produkty: Kinesis Firehose, Kinesis Analytics oraz Kinesis Streams. Pierwszy z nich jest tak naprawdę najprostszą metodą "załadowania" danych strumieniowych do usług dostępnych w ramach AWS (jak chociażby Amazon S3 czy Amazon Redshift) i natychmiastowe wykorzystanie ich jako źródła do analiz prowadzonych w czasie rzeczywistym. Kinesis Firehose to narzędzie automatycznie skalujące swoje możliwości do ilości danych. Co za tym idzie, nie jest niezbędne ciągłe administrowanie nim. Plusem jest także możliwość kompresowania oraz szyfrowania danych, co znacznie zmniejsza ilość miejsca niezbędnego do ich przechowywania i zwiększa bezpieczeństwo.

Amazon Kinesis Analytics umożliwia natomiast wykonywanie standardowych zapytań SQL, podczas gdy Kinesis Streams okazuje się niezastąpione w tworzeniu specjalistycznych aplikacji, których zadaniem jest przetwarzanie i/lub analiza danych strumieniowych w ściśle określonym celu (monitorowanie transakcji finansowych, obsługa feedów z mediów społecznościowych czy analizy typu clickstreams prowadzone na stronach WWW). Możliwe staje się tworzenie dashboardów odświeżanych w czasie rzeczywistym, implementowanie mechanizmów dynamicznych cen w sklepach internetowych i wiele więcej. Oczywiście dane przetwarzane w Amazon Kinesis Streams mogą zostać wykorzystane także przez inne narzędzie wchodzące w skład portfolio AWS: Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon Elastic Map Reduce (Amazon EMR) czy AWS Lambda.

Storage i bazy danych dla Big Data

W kontekście atrakcyjności oferty Amazon Web Services pod kątem Big Data, nie sposób nie wspomnieć także o narzędziach służących do przechowywania danych. Warto wymienić chociażby Amazon S3 (Amazon Simple Storage Service), który przeznaczony jest zarówno do przechowywania krótkoterminowego jak i długoterminowego. Ma czytelny i prosty w obsłudze webowy interface, jest w pełni skalowalny oraz nie posiada minimalnej bariery wejścia. Oznacza to, że skorzystać z niego mogą także użytkownicy dysponujący stosunkową niewielką ilością danych do składowania oraz ograniczonym budżetem.

W kwestii baz danych użytkownicy mogą natomiast skorzystać z Amazon Relational Database Service (Amazon RDS). Usługa ta jest kompatybilna z sześcioma różnymi, relacyjnymi bazami danych: Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL oraz MariaDB. Do superwydajnych zastosowań stworzono natomiast Amazon DynamoDB – narzędzie NoSQL umożliwiające tworzenie baz dokumentowych oraz klucz-wartość. Idealnie sprawdzi się jako fundament pod aplikacje mobilne, webowe, sieci reklamowe czy narzędzia IoT.

Warto także wspomnieć o Amazon Aurora – silniku do relacyjnych baz danych kompatybilnym z MySQL. Łączy on w sobie szybkość i dostępność typowe dla komercyjnych baz danych z efektywnością kosztową oraz prostotą baz Open Source.

A propos baz danych, należy wspomnieć także o narzędziu umożliwiającym tworzenie hurtowni danych w ramach AWS. Amazon Redshift, bo o nim mowa, może być skalowany do kilku petabajtów i współpracuje z wieloma dostępnymi aplikacjami klasy BI. Z dodatkiem ElastiCache może być także wykorzystany jako pamięć podręczna w chmurze. Co ciekawe, finansowa bariera wejścia niezbędna do przejścia, by móc skorzystać z tej usługi jest praktycznie żadna, bowiem zaczyna się już od 0,25$ za godzinę.

BI w Amazon Web Services

Przetwarzanie dużych ilości danych nie miałoby większego sensu bez odpowiedniej ich analizy, wizualizacji i wniosków. Odpowiedzią na te potrzeby jest Amazon QuickSight – ta aplikacja BI umożliwia, nawet tym mniej zaawansowanym użytkownikom, tworzenie wizualizacji czy wykonywanie analiz ad-hoc. Narzędzie to korzysta z niezwykle wydajnego silnika "SPICE", dzięki czemu nawet skomplikowane analizy biznesowe oraz wizualizacje tworzone są, dosłownie w przeciągu kilku chwil. Oczywiście Amazon QuickSight może być w pełni zintegrowany z pozostałymi usługami dostępnymi w ramach Amazon Web Services.

Machine Learning oraz Internet of Things

Amazon Machine Learning to usługa, która umożliwia deweloperom, będącym praktycznie na każdym poziomie zaawansowania, skorzystanie z technologii "Machine learning". Tworzenie modeli jest stosunkowo proste i nie wymaga znajomości skomplikowanych algorytmów oraz samej technologii. Wystarczy jedynie skorzystać z gotowych narzędzi wizualizacyjnych oraz kreatorów. Warto podkreślić, że Amazon Machine Learning zostało oparte o te same, sprawdzone i wydajne, technologie wykorzystywane przez lata przez inżynierów firmy Amazon. AML wykorzystuje dostępne dane, wyszukuje odpowiednie wzorce i na ich podstawie tworzy bardziej zaawansowane modele. Oczywiście usługa ta jest, podobnie jak inne produkty dostępne w ramach AWS, w pełni skalowalna oraz dostępna w formule pay-as-you-go, gdzie użytkownik płaci jedynie za wykorzystane zasoby.

Inną narzędziem opartym na Biga Data jest AWS IoT (Internet of Things), które umożliwia, podłączonym do sieci urządzeniom, bezpieczną komunikację i interakcję z aplikacjami chmurowymi oraz innymi urządzeniami. Możliwości tego narzędzia są praktycznie nieograniczone, jest ono bowiem w stanie obsłużyć miliardy urządzeń oraz biliony przesyłanych wiadomości. Atutem jest niewątpliwie pełna integracja z innymi usługami dostępnymi w ramach Amazon Web Services: AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, Amazon DynamoDB, Amazon CloudWatch oraz Amazon Elasticsearch.

W kolejnych artykułach publikowanych na serwisie Computerworld omówimy kolejne usługi oraz narzędzia dostępne w ramach Amazon Web Services.

Już teraz jednak, istnieje możliwość stworzenia bezpłatnego konta na aws.amazon.com:

Amazon Web Services: kompleksowe zarządzanie Big Data