Automatyzacja procesów: Azure DevOps w Databricks

Czym jest Databricks?
Databricks to usługa przygotowana i optymalizowana pod kątem skalowalności i wydajności w chmurze obliczeniowej, w tym Microsoft Azure. Ta platforma jest bardzo często wykorzystywana jako pewnego rodzaju uzupełnienie - chociażby dla ADF (Azure Data Factory).
Databricks swoją koncepcję oparł na odpowiednio przygotowanych przestrzeniach roboczych, tzw. workspace’ach. To w nich znajdują się przygotowywane przez użytkownika notebooki.

Tworzenie kodu
To właśnie w notebookach programiści Databricks tworzą i testują swoje fragmenty kodu. Jednak kod, który wytworzymy w trakcie projektu, najczęściej nie jest jednorazowy. Po zakończeniu dewelopmentu, musimy go utrzymywać, rozwijać, dbając o odpowiednie migrowanie go pomiędzy różnymi środowiskami (deweloperskim, testowym oraz produkcyjnym). Do automatyzacji tego procesu możemy wykorzystać usługę Azure DevOps, która pomoże nam zadbać i spójność kodu i ułatwi zarządzanie.
Jeżeli chcemy rozpocząć pracę z Azure DevOps w zakresie Databricks potrzebne jest ściągniecie dodatku DevOps dla Databricks z Marketplace, ponieważ na chwilę obecną Azure DevOps standardowo nie posiada tego komponentu.
Jak zarządzać zmianą w notebook’ach Databricks ?
Pierwszym krokiem jest wybranie w środowisku deweloperskim notebook’a którego kod chcemy zmodyfikować. To w nim będziemy wykonywać zmiany. Po skończonej pracy, pamiętajmy, aby nasze modyfikacje umieścić w repozytorium kodu. Co ciekawe, w Databricks istnieje możliwość bezpośredniego podpięcia notebooka do repozytorium konkretnego brancha deweloperskiego, w ramach którego wykonujemy operacje. Przechodząc do repozytorium, warto sprawdzić czy faktycznie nasza operacja się powiodła. W naszym branchu w interesującym nas notebooku powinna widnieć zmodyfikowana wersja kodu.
Gdy wszystkie zmiany, które chcemy wdrożyć powiodły się, nadszedł czas na pool request, który przeniesie nasze zmiany do brancha DevOps. Właśnie tam odpowiednia osoba zatwierdzi nowy kod.
Jeśli na platformie widnieje informacja „Build in progress”, to znaczy, że trwa proces wykonywania Build Pipeline. W jego wyniku stworzony zostanie artefakt z notebookami zmodyfikowanymi, które będą wdrażane w ramach naszej paczki. Gdy artefakt został poprawnie utworzony, uruchamiamy release służący do przeniesienia artefaktu, naszego notebooka, na docelowe środowiska.
Samo uruchamianie Databricks w sposób ręczny nie jest wyjątkowo uciążliwe, ale warto pamiętać, że wykonanie ich jest w sposób automatyczny jest także możliwe. Następny krok to wdrożenie notebooka na środowisko testowe. Wdrażanie na środowisko testowe i produkcyjne składa się z dwóch zadań. Każde z nich łączy się z odpowiednim key vaultem. Oczywiście w innym przypadku takich tasków może być znacznie więcej.

Jeśli interesują Cię dodatkowe szczegóły dotyczące omawianego w tym artykule zagadnienia Databricks, koniecznie zajrzyj do naszego 10-minutowego filmu na kanale Youtube: klik. Dowiesz się, jak wesprzeć funkcjonowanie Databricks z pomocą oprogramowania Azure DevOps. Poznasz jeszcze lepiej czym są notebooki Databricks, zrozumiesz jak skonfigurować Azure DevOps, by przenosić notebooki między środowiskami. Dowiesz się także jak zintegrować notebook do repozytorium kodu.
Masz pytania?
Napisz do nas: office@bitpeak.pl