Microsoft Fabric: ujednolicona platforma do analizy i inżynierii danych
Podczas konferencji Microsoft Build 2023 zaprezentowano Fabric, nową platformę analityczną oferowana przez Giganta z Redmond. Usługa oferuje kompleksowe możliwości analityczne - od ETL, poprzez modelowanie i wizualizację danych, aż po modele uczenia maszynowego i sztuczną inteligencję.
Co to jest Microsoft Fabric?
Po premierze tego narzędzia w mediach społecznościowych zawrzało. Tysiące specjalistów od danych, w tym Microsoft MVP, zaczęło publikować treści na ten nowy i gorący temat. Nawet ja napisałem kilka postów, a jednym z nich był OneMeme. Dla każdego, kto tego nie widział - OneMeme to mem wyjaśniający koncepcję Microsoft Fabric. Jest to oczywiste nawiązanie do OneLake, które jest fundamentem Fabric. Kiedy opublikowałem swój OneMeme na LinkedIn, obiecałem również, że napiszę artykuł o Microsoft Fabric.
W tej publikacji zamierzam wyjaśnić, czym jest Fabric, jakie są jego możliwości i zalety oraz dlaczego powinieneś lub powinnaś jak najszybciej poznać to narzędzie. Wszystkie przemyślenia i spostrzeżenia są dokonywane z perspektywy developera zajmującego się business intelligence. W artykule skupiam się głównie na ETL, modelowaniu i wizualizacji danych, ponieważ posiadam w tym zakresie odpowiednie doświadczenie. Nie ma jednak wątpliwości, że komponenty data science lub ML mogą wnieść dużą wartość dla firm, ale żeby podejść do tych tematów trzeba mieć najpierw zbudowany solidy fundament w zakresie business intelligence oraz uporządkowaną architekturę analityczną.
Po co wprowadzono Microsoft Fabric?
Jest to pytanie, które wiele osób zadawało sobie, gdy Microsoft wypuścił Fabric. Moje początkowe odczucia były podobne. Nie mogłem zrozumieć, dlaczego wprowadzają nową platformę do analizy danych, skoro Power BI, Azure Synapse i wszystkie inne usługi analityczne Azure są już dostępne. Po początkowych wahaniach, zagłębiłem się w temat Fabric i zacząłem rozumieć, że ma to sens i może przynieść wartość firmom oraz użytkownikom biznesowym. Najważniejszą koncepcją stojącą za Fabric jest ujednolicenie usług analitycznych Microsoft. Każdy, kto pracował z Azure Data Plaform i Power BI wie, że tworzenie rozwiązania analitycznego może być sporym wyzwaniem z punktu widzenia architektury rozwiązania.
Projektowanie rozwiązania analitycznego na platformie Azure jest wymagającym zadaniem. Programiści i architekci muszą określić, które usługi będą potrzebne, jak je zintegrować i przede wszystkim oszacować poziom kosztów. Wyzwania te są dokładnie tym, na co ma odpowiadać Fabric. Po pierwsze, zapewnia ujednoliconą platformę, w której wszystkie niezbędne elementy są domyślnie dostępne. Nie ma potrzeby poświęcania czasu na zastanawianie się, które usługi będą niezbędne. Po drugie, usługi są automatycznie integrowane, eliminując potrzebę tworzenia użytkowników, tożsamości i przypisywania uprawnień. Każdy, kto zmagał się z tym tematem, wie, jak frustrujące może to być, szczególnie w większych przedsiębiorstwach, gdzie podejmowanie decyzji może być niekończącą się drogą przez mękę. Po trzecie, OneLake umożliwia użytkownikom przechowywanie danych w jednym miejscu, ograniczając duplikację danych i powielanie wykonanych już zadań. Po czwarte, zarządzanie danymi jest znacznie skuteczniejsze, gdy wszyscy użytkownicy korzystają z jednej usługi, a Fabric oferuje doskonałe możliwości w obszarze data governance. Po piąte, cennik Fabric jest prosty - użytkownicy muszą płacić tylko za capacity (czyli moc obliczeniową dostępną w ramach całej usługi) i licencje Power BI (cennik jest dostępny na stronie Microsoftu) oraz za przechowywanie danych (cennik zbliżony do Azure Data Lake Storage gen2). W założeniu – koszty Fabric mają być łatwe do oszacowania i zaplanowania. W następnych kilku akapitach omówię każdą z wspomnianych wcześniej zalet tego narzędzia.
One-stop-shop nowoczesnej analityki danych
Microsoft Fabric to kompletne rozwiązanie analityczne, oferujące szerokie spektrum usług, takich jak Azure Data Factory, Data Science, analityka w czasie rzeczywistym i business intelligence w ramach jednej usługi. Celem tej platformy jest usprawnienie realizacji potrzeb analitycznych poprzez oferowanie ujednoliconego narzędzia, unikając w ten sposób konieczności łączenia oddzielnych usług od wielu dostawców. Fabric jest ofertą Software as a Service (SaaS), co znacząco ogranicza zakres „odpowiedzialności” użytkowników. Microsoft Fabric łączy elementy Power BI, Azure Synapse i Azure Data Explorer w jedno środowisko, oferując pełny zestaw narzędzi analitycznych zaprojektowanych do wygodnej współpracy.
Obszar data engineering umożliwia deweloperom tworzenie data lakehouse’ów. Usługa ta opiera się o Apache Spark, a natywnym formatem danych w Fabric jest delta, który leży u podstaw koncepcji data lakehouse. Dostępne są tam notebooki, w których można pisać kod w Pythonie, SQL, R lub Scali do interakcji ze Sparkiem.
Data Factory to narzędzie znane wśród inżynierów danych platformy Azure do obsługi zadań ETL/ELT. Umożliwia ono użytkownikom tworzenie integracji danych, co jest nieodzownym elementem każdego projektu analitycznego. Dobre zaprojektowanie procesu zasilania danymi znacząco ułatwia późniejszą realizację celów projektu.
Data Science pomaga tworzyć, wdrażać i zarządzać modelami uczenia maszynowego. Łączy się z Azure Machine Learning, oferując wbudowane śledzenie eksperymentów i rejestr modeli.
Data Warehouse to odpowiednik Azure Synapse Dedicated SQL Pool, czyli nowoczesnej, chmurowej hurtowni danych wykorzystującej architekturę MPP. Jest to dość zabawne, ponieważ dane w "tabelach" hurtowni są przechowywane w formacie pliku delta, co jest charakterystyczną cechą dla data lakehouse. Niemniej jednak narzędzie to pozwala programistom zbudować hurtownię danych, która zachowuje się jak relacyjna baza danych, co na pewno wielu z nich doceni.
Real-Time Analytics to silnik przeznaczony do analizy danych czasu rzeczywistego. Może obsługiwać dane pochodzące z różnych platform, takich jak aplikacje czy urządzenia IoT.
Power BI jest podstawą interfejsu Fabric. Każdy kto ma doświadczenie z portalem Power BI z łatwością odnajdzie się przy nawigacji po Fabric. Power BI jest dobrze znany ze swoich możliwości modelowania i wizualizacji danych.
Domyślnie zintegrowane usługi
W Microsoft Fabric wszystkie usługi są ze sobą domyślnie zintegrowane. Nie ma potrzeby zmagania się z przypisywaniem uprawnień między usługami, jak ma to miejsce w przypadku platformy Azure. Developerzy nie muszą konfigurować zarządzanych tożsamości, sieci VNets czy realizować wielu innych nudnych zadań administracyjnych. Korzystając z Fabric, można zapomnieć o koncepcjach infrastruktury, takich jak grupy zasobów, RBAC (Role-Based Access Control), Azure Resource Manager, redundancja czy regiony. Żeby nie popadać w przesadny optymizm, w dzisiejszych czasach nadal konieczne jest zapoznanie się z tymi koncepcjami. Nie wszystkie firmy natychmiast przejdą na Fabric, a biegli developerzy powinni rozumieć, jak obsługiwać zasoby platformy Azure. Co więcej dobra znajomość rozwiązań znanych z Azure znacząco ułatwi odnalezienie się w realiach Fabric.
One data storage
Usługa Microsoft Fabric opiera się na podstawowej warstwie OneLake, które służy jako centralne miejsce przechowywania danych. OneLake, zbudowane na fundamencie Azure Data Lake Storage Gen2, eliminuje konieczność tworzenia tego zasobu na platformie Azure - w zasadzie nie ma nawet potrzeby posiadania konta Azure do korzystania z Fabric. Licencja Fabric obejmuje OneLake do przechowywania wszystkich danych używanych w danej organizacji. Metodologia ta próbuje wyeliminować silosy danych, czyli wszechobecny problem w wielu firmach. Jednak prawdziwym przełomem wprowadzonym przez OneLake są skróty. W Microsoft OneLake skróty umożliwiają programistom konsolidację danych w domenach, chmurach i kontach, tworząc w ten sposób jedno zwirtualizowane „siedlisko” danych dla całego przedsiębiorstwa. Wszystkie narzędzia Fabric mogą łączyć się bezpośrednio z istniejącymi źródłami danych, takimi jak ADLS, AWS S3 i oczywiście OneLake za pośrednictwem ujednoliconej przestrzeni nazw. OneLake zarządza uprawnieniami i poświadczeniami, więc każde środowisko Fabric nie wymaga oddzielnej konfiguracji dla każdego źródła danych. Skróty to obiekty w OneLake, które łączą się z innymi lokalizacjami pamięci masowej, które mogą być wewnętrzne lub zewnętrzne w stosunku do OneLake. Jeśli skrót zostanie usunięty, cel pozostaje nienaruszony, w odwrotnej sytuacji, jeśli ścieżka docelowa zostanie zmieniona lub usunięta, skrót może zostać uszkodzony.
Możliwości OneLake nie kończą się na skrótach. Kolejną wyróżniającą się funkcją jest DirectLake. DirectLake umożliwia ładowanie plików w formacie parquet bezpośrednio z OneLake, z pominięciem konieczności odpytywania endpointu, importowania lub duplikowania danych do zestawu danych Power BI. Oferują one szybką ścieżkę do ładowania danych z OneLake bezpośrednio do silinka VertiPaq. DirectLake eliminuje proces importu, ładując dane bezpośrednio z OneLake. W odróżnieniu od DirectQuery, nie tłumaczy się na inne języki zapytań ani nie wykonuje zapytań w innych systemach baz danych, zapewniając w ten sposób wydajność zbliżoną do trybu importu. Ponieważ nie ma wyraźnego procesu importu, wszelkie zmiany w źródle danych mogą być natychmiast odzwierciedlone, skutecznie łącząc zalety zarówno trybu DirectQuery, jak i importu, jednocześnie omijając ich wady. DirectLake może być optymalnym wyborem do analizy dużych zbiorów danych i zbiorów danych z częstymi aktualizacjami w źródle danych. Funkcja ta jest wspierana przez V-Order, optymalizację czasu zapisu dla formatu pliku parquet, która umożliwia szybki odczyt w silnikach obliczeniowych Microsoft Fabric, takich jak Power BI, SQL, Spark i innych. V-Order osiąga to poprzez zastosowanie specjalnego sortowania, rozproszenia grup wierszy, kodowania słownikowego i kompresji plików, zmniejszając w ten sposób zapotrzebowanie na zasoby sieciowe, dyskowe i procesorowe w silnikach obliczeniowych do ich odczytu, co skutkuje lepszą wydajnością. Podczas gdy sortowanie V-Order może obniżyć czas zapisu średnio o 15%, oferuje ono do 50% większą kompresję.
Zarządzanie danymi poprzez domeny
Power BI oferuje już imponującą gamę funkcji zarządzania danymi, takich jak etykiety wrażliwości danych, uprawnienia do obszarów roboczych, zabezpieczenia na poziomie wierszy, Purview itd. Centrum Purview jest również integralnym elementem Fabric, oferując scentralizowaną administrację i zarządzanie we wszystkich środowiskach, z uprawnieniami automatycznie stosowanymi we wszystkich usługac. Etykiety wrażliwości danych są również automatycznie dziedziczone we wszystkich elementach pakietu. Choć funkcje te są nieocenione, w Fabric pojawił się nowy element znany jako "domeny". Domena służy jako logiczny mechanizm grupowania wszystkich danych istotnych dla określonego obszaru lub dziedziny w organizacji. Aby uporządkować dane w domenach, obszary robocze są połączone z określonymi domenami. Gdy obszar roboczy jest połączony z domeną, wszystkie elementy w tym obszarze roboczym również zostają powiązane z tą domeną, otrzymując atrybut domeny jako część ich metadanych. Domeny oferują wyższy poziom grupowania przestrzeni roboczych, który można wykorzystać na przykład do tworzenia środowisk programistycznych, testowych i produkcyjnych lub do partycjonowania danych między różnymi jednostkami organizacyjnymi w przedsiębiorstwie. Funkcja ta umożliwia organizacjom zarządzanie danymi zgodnie z ich unikalnymi przepisami, ograniczeniami i wymaganiami.
Uproszczony cennik
Każdy, kto miał okazję opracować rozwiązanie analityczne na platformie Azure wie, że poruszanie się po tajnikach cen różnych usług może być dość przerażającym doświadczeniem. Mogę pokusić się o stwierdzenie, że tworzenie opłacalnych rozwiązań na platformie Azure jest w pewnym sensie formą sztuki. Jeśli ktoś potrafi dokładnie przewidzieć koszt rozwiązania analitycznego na platformie Azure, prawdopodobnie jest prawdziwym mistrzem Azure Data Platform. Microsoft Fabric znacznie upraszcza proces określania ceny. Jego model licencjonowania jest podobny do Power BI premium lub embeded. Koszty są ponoszone za capacity i storage w OneLake. Capacity są dostępne do zakupu za pośrednictwem Azure Portal, oferując przedsiębiorstwom elastyczność dzięki opcjom płatności godzinowych lub miesięcznych. Jest to szczególnie wygodne dla użytkowników, którzy nie wymagają całodobowego dostępu. W nadchodzących miesiącach Microsoft planuje rozszerzyć możliwości pojemności Fabric oraz uruchomić Azure Reservations. Podobnie do funkcji dostępnych w usługach takich jak Synapse, rezerwacje mogą prowadzić do obniżenia kosztów, dzięki czemu warto rozważyć rezerwację capacity na dłuższe okresy. Jeśli chodzi o ceny przechowywania danych OneLake, to są one porównywalne do Azure ADLS (Azure Data Lake Storage), gdzie użytkownicy płacą za GB. Model ten jest łatwy do oszacowania i może uchronić dział księgowości przed niespodziewanymi, wysokimi rachunkami.
Podsumowanie
Ten artykuł może wydawać się jednostronnym wychwalaniem nowego, ekscytującego narzędzia - i szczerze mówiąc, trochę tak jest. Jestem wielkim fanem Microsoft Fabric jako kompleksowego rozwiązania analitycznego dla firm.
Przeanalizowałem wiele funkcji i ułatwień oferowanych przez Fabric w porównaniu z usługami Azure. Nie chciałbym zostać źle zrozumiany, doceniam platformę Azure, zwłaszcza Synapse i ADF. Są to nowoczesne, kompleksowe rozwiązania, które będą używane przez długi czas, biorąc pod uwagę znaczące inwestycje, jakie poczyniły w nie firmy, aby stać się organizacjami opartymi na danych.
Należy jednak pamiętać, że Fabric jest zbudowany na usługach Azure i upraszcza ich użycie. Chociaż skrytykowałem skomplikowaną strukturę cenową Azure w poprzedniej sekcji, chcę doprecyzować, że wiele projektów może być bardziej opłacalnych do wdrożenia w tradycyjny sposób niż przy użyciu Fabric. Na przykład zbudowanie data lakehouse za pomocą Synapse Serverless lub Databricks będzie prawdopodobnie bardziej przystępne cenowo niż wdrożenie tego samego rozwiązania za pomocą Fabric - i nie trzeba być mistrzem cen Azure, aby zdać sobie z tego sprawę. Prawdopodobnie istnieje wiele innych rozwiązań, które można zbudować bez Fabric, aby realizowały swoje cele analityczne i były jednocześnie bardziej przystępne cenowo. Nie zmienia to jednak faktu, że w wielu sytuacjach Fabric będzie stanowić duże uproszczenie dla firm, co ma niewątpliwie duże znaczenie przy obecnym niedoborze specjalistów z sektora IT. Każdorazowy wybór narzędzia, w które zamierzamy zainwestować duże pieniądze oraz czas warto skonsultować z profesjonalistami. Szczęśliwym trafem na polskim rynku działa Fellowmind, firma posiadająca bogate doświadczenie we wdrożeniach rozwiązań analitycznych i nie tylko.
Mateusz Sawicki
Business Intelligence Developer w Fellowmind Poland. W codziennej pracy wykorzystuję Power BI, SQL Server, Azure Synapse Analytics oraz Azure Data Factory. Mam nadzieję, że w najbliższym czasie do tego grona dołączy Microsoft Fabric. Wierzę, że technologia ma służyć ludziom oraz ułatwiać ich życie, w realizowanych projektach zawsze podążam za potrzebami biznesowymi. Uwielbiam uczyć się nowych rzeczy oraz dzielić wiedzą. Skontaktuj się z Mateuszem: Profil LinkedIn.