Przyrost ilości danych oraz ich źródeł, na bazie których podejmowane są działania operacyjne w firmach, wymusza nie tylko ścisłą współpracę zespołów odpowiedzialnych za analizy, infrastrukturę techniczną i bezpieczeństwo, lecz także zmianę spojrzenia na kryteria sukcesu wdrażania projektów związanych z tzw. Big Data.
Trochę wspomnień. Dwadzieścia lat temu, analityk zaczynający pracę w obszarze badań społecznych, marketingowych czy finansów marzył, by dostać komputer z silnym procesorem, a także o tym, by firma nie przegapiła opłaty licencyjnej. Ówcześni liderzy na gruncie komercyjnych narzędzi analitycznych (SAS, SPSS, STATISTICA, Stata), zapewniali zintegrowane środowiska graficzne zoptymalizowane pod desktopy.
Mniej więcej raz na rok, pracownik działu informatyki spotykał pracownika działu analiz w celu aktualizacji licencji umożliwiającej dalsze prowadzanie analiz. Dawało się oczywiście unikać i tych spotkań. Słodkie życie w silosach kwitło. Kryteria sukcesu w pracy analityka i informatyka były względnie niezależne.
Zadaniem analityka była budowa i aktualizacja modeli, które na podstawie zaimplementowanych w używanym akurat pakiecie statystycznym algorytmów opiszą dane i pokażą ewentualne prawidłowości. Zadaniem informatyka było utrzymanie desktopów w dobrej kondycji, czyli walka z wirusami, aktualizacja oprogramowania i licencji.
Analitycy, dysponując izolowanymi modelami danych, rywalizowali o prymat w zakresie „wielkości niewyjaśnionej wariancji”. Informatycy przyglądali się z naturalnym dystansem swoim podopiecznym, czyli stacjom roboczym.
Ten przedstawiony w nieco krzywym zwierciadle obraz uległ zmianie. Skala i dynamika analizowanych obecnie danych oraz ich wieloźródłowość promują narzędzia analityczne, które ułatwiają kooperację, powtarzalność analiz i dzielenie się wynikami. Dużą popularnością cieszą tzw. Notebooki, oparte na technologii klient-serwer, pozwalające na łączenie procesu analizy danych w dominujących obecnie językach analizy (R i Python) z fragmentami dokumentującymi realizowane operacje.
Znajduje to także odzwierciedlenie w oczekiwaniach wobec rozwiązań infrastrukturalnych. Głównie zaś w popularności tych, które zapewniają możliwość skalowania, autoryzację zdalnego dostępu, zarządzanie przydziałami zasobów, a jednocześnie uwzględniają preferencje docelowych użytkowników w zakresie warsztatu pracy.
Przykładem takiego rozwiązania infrastrukturalnego, opartego całkowicie na wolnym oprogramowaniu jest mozaika składająca się z trzech komponentów funkcjonalnych: OpenShift Origin, Apache Guacamole i JupyterHub.
OpenShift Origin to element odpowiedzialny za zarządzanie zasobami (CPU, pamięć RAM, przydziały GPU), autoryzację docelowych użytkowników, orkiestrację kontenerów i ciągłą integrację. Funkcje te realizowane są poprzez składowe OpenShifta: Kubernetesa i Dockera. Jak łatwo się domyślić, ludzie odpowiedzialni za dostrojenie parametrów tego komponentu do potrzeb analityków reprezentują często dział bezpieczeństwa i zarządzania infrastrukturą.
Apache Guacamole to komponent, który w opisywanym rozwiązaniu odpowiada za bezpośrednie udostępnianie warsztatu pracy analitykowi. Środowisko pracy zamknięte jest w kontenerze. Właściwości kontenera zdefiniowane są zgodnie z preferencjami i potrzebami analityka. Może to być desktop z graficznym interfejsem i R-Studio albo też notatnik Jupytera z wybranym silnikiem analitycznym i dostępem do GPU. Dostęp do kontenera realizowany jest poprzez wybrany protokół (VNC, RDP, ssh), przeglądarkę internetową (zgodną z HTML 5) i predefiniowane na poziomie Guacamole połączenia. O ile analityk posiada odpowiednie uprawnienia, definicje połączeń może realizować samodzielnie za pomocą graficznego interfejsu.
JupyterHub to element odpowiedzialny za uruchamianie przez docelowego użytkownika kontenerów z preferowanymi narzędziami analitycznymi, w postaci instancji notatników Jupytera.
Rozkwit bibliotek analitycznych w języku R i Python trwa nadal w sposób nieprzerwany. Towarzyszy mu rozwój zintegrowanych rozwiązań infrastrukturalnych, które korzystają z tego dobrodziejstwa. Podsumowując, jest z czego wybierać.