Wprowadzenie
W dzisiejszych czasach efektywne zarządzanie zasobami w chmurze jest kluczowe dla optymalizacji kosztów i wydajności. Microsoft Fabric oferuje elastyczne możliwości skalowania i zarządzania pojemnością, ale co zrobić, gdy potrzebujemy automatyzacji tych procesów?
Dlaczego warto automatyzować?
Automatyczne startowanie i stopowanie pojemności w Microsoft Fabric może przynieść wiele korzyści, w tym:
- Zmniejszenie kosztów: płacisz tylko za to, czego używasz.
- Zwiększenie produktywności: automatyzacja rutynowych zadań pozwala zespołom skupić się na ważniejszych zadaniach.
Jak to działa?
Automatyzacja w Microsoft Fabric może być realizowana za pomocą różnych narzędzi i usług Azure, takich jak Azure Data Factory (ADF) czy Azure Logic Apps. Proces ten zazwyczaj obejmuje następujące kroki:
- Konfiguracja usługi: Ustawienie parametrów i warunków dla automatyzacji.
- Wykorzystanie API REST Azure: Skrypty i zadania, które wykorzystują API do zarządzania pojemnością.
- Monitorowanie i logowanie: Śledzenie działania i ewentualnych błędów w procesie.
Przykład użycia Azure Logic Aps
Azure Logic Aps umożliwia tworzenie złożonych przepływów pracy, które mogą automatycznie zarządzać np. pojemnością w Microsoft Fabric. Oto przykładowy przepływ pracy, mający na celu zapewnienie dostępności developerskiej pojemności od poniedziałku do piątku w godzinach 8-16:
Aby stworzyć taki przepływ, należy w https://portal.azure.com uruchomić Logic Apps, np. przez wyszukanie w belce,
dodać nową aplikację,
a następnie podać wymagane nazwy, wskazać lub utworzyć nową Resource Group oraz wskazać region, w którym zostanie powołana usługa. Jeśli nie korzystaliśmy jeszcze z Logic apps, w Plan type wybieramy Consumption – koszty miesięczne wyniosą kilka centów.
Po ukończeniu wizarda, przechodzimy do nowoutworzonej aplikacji,
i uruchamiamy Logic app designer
oraz klikamy:
W polu wyszukiwania wpisujemy „recurrence” aby wybrać wyzwalacz, wybieramy Schedule-> Recurence.
Uzupełniamy dane.
Następnie klikamy w plusik oraz Add an action
W polu wyszukiwania wpisujemy „current time”
i wybieramy:
Ponownie plusik oraz Add an action.
Dodamy akcję, która wykona konwersję czasu systemowego i da nam pewność, że system działa w godzinach naszej strefy czasowej. W polu wyszukiwania wpisujemy „convert time”
i wybieramy:
W polu Base Time klikamy błyskawicę,
by wskazać wcześniej stworzony „Current time”.
W polu Time Unit wybieramy custom value i wpisujemy:
a finalnie:
Ponownie klikamy Add an action.
W polu wyszukiwania podajemy „odczytaj zasób” lub „read a source”.
Następnie zostanie uruchomiony kreator do konfiguracji poświadczeń, na których będą wykonywane działania (odczyt stanu usługi Fabric), do wyboru mamy OAuth, Service Principal, Managed Identity.
Po zalogowaniu należy skonfigurować parametry:
- Subskrypcję
- Grupę zasobów, z usługą Fabric
- W Dostawca Zasobów wybieramy Microsoft.Fabric
- W Krótki Identyfikator Zasobu wpisujemy capacities/nazwa zasobu z Fabric:
5. Wersja interface API Klienta: 2023-11-01:
Ponownie klikamy add an action,
a w polu wyszukiwania wpisujemy „condition”.
W nowym kreatorze klikamy błyskawicę, wybieramy Converted Time i wpisujemy warunki wg uznania,
np.:
Przechodzimy do definiowania zadania dla warunku pozytywnego (chcemy sprawdzać czy pomiędzy 8-16 usługa Fabric jest włączona), w tym celu klikamy Ad dan action przy warunku True.
Ponownie wybieramy Condition i definiujemy warunek klikając na pole funkcji.
W polu funkcji wpisujemy:
body(’Odczytaj_zasób’)?[’properties’]?[’state’]
w warunku „Paused” i klikamy Add.
Taki sam warunek definiujemy dla pola False.
Następnie dodajemy akcję dla odpowiedzi True pierwszego warunku.
W polu wyszukiwania wpisujemy „wywołaj operację zasobu”.
Następnie konfigurujemy akcję analogicznie do wcześniejszego kroku,
po czym dodajemy akcję dla odpowiedzi False drugiego warunku
zgodnie z poniższym schematem:
Zapisujemy aplikację logiczną
co wywoła triger do uruchomienia, wchodzimy w Run History i sprawdzamy status.
Po kliknięciu w wykonany job, możemy prześledzić jego wykonanie.
Weryfikujemy też skutek bezpośrednio na usłudze Fabric.
Podsumowanie
Automatyzacja startowania i stopowania pojemności w Microsoft Fabric to potężne narzędzie, które może znacząco przyczynić się do optymalizacji kosztów, a także efektywności operacyjnej. Wykorzystując możliwości Azure i odpowiednie skrypty, możemy osiągnąć znaczne ulepszenia w zarządzaniu zasobami chmurowymi.