Dataflow jest w pełni zarządzaną usługą analizy przesyłania strumieniowego minimalizująca opóźnienia czas przetwarzania oraz koszty. Czym jest Dataflow i jak możesz wykorzystać w swoim projekcie?
Generowane w czasie rzeczywistym dane pochodzą z wielu różnych źródeł. Ich przechwytywanie, przetwarzanie i analizowanie nie należy do najłatwiejszych zadań. Dzieje się tak gdyż nie zawsze są one w pasującym nam formacie. Rozwiązaniem jest właśnie Dataflow, czyli szybka bezserwerowa usługa Google Cloud eliminująca obciążenie operacyjne (operational overhead) poprzez automatyzację udostępnienia infrastruktury i automatyczne skalowanie w miarę przyrostu ilości danych.
Jak działa Dataflow?
Korzystanie z Dataflow jest proste. Po odczytaniu danych źródłowych następuje ich przekształcenie i ponowne zapisanie. Potok przetwarzania (processing pipeline), utworzony przy użyciu open sourcowej biblioteki Apache Beam w wybranym przez ciebie języku programowania, procesowany jest jako zadanie Dataflow na wirtualnych maszynach roboczych.
Dataflow możesz uruchomić za pośrednictwem interfejsu Cloud Console, interfejsu wiersza polecenia gCloud lub też interfejsów API. Do wyboru są zarówno gotowe, w tym również niestandardowe szablony. Możliwe jest też pisanie instrukcji SQL albo tworzenie potoków bezpośrednio z BigQuery UI lub AI Platform Notebooks.
Bezpieczeństwo Dataflow
Wszystkie dane są szyfrowane zarówno w stanie spoczynku oraz podczas przesyłania. Opcją jest też korzystanie z kluczy szyfrujących zarządzanych przez klienta. Zabezpieczenie środowiska jest też możliwe z wykorzystaniem prywatnych adresów IP i kontroli usług VPC. Sprawia to, że Dataflow idealnie nadaje się do zastosowań związanych ze sztuczną inteligencją stosowaną w czasie rzeczywistym, hurtowniach danych lub analizie strumieniowej.
Kluczowe funkcje Dataflow
Gotowość do użycia sztucznej inteligencji czasu rzeczywistego (real-time AI)
Właśnie rozwiązania związane ze sztuczną inteligencją przyciągają użytkowników Dataflow, w tym gotowe do użycia funkcje uczenia maszynowego, takie jak NVIDIA GPU. Możesz trenować, wdrażać i zarządzać kompletnymi potokami uczenia maszynowego.
Autoskalowanie zasobów i dynamiczne równoważenie pracy (work rebalancing)
Możesz zminimalizować opóźnienia potoku przy jednoczesnym maksymalizowaniu wykorzystania zasobów. Wpływa to na zmniejszenie kosztów przetwarzania dzięki automatycznemu skalowaniu zasobów. Dane wejściowe są automatycznie partycjonowane i stale ponownie równoważone.
Autoskalowanie możliwe jest zarówno wertykalnie jak i horyzontalnie. W tym pierwszym przypadku Dataflow dynamicznie dostosowuje moc obliczeniową przydzieloną każdemu procesowi na podstawie wykorzystania. Tymczasem automatyczne skalowanie w poziomie umożliwia wybór odpowiedniej liczby instancji roboczych wymaganych do uruchomienia zadania.
Monitorowanie i obserwowalność
Obserwuj dane na każdym etapie potoku Dataflow. Możesz diagnozować problemy i skutecznie je rozwiązywać korzystając z próbek rzeczywistych danych.
Dataflow ML
Dzięki Dataflow możesz z łatwością wdrażać i zarządzać potokami uczenia maszynowego oraz używać modeli uczenia maszynowego do wnioskowania lokalnego i zdalnego (remote) za pomocą potoków wsadowych i strumieniowych.
Right fitting
Sposobem na ograniczenie marnotrawstwa zasobów jest right-fitting tworzący specyficzne dla danego etapu, zoptymalizowane pule zasobów.
Inteligentna diagnostyka
W ramach inteligentnej diagnostyki dostępny jest zestaw funkcji obejmujący zarządzanie potokiem danych w oparciu o SLO, dający możliwość wizualizacji zadań zapewniających użytkownikowi wizualny sposób ich weryfikacji i pozwalający zidentyfikować wąskie gardła. Automatyczne rekomendacje umożliwiają dostrojenie problemów związanych z wydajnością i dostępnością.
Dataflow w praktyce, czyli oszczędności Renault
Renault w swojej drodze do standardu Industry 4.0 rozpoczęło wdrażanie systemów zarządzania rozproszonymi danymi. Początkowym celem była poprawa wydajności operacyjnej firmy, ale z czasem konieczne było narzędzie do kontekstualizacji, przetwarzania i hostingu wszystkich potrzebnych danych. Renault poszukiwało skalowalnej platformy, możliwej do wdrożenia szeroko, w obszarze całej działalności. Wybór padł na Google Cloud oraz m.in. usługę Dataflow.
Od momentu wdrożenia, Dataflow stało się podstawowym narzędziem obsługującym większość potrzeb związanych z przetwarzaniem danych na platformie Google Cloud. Renault wykorzystuje obecnie Dataflow do pozyskiwania i przekształcania danych z zakładów produkcyjnych oraz innych kluczowych baz danych.
Ile kosztuje Dataflow?
Podobnie jak większość usług chmurowych Google Cloud, użycie Dataflow rozliczane jest zgodnie z naliczaniem sekundowym na podstawie rzeczywistego wykorzystania procesów wsadowych lub strumieniowych. Ponieważ usługa ta współpracuje z innymi rozwiązaniami takimi jak Cloud Storage czy Pub/Sub, w celu oszacowania łącznych kosztów warto umówić się na konsultację z ekspertem FOTC, certyfikowanym architektem Google Cloud oraz pokaże jak w praktyce najlepiej korzystać z tego rozwiązania.