Azure DevOps w świecie danych



Poznajcie specjalistów BI w BitPeak

Andrzej Szczechla, BI/Big Data Architekt, od ponad 20 lat w firmach telekomunikacyjnych oraz instytucjach publicznych zajmuje się budową hurtowni danych i elementów z nią związanych. Począwszy od statycznych raportów, poprzez samodzielne raportowanie w rękach użytkowników końcowych, aż do zaawansowanych analizach Data Science.


Michał Łukasiewicz, lider obszaru utrzymania odpowiedzialny za procesy automatyzacji i wdrożenia. Swoje zainteresowania rozwija w obszarze DataOps w szczególności w zakresie rozwiązań i narzędzi usprawniających pracę zespołu utrzymania. Swoje 20 letnie doświadczenie zdobywał zarówno w firmach informatycznych pracując jako support zespołów developerskich jak i w przedsiębiorstwach pracując jako administrator baz danych oraz sieci informatycznych.


Chcecie się dowiedzieć, jak wykorzystujemy Azure Devops do automatyzacji procesów zmian w hurtowniach danych? Co wykorzystać aby obniżyć koszty? Czytajcie dalej!


Rekomendowane wdrażanie zmian w organizacji

Odpowiedzialność za automatyzacje procesów wdrożeniowych kodu to nie lada wyzwanie. Na szczęście firmy takie jak Microsoft wychodzą im naprzeciw umożliwiając korzystanie z inteligentnych rozwiązań. W związku z tym, że coraz więcej klientów BitPeak decyduje się na przetwarzanie danych w chmurze obliczeniowej Microsoft Azure, postanowiliśmy zwrócić się w kierunku technologii Azure DevOps. Zawiera ona wszystkie mechanizmy niezbędne do tego, aby zarządzanie kodem odbywało się w się w sposób nadzorowany i kontrolowany.

Azure Devops w hurtowniach danych

W przypadku rozwiązań budowanych w chmurze Microsft Azure, do tworzenia przepływów danych używamy Azure Data Factory oraz Azure Databricks. Do gromadzenia danych służy nam m.in. Azure Data Lake, SQL Managed Instance lub SQL Data Warehouse (obecnie Azure Synapse) a do raportowania przede wszystkim Power BI.


Wdrażanie zmian jest łatwiejsze dzięki automatyzacji. Polega ona na tym, że kod wytworzony na środowisku developerskim, jest przenoszony w sposób zautomatyzowany na środowisko testowe. Tutaj następuje proces testowania oprogramowania, po zakończeniu którego możemy nasz kod przenieść na środowisko produkcyjne. Pozwala nam to na jednolitość wdrożenia – jesteśmy pewni, że przetestowany kod w całości zostanie przeniesiony na produkcję, bez niechcianych zmian i błędów. Ponadto, automatyzacja umożliwia częstsze wdrażanie zmian, nawet codziennie, co przy ręcznym deploymencie jest uciążliwe. Dzięki automatyzacji skraca się czas, w jakim kod trafia do klienta (od momentu jego wytworzenia do momentu oddania na produkcję).


Może niektórzy z Was pamiętają ręczne wdrażanie zmian, które polegało na zbieraniu dużej paczki wdrożeniowej. Proces ten nawet dla pojedynczej zmiany był bardzo czasochłonny. W efekcie automatyzacji, zespół developerski jest efektywniejszy i kod trafia dużo szybciej do klienta.


Jak obniżyć koszty wdrożenia zmian w kodzie?

Na Azure Devops składa się wiele komponentów, których część przedstawiamy na powyższym obrazku w postaci ikonek, są to między innymi: repozytorium kodu, pipelines , artefakty czy testy automatyczne. Obrazek przedstawia 3 środowiska stworzone na 2 subskrypcjach. Warto zainwestować w oddzielną subskrypcję developerską, gdyż pozwala nam to na oszczędności, a równocześnie pozwala na odwzorowanie 1 do 1 środowiska produkcyjnego. Takie podejście gwarantuje nam, że kod będzie prawidłowy, zaś wdrożenie - powtarzalne na środowisku produkcyjnym. Dodatkowe środowiska ułatwiają także pracę deweloperom, gdyż mając do dyspozycji swoją przestrzeń, nie przeszkadzają sobie wzajemnie w pracy.


Release pipeline i jego wykonania

Przedstawiony powyżej pipeline jest mocno rozbudowany. Służy do wdrożenia kodu 3 elementów jednocześnie lub pojedynczo na 2 różne środowiska. Wdrażamy tutaj bazę danych, Azure Data Factory oraz DataBricks. Okienko po lewej stronie wskazuje artefakty, czyli źródło danych do wdrożenia. Deployment jest automatyczny i ma miejsce tuż po utworzeniu release’a.

Powtarzalność procesu wdrożenia jest gwarantowana poprzez właśnie pipelines, które odpowiednio są przygotowane w takim samym wydaniu na środowisku testowym, jak i na środowisku produkcyjnym. Pipelines, zarówno na środowisku testowym, jak i produkcyjnym, zawierają te same kroki.


Czy widzieliście kanał BitPeak na Youtube?

Dzisiaj streściliśmy dla Was jeden z odcinków serii "Azure DevOps", w którym eksperci BitPeak: Andrzej Szczechla i Michał Łukasiewicz opowiedzieli o tym, jak wykorzystujemy Azure DevOps w budowaniu zaawansowanych systemów hurtowni danych. Jeśli interesuje Was pełen materiał wideo z wieloma praktycznymi wskazówkami i ilustracjami, to zapraszamy na nasz kanał Youtube: klik.


Masz pytania?

Napisz do nas: office@bitpeak.pl

53 wyświetlenia

Ostatnie posty

Zobacz wszystkie