MARGO

Aktualności

Google Cloud Platform

od infrastruktury po inżynierię danych

Autor: Joshua Mifsud Data Scientist w Margo

06/03/2018

Pośród swoich usług w chmurze Google oferuje ponad 50 produktów, od samej infrastruktury (w skład której wchodzi pamięć do przechowywania danych i moc obliczeniowa), poprzez systemy uczące się (Machine Learning), po narzędzia do przetwarzania i analizy danych o dużych objętościach. Większość z tych usług i narzędzi jest łatwa do wdrożenia (średni czas konfiguracji to 10 minut) i kosztuje niewiele w porównaniu do standardowych rozwiązań na serwerach lokalnych.

Oferta usług Google obejmuje rozwiązania gotowe w trybie Saas (Software as a Service — oprogramowanie jako usługa), takie jak interfejsy uczące się Machine Learning API (zdolne do rozpoznawania twarzy, a nawet uczuć użytkowników), jak również usługi bardziej podstawowe, w tym przechowywanie danych i chmurę obliczeniową w trybie Iaas (Infrastructure as a Service — infrastruktura jako usługa). Dostępne są też produkty, które łączą w sobie właściwości gotowej infrastruktury i systemów pozwalających na wdrożenie własnych aplikacji — usługi PaaS (Platform as a Service).

 

3 modele usług: infrastruktura jako usługa (IaaS), platforma jako usługa (PaaS) i oprogramowanie jako usługa (SaaS).

 

W świecie bez serwerów

Zdecydowana większość produktów Google Cloud funkcjonuje w trybie „serverless”. Serwery, na których znajdują się te produkty i usługi, znajdują się w chmurze Google i pozostają niewidoczne dla użytkowników, którzy nie muszą się już martwić rozmiarami swojej infrastruktury. Krótko mówiąc, system samodzielnie dobiera odpowiednią moc obliczeniową i przestrzeń pamięci na podstawie objętości danych użytkownika.

Google App Engine pozwala na bezpieczne wdrażanie własnych aplikacji w ramach usługi PaaS przy łatwym zarządzaniu wersjonowaniem. Można na przykład wykonać testowanie porównawcze, uruchamiając równocześnie dwie wersje tej samej aplikacji. Z tego rozwiązania może korzystać równocześnie 1 miliard użytkowników.

Przechowywanie w chmurze

Google Cloud oferuje różnorodne sposoby przechowywania danych dostosowane do indywidualnych potrzeb użytkowników. Umieszczenie instancji danych w usłudze Cloud zajmuje kilka minut.

Najprostszą usługą jest przechowywanie w chmurze plików płaskich o niezmiennej strukturze, za którą płaci się zależnie od objętości danych umieszczonych w jednostce pamięci (w zbiorze danych użytkownika). Rodzaj zasobnika danych można dobrać na podstawie planowanego sposobu korzystania, dostosowując do niego parametry latencji (zależnie od tego, czy pliki będą używane często, czy tylko od czasu do czasu).

Systemy takie jak Bigtable i DataStore umożliwiają przechowywanie danych w formie dokumentów, zapewniając szybkie tempo przesyłu danych i bardzo niską latencję (dostęp do 1 TB danych zajmuje 5 ms).

Przetwarzanie danych w chmurze 

Podłączenie urządzenia do chmury za pomocą konsoli lub wiersza polecenia jest bardzo proste i zajmuje mniej niż jedną minutę. W tym celu należy wybrać liczbę rdzeni (aż do 64!) oraz ilość pamięci RAM i rodzaj dysku (HDD lub SDD). Można podłączyć do chmury sieć urządzeń, aby rozłożyć obciążenie obliczeniowe na wszystkie urządzenia w sieci — ten proces zajmuje około 10 minut. Opłata za zużycie mocy obliczeniowej naliczana jest proporcjonalnie do pracy urządzeń (w przypadku wyłączonego urządzenia opłata wynosi 0 USD).

Big Data

Większość narzędzi oferowanych przez Google umożliwia przetwarzanie danych o znacznych objętościach. Wśród nich znajduje się system Dataflow, który pozwala na wykonywanie zadań ETL (Extract, Transform and Load), partiami lub w ramach płynnego przesyłu. System jest wstępnie skonfigurowany i posiada interfejs API umożliwiający na przykład obliczenie średniej w jednym oknie przesuwnym za pomocą zaledwie jednej linijki kodu.

Narzędzie BigQuery oferuje system relacyjny (ale nie transakcyjny) w trybie bezserwerowym, który umożliwia analizę relacyjnych baz danych w języku SQL. Jego moc obliczeniowa pozwala na przetworzenie 1 miliarda linijek w ciągu dwóch sekund dla zapytań obliczeniowych i zapytań „group by”, co stanowi wyjątkowo wysokie parametry w porównaniu do innych dostępnych rozwiązań.

Ponadto system umożliwia podłączenie klastra Hadoop (z oprogramowaniem Pig, Hive lub Spark) w czasie trwającym mniej niż dwie minuty, za pomocą konsoli lub wiersza polecenia. Co ważne, w ramach własnego klastra można używać mniej kosztownych maszyn drugorzędnych, które w każdej chwili są dostępne za pośrednictwem Google. Dodatkowo w trakcie przetwarzania danych można w wybranym momencie dodać lub wycofać dowolną liczbę węzłów.

Systemy uczące się Machine Learning / Deep Learning

W ramach usługi Machine Learning Google udostępnia interfejsy API oparte na systemie Tensorflow, które umożliwiają między innymi uruchomienie sieci neuronowych. Interfejs API NLP (Natural Language Processing) pozwala na identyfikację i kategoryzację elementów tekstu (organizacje, osoby, znane osoby, itp.) i określenie obecnych uczuć oraz ich intensywności.

Interfejs API Google Vision wykrywa twarze na obrazie oraz w pewnym stopniu pozwala określić emocje, które wyrażają.

Ponadto jest w stanie rozpoznać obiekty przedstawione na filmie lub zidentyfikować obiekty znajdujące się na ekranie w dowolnym momencie filmu.

Warto zauważyć, że silniki, na których oparto te interfejsy API, nie wykorzystują typowych procesorów, takich jak CPU (Computer Processing Unit) czy GPU (Graphic Processor Unit). Inżynierowie Google stworzyli nowy typ procesorów o nazwie TPU (Tensor Processor Unit) dostosowany do obliczania macierzy w ramach sieci neuronowych, który pozwolił uzyskać wyjątkowo niskie wartości czasów obliczeniowych. Procesory TPU są dostępne na platformie Cloud Compute.

W ramach instancji DataLab w chmurze inżynierowie danych mogą modyfikować dane i tworzyć modele uczące się Machine Learning lub Deep Learning (z wykorzystaniem systemu Tensorflow) za pomocą edytora Python, bardzo podobnego do edytora Jupyter, wyposażonego w podstawowe biblioteki Data Sciences (numpy, pandas, scikit learn, ntlk do analizy tekstu, matplotlib, seaborn do wizualizacji danych oraz tensorflow). Zauważono jednak, że ta konfiguracja wykazuje od czasu do czasu pewną niestabilność (w szczególności odnotowano problemy z połączeniem SSH).

Ostatnia ciekawa pozycja w ofercie Google to rozwiązanie, które łączy w sobie zalety gotowego interfejsu API oraz systemu tworzonego od podstaw — Cloud AutoML. Ta funkcjonalność umożliwia uruchomienie gotowych modeli Google z wykorzystaniem własnych danych i dostosowanie ich parametrów do wykonywanego zadania.

Podsumowanie

Rozwiązanie Google Cloud Platform pozwala na szybkie tworzenie aplikacji i uruchamianie ich w środowiskach bezserwerowych przy ponoszeniu opłat naliczanych proporcjonalnie do zużycia. Google dostarcza kompletny zestaw narzędzi i komponentów technicznych, które umożliwiają szybkie i łatwe uruchomienie systemów do przetwarzania znacznych ilości danych.


Autor: Joshua Mifsud Data Scientist w Margo
Big Data
Chmura
Dane
Google
Machine Learning
Aktualności

Projekty z dziedziny Data Science to wciąż droga pełna przeszkód

Projekty z dziedziny Data Science to wciąż droga pełna przeszkód W czasach, gdy wiele firm pretenduje do miana „spółek działających w oparciu o dane” nadal wiele projektów z zakresu Data Science kończy się porażką. W większości przypadków porażki wynikają z dobrze znanych i powtarzalnych przyczyn. Pierre Fares, Digital Offering & Business Transformation Officer w firmie Margo, opowiada o częstych pułapkach, których bezwzględnie należy unikać.

Więcej 
Aktualności

Tutorial: Podstawy stosowania Pythona do prognozowania szeregów czasowych

W tutorialu wprowadzamy kilka podstawowych pojęć z zakresu szeregów czasowych, aby umożliwić „szybką” predykcję przyszłych wartości w odniesieniu do danych czasowych.

07/11/2018 Więcej 
Aktualności

Utworzenie scentralizowanej platformy zarządzania logami za pomocą pakietu narzędzi Elastic

Ilość danych generowanych przez nasze systemy i aplikacje stale rośnie, co powoduje wzrost liczby centrów danych i systemów przechowywania danych. W obliczu tej eksplozji danych i inwestycji w wiedzę fachową i zasoby, decydenci potrzebują uzasadnionych analiz i zaawansowanych tabel, umożliwiających im zarządzanie swoimi systemami i klientami.

04/06/2018 Więcej 
Aktualności

Data Science w świecie handlu detalicznego: 10 najważniejszych przypadków wykorzystania

Data Science w coraz większym stopniu wpływa na modele biznesowe we wszystkich gałęziach przemysłu, zwłaszcza w sprzedaży detalicznej. Według IBM, 62% detalistów deklaruje, że wykorzystanie technik związanych z Big Data daje im poważną przewagę konkurencyjną. Dzięki data sicence możemy sprawdzić, czego potrzebuje klient i w jakim momencie jest obecnie na wyciągnięcie ręki. Aby to zrobić, musimy jedynie posiadać odpowiednie narzędzia i wdrożyć dobre procedury związane z ich używaniem. W niniejszym artykule przedstawiamy 10 najważniejszych zastosowań data science w handlu detalicznym.

01/06/2018 Więcej 
Aktualności

Zegary Lamporta i wzorzec Idempotent Producer (Kafka)

Znacie zegary Lamporta? Podczas konferencji Devoxx France 2018 była okazja, w trakcie bardzo interesującej prezentacji DuyHai DOAN, do poznania lub ponownego poznania tego algorytmu, sformalizowanego przez Lesliego Lamporta w 1978 r., częściej niż kiedykolwiek używanego dzisiaj w dziedzinie systemów rozproszonych, który w szczególności skłonił twórców Apache Kafka do wprowadzenia wzorca Idempotent Producer.

25/05/2018 Więcej 
Aktualności

Wprowadzenie do TensorFlow na datalab od Google Cloud Platform

TensorFlow to biblioteka programów do obliczeń numerycznych, działająca na zasadzie open source od 2015 r., opracowana przez Google. Szczególną cechą TensorFlow jest wykorzystanie diagramów przepływu danych (data flow graphs).

11/05/2018 Więcej