W Pronos zawsze stawiamy na rozwiązania szybko dostępne i łatwo skalowalne. Od czterech lat obsługujemy największe sieci handlowe w Polsce i za granicą. Naszym celem jest dostarczyć im jak najlepsze rozwiązania, które nie tylko spełnią ich wymagania, ale również pozwolą je łatwo rozwijać wraz ze wzrostem biznesu naszych Partnerów.
Dlatego też z sukcesem wdrażamy nasze rozwiązania w nowych firmach, gdzie zwinne podejście stosujemy nie tylko w zarządzaniu projektami,
ale również naszymi programami. Dzięki temu znajdujemy złoty środek pomiędzy wymaganiami technicznymi potrzebnymi do prawidłowego działania, a kosztami, na które zawsze zwraca uwagę klient.
Od początku naszej pracy opieramy się na narzędziach chmurowych Microsoft. Dlatego na co dzień przy tworzeniu oprogramowania korzystamy
z wielu rozwiązań w ramach platformy Azure. Wykorzystujemy je między innymi jako przestrzeń do przechowywania danych, środowiska do budowania mikro serwisów dla naszych aplikacji, miejsca do uruchomienia maszyn wirtualnych, środowiska do analizy danych i wiele innych.
Wraz z rozwojem dostępności i możliwości usług Azure nie pozostajemy
w tyle. Stąd biorą się projekty takie jak ten, który realizowaliśmy dla lidera branży retail w Polsce — optymalizacji hurtowni danych i raportów Power BI.
Problem
Klient rozwijał swoją hurtownię danych (DWH) od kilku lat. Całość osadzona była przez nas wcześniej na maszynach wirtualnych Azure, które zapewniały nam stabilność, łatwość skalowalności i dostęp do najnowszych wersji oprogramowania. W miarę rozwoju biznesu zwiększała się ilość danych dostępnych do analiz. Nie była to już tylko sprzedaż, ale pełne informacje
o: produkcie, stanach magazynowych, zatowarowaniu sklepów, klientach (i ich zachowaniach), dostawcach, itd.
Ta ilość danych zwiększała się z dnia na dzień, a wraz z nią pojawiały się nowe raporty. Zastosowanie maszyn wirtualnych w ramach usług chmurowych Microsoft pozwalało w prosty sposób zrobić upgrade dostępnych zasobów. To jednak powodowało, że w czasie dużego obciążenia (np. uruchomienie cyklicznych raportów, zasilanie danych, …) maszyny były obciążone, ale przez resztę dnia — stały prawie nieużywane.
Dodatkowo okazało się, że wiele założeń biznesowych stworzonych na początku DWH jest już nieaktualna. Biznes rozwinął się, pojawiły się nowe kanały sprzedaży (e-commerce). Spowodowało to nadmiarowość danych
i miar w raportach. To znowu przekładało się na długi czas oczekiwania na dostęp do kluczowych informacji.
Zadanie
Po kilku wewnętrznych i zewnętrznych audytach całego ekosystemu BI, które obejmowały przegląd nie tylko DWH (hurtowni danych), ale i raportów, klient zdecydował się powierzyć Pronosowi przeprowadzenie optymalizacji całości rozwiązania.
Zadanie nam postawione obejmowało:
- przegląd i aktualizację modelu danych w bazie danych MS SQL i Analysis Services
- optymalizację procesu zasilania danych (ETL)
- przyspieszenie działania modeli tabularycznych („kostek analitycznych”)
- poprawę funkcjonowania raportów Power BI
Dodatkowo klientowi zależało na optymalizacji kosztów.
Rozwiązanie
Wybór padł na Azure Analysis Services (AAS) — czyli przeniesienie modeli tabularycznych do typowo chmurowych usług. Dodatkowo wprowadzenie zmian w samej hurtowni danych oraz raportach.
Na początek dokonaliśmy przeglądu wskaźników wymaganych przez biznes, danych dostępnych w DWH i systemach źródłowych. Z analizy okazało się, że wiele przeliczeń powinno być robionych wcześniej — na poziomie budowania Data Mart w ramach SQL. Pozwoli to zrezygnować z importu surowych danych do samych „kostek”. Wiele KPI zostało też przeniesionych z raportów Power BI bezpośrednio do AAS.
Dotychczas wykorzystywane Analysis Services w wersji „on premise” blokowały się przy dużej ilości danych i użytkowników. Przejście na wersję Azure pozwoliło na wykorzystanie narzędzi do zarządzania nimi, aby „w locie” je skalować czy robić odpowiednią ilość replik. Dzięki temu klient może decydować o tym kiedy powinny być udostępnione większe zasoby dla użytkowników (generowanie cyklicznych raportów, codzienna praca analityczna). Może też zdecydować w jakich dniach i godzinach moce mają być dostępne pod zasilenie/odświeżenie danych.
Efektem tego projektu jest rozbudowanie struktur o nowe zasoby, zwiększenie dostępności danych dla analityków i użytkowników biznesowych, przy jednoczesnym utrzymaniu kosztów na podobnym poziomie.
Największą różnicę wdrożenia nowych rozwiązań Azure zauważyli użytkownicy końcowi. Wszystkie raporty z jakich korzystali znacznie przyspieszyły. W niektórych przypadkach czas dostępu do wszystkich danych zmalał o 70%. Analiza średnich czasów pokazała nam, że przyspieszyliśmy biznes o 30%.
To jednak nie koniec naszych wyzwań. Przed nami kolejne zmiany i pełna migracja do chmury — Azure Synaptics, Data Lake, …. O tych zmianach opowiemy przy następnej okazji.
________________________________________________
Wojciech Piątkowski, Head of Project Managment, Pronos