Chmura to przyszłość. Poprawka: chmura to teraźniejszość. Także w budowaniu projektów hurtowni danych, data laków, masywnych przetwarzań i potem tworzenia analityki i warstwy prezentacji. Czy chmura w projektach DWH/BI to dobry pomysł?
Przecież świat on-premises ma wiele zalet ale i jedną zdecydowaną wadę: już nie daje rady.
Niestety rozwiązania on-premises nie skalują się tak łatwo jak rozwiązania chmurowe. Migrowanie się na nowy serwer to wielka inwestycja ale to też inwestycja krótko wzroczna. Zasoby serwera są skończone, jeżeli chodzi o moc obliczeniową. Nowy zakup wystarczy na następne, zaryzykujmy, 3 lata.
Duża organizacja to nie jedna hurtownia danych. To dziesiątki projektów, tworzonych przez różne zespoły. Często działających na jednym serwerze i walczących o wspólne zasoby.
Problem wspólnego pastwiska
Widzisz już problem, gdy na jednym serwerze jest wiele projektów?
- Różne są momenty, gdy serwer odpowiedzialny za przetwarzanie jest wykorzystywany
- Zdarzają się chwile, gdy wszyscy chcą korzystać z zasobów w tym samym momencie
- I do tego, każdy twierdzi, że jego projekt ma największy priorytet
- Dobre praktyki i nasza natura do chodzenia na skróty. Jeżeli standardy nie są pilnowane "automatycznie", na przykład przy migracjach między środowiskami, to zazwyczaj nie są przestrzegane.
- Wiele projektów to też różne narzędzia raportowe. Niektóre wysyłają zapytania do bazy za każdym razem, gdy użytkownik odświeża raport (np. SAP Business Objects albo Power BI w trybie "direct query")
Każdy chce jak najwięcej zasobów dla siebie TERAZ, nie zważając przy tym na innych. Nie jest gotowy czekać, aż ktoś inny zakończy przetwarzanie. A już na pewno nie chce konkurować o zasoby.
Niestety pula zasobów jest skończona. Skalowanie polega na zmianie serwera, co nie jest dogodną opcją: jest czasochłonne, wymaga sponsora i dużego zaangażowania zespołów.
Wszystkie wyzwania chmury
Wyobraź sobie projekt przeniesienia rozwiązania z lokalnego serwera do chmury? Lokalnie masz jeden serwer, gdzie lądują dane do przetwarzania. Jeden serwer przechowujący dane. 50 projektów działających na platformie. 3 narzędzia raportowe: SAP Business Objects, Power BI i Tableau.
Niektóre wyzwania, które możesz napotkać, gdy planujesz przeniesienie do chmury:
- Jak bezpiecznie zmigrować dane?
- Czy da się wykonać "lift and shift"
- Jak zarządzać dostępami do danych?
- Jakie usługi chmurowe będą odpowiednie?
- Czy to są optymalne usługi dla mojego rozwiązania?
- Jakie są SLA na dostarczenie danych?
- Czy będzie potrzebna migracji istniejących rozwiązań raportowych czy tylko zmiana połączenia?
- Jak dojrzałe jest rozwiązanie, które rozważasz?
- Ile to będzie kosztować?
- I jak zarządzać kosztami?
Liczba usług dostępnych w chmurze jest przytłaczająca. Lista opcji i ograniczeń jakie posiada każda z usług też ciągle rośnie. Do tego cennik za każdą usługę jest tworzony inaczej i jest uzależniony od wielu parametrów.
Dlaczego właściwie chmura w projektach DWH/BI?
Zapytasz zapewne, to dlaczego wchodzić w ten świat chmury? Dlaczego podejmować ten projekt i przenosić się do nieznanego terytorium zamiast ulepszać istniejące rozwiązania? Może da się wyciągnąć jeszcze 5% albo 10% więcej z istniejącego rozwiązania.
Gdzieś zrobić tuning i napisać rozwiązania bardziej optymalnie? Zmniejszyć znacząco liczbę zapytań do serwera bazy danych? Wymóc lepsze praktyki tworzenia kodu?
To są istotne wątpliwości. I zapewne już architekci myślą nad tym.
W tym samym czasie zajrzyjmy co słychać w chmurze i dlaczego warto się nią zainteresować:
- Liczba serwisów do wyboru
- Ciągłe ulepszanie rozwiązań i dodawanie nowych funkcjonalności
- Nieograniczone możliwości skalowania
- Integracja z innymi chmurowymi serwisami
- Odporność na błędy
- Odporność na uszkodzenia po awarii
- Płatności w stylu "subskrypcji"
Do tego są jeszcze argumenty poza merytoryczne:
- Hype na chmurę - chmura jest na czasie a to dzięki:
- Wielkim inwestycjom ze strony największych graczy w: infrastrukturę, marketing, w przeszkolenie nowej kadry.
Zapewne znasz kogoś, kto w ostatnim czasie zdobył certyfikat i "uczy się chmury" albo sam posiadasz już taki certyfikat.
Oswajamy chmurę
Jak to wszystko połączyć? Od czego zacząć? Co jest potrzebne? Jakie są dobre praktyki? Jak się zorganizować i wybrać właściwą usługę albo chociaż najlepszą do budowanego rozwiązania.
Komponenty, które można wyróżnić potrzebne do stworzenia centralnego repozytorium z danymi w chmurze. Który będzie wykorzystywany przez analityków danych, użytkowników biznesowych oraz data scientistów.
- Landing zone: usługi składowania danych w chmurze.
- Komponenty ETL / ELT: do ładowania i przetwarzania danych
- Przechowywanie danych: Hurtownia danych, data lake: bazy danych, silniki mpp, rozproszony system plików (HDFS)
- Warstwa raportowo-analityczna: narzędzia typu self-service BI i narzędzia do data science.
- Bezpieczeństwo: rozwiązania do zarządzania tożsamością, dostępami i uprawnieniami.
Chmura w projektach DWH/BI: podsumowanie
Świat on-premises ma swoje ewidentne zalety.
Chmura przysłania te zalety. Jest coraz potężniejsza, rosnąca liczba usług sprawia, że można dobrać odpowiednią opcję do swojego rozwiązania. Dojrzałość usług także rośnie, co jest ważne i wpływa na stabilność rozwiązania.
A przed jakimi Ty wyzwaniami stoisz?
Jeszcze raz, główne idee z artykułu:
- Wyzwania systemów on-premises
a. Ograniczona skalowalność
b. Ograniczone zasoby
c. Ciężkie do zmiany i integracji z nowymi usługami chmurowymi - Wyzwania chmury
a. Liczba serwisów i wiele podobnych usług
b. Brak doświadczenia w tworzeniu rozwiązań
c. Bezpieczeństwo danych - Szanse w chmurze
a. Łatwa integracja z innymi usługami chmurowymi
b. Ciągle rosnąca liczba opcji
c. Coraz większa dojrzałość usług