Stosowanie metody FinOps do usługi Azure Data Factory

W tym artykule opisano sposób stosowania metodyki FinOps w usłudze Azure Data Factory.

Co to jest FinOps?

FinOps Foundation Technical Advisory Council definiuje FinOps odpowiednio:

FinOps to rozwijająca się dyscyplina zarządzania finansami w chmurze i praktyka kulturowa, która umożliwia organizacjom uzyskanie maksymalnej wartości biznesowej, pomagając inżynierom, finansom, technologiom i zespołom biznesowym współpracować nad decyzjami o wydatkach opartych na danych.

U podstaw FinOps leży praktyka kulturowa. Jest to sposób, w jaki zespoły zarządzają kosztami chmury, gdzie każdy przejmuje własność użycia chmury obsługiwanego przez centralną grupę najlepszych rozwiązań. Zespoły międzyfunkcyjne w dziale inżynierii, finansów, produktu itp. współpracują ze sobą, aby umożliwić szybsze dostarczanie produktów, jednocześnie uzyskując większą kontrolę finansową i przewidywalność.

Diagram przedstawiający ogólny przegląd sposobu działania metodyki FinOps w organizacji.

Jak zastosować metodyę FinOps do usługi Azure Data Factory

Azure Data Factory to usługa Integracji danych i ETL firmy Microsoft (wyodrębnianie, przekształcanie, ładowanie) w chmurze. Aby osiągnąć efektywne budżetowanie i mechanizmy kontroli kosztów w fabryce danych, najpierw sprawdzimy, jak zrozumieć model cen. Następnie ważne jest analizowanie wydatków na poziomie fabryki i rurociągów. Można to zrobić za pomocą wbudowanych raportów użycia w fabryce danych oraz na poziomie subskrypcji Azure, przy użyciu funkcji zarządzania kosztami i analizy kosztów w Azure. Na koniec mówimy o ustawianiu limitów wydatków w ramach subskrypcji platformy Azure, aby pomóc w zapewnieniu kontroli kosztów.

Informacje o cenach usługi Azure Data Factory

Na poniższym wykresie wyjaśniono ogólny przepływ obliczania cennika fabryki danych. Pokazano w nim, jak używać kalkulatora cen platformy Azure do obliczania cen. Ogólnie rzecz biorąc, podstawowe części do zrozumienia rozliczeń fabryki danych obejmują następujące koszty: orkiestracja, wykonywanie, typ środowiska Integration Runtime (IR),przenoszenie danych (kopiowanie) i przepływy danych.

  1. Sprawdź, czy źródło fabryki danych czy środowisko Integration Runtime ujścia korzysta z zarządzanej sieci wirtualnej. Jeśli tak, orkiestracja i wykonywanie są wykonywane przy użyciu zarządzanego przez Azure VNET IR. W przeciwnym wypadku przejdź do następnego kroku.
  2. Sprawdź, czy źródło lub ujście korzysta ze środowiska Integration Runtime obsługiwanego samodzielnie. Jeśli tak, orkiestracja i wykonywanie są obliczane przez lokalnie hostowany IR, a łączny koszt odpowiada sumie kosztów zarówno orkiestracji, jak i wykonywania. Jeśli nie, orkiestracja i wykonywanie są obliczane przez środowisko Azure IR.
  3. W przypadku środowiska Azure IR i zarządzanego przez platformę Azure środowiska VNET IR upewnij się, czy używasz przepływu danych. Jeśli tak, łączny koszt jest równy sumie kosztów dla klastra przepływu danych, aranżacji i wykonania. W przeciwnym razie łączny koszt to po prostu suma kosztów aranżacji i wykonania.

Wykres blokowy przedstawiający proces obliczania kosztów dla usługi Azure Data Factory.

Przykładowe scenariusze

Przyjrzyjmy się kilku przykładom typowych scenariuszy fabryki danych i szacowanym kosztom skojarzonym z każdym obciążeniem. Podczas pracy z każdym przykładem należy pamiętać o standardach dotyczących kosztów fabryki danych.

  • Podczas analizowania rachunku należy pamiętać, że Data Factory zaokrągla do pełnych minut dla każdego czasu trwania aktywności (to znaczy, 1 min 1 sek = 2-minutowe fakturowanie).
  • Poniższe przykłady są oparte na typowych scenariuszach i przedstawiają szacowane koszty.
  • Inne koszty mogą być naliczane z magazynów danych i usług zewnętrznych na platformie Azure, z których korzystasz.
  • Rzeczywiste koszty mogą się nieznacznie różnić od tych przykładów na podstawie postanowień umowy sprzedaży, które masz z firmą Microsoft.
  • Ten link zawiera więcej przykładów: Omówienie cennika usługi Azure Data Factory za pomocą przykładów.

Przykład: kopiowanie danych i przekształcanie za pomocą usługi Azure Databricks co godzinę

W tym scenariuszu chcesz skopiować dane z usługi AWS S3 do usługi Azure Blob Storage i przekształcić dane za pomocą usługi Azure Databricks zgodnie z godzinnym harmonogramem przez 8 godzin dziennie przez 30 dni.

Ceny używane w tym przykładzie są hipotetyczne i nie mają oznaczać rzeczywistych dokładnych cen. Koszty odczytu/zapisu i monitorowania nie są wyświetlane, ponieważ są one zwykle niewielkie i nie będą miały znaczącego wpływu na ogólne koszty. Przebiegi aktywności są również zaokrąglane do najbliższego 1000 w kalkulatorze cen.

Konfiguracja

Aby zrealizować ten scenariusz, należy utworzyć pipeline z następującymi elementami:

  1. Jedno działanie kopiowania z wejściowym zestawem danych do skopiowania z usługi AWS S3 oraz wyjściowy zestaw danych dla danych w usłudze Azure Storage.
  2. Jedno działanie usługi Azure Databricks na potrzeby przekształcania danych.
  3. Jeden zaplanowany mechanizm uruchamiający do wykonywania procesu co godzinę. Jeśli chcesz uruchomić potok, możesz go wyzwolić natychmiast lub zaplanować. Oprócz samego potoku każde wystąpienie wyzwalacza jest liczone jako pojedyncze uruchomienie działania.

Oszacowanie kosztów

Zapoznaj się z kalkulatorem cenowym Azure oraz procesem, wykonując następujące kroki:

  1. Jeśli zarówno źródło, jak i odbiornik nie używają zarządzanej sieci wirtualnej przez Azure, przejdź do kroku 2.
  2. Jeśli zarówno źródło, jak i ujście nie używają własnego środowiska IR, orkiestracja i wykonywanie są obliczane przy użyciu środowiska Azure IR.
  3. W tym miejscu używamy tylko działania kopiowania i działania zewnętrznego. Nie używa ono działania przepływu danych, więc łączny koszt jest równy sumie kosztów aranżacji i wykonywania.

Szacowana cena miesiąca (8 godzin dziennie przez 30 dni):

Types Kalkulacja
Orkiestracja (liczba uruchomień działań w tysiącach) 3 uruchomienia aktywności na każde wykonanie (1 na uruchomienie wyzwalacza, 2 na uruchomienia aktywności).
Liczba uruchomień działań/miesiąc = 3 * 8 * 30 = 720.
Liczba przebiegów działań w tysiącach/miesiącach = 1
Wykonanie 1. Godziny jednostki integracji danych (DIU):
   • DIU na wykonanie = 10 minut
   • Domyślne ustawienie DIU = 4
   • Godziny DIU/miesiąc = (10 min / 60 minut) * 4 * 8 * 30 = 160

2. Godziny wykonywania zadania przepływu zewnętrznego:
   • Czas wykonywania: 10 minut
   • Godziny wykonywania działania potoku zewnętrznego = (10 minut / 60 minut) * 8 * 30 = 40

Przykład kalkulatora cen

Łączna cena scenariusza dla 30 dni: 41,01 USD

Zrzut ekranu przedstawiający kalkulator cen platformy Azure przedstawiający szacowanie kosztów dla tego scenariusza.

Przykład: Używanie debugowania przepływu danych w mapowaniu dla normalnego dnia roboczego.

W tym przykładzie przedstawiono koszty debugowania przepływu danych mapowania dla typowego dnia roboczego dla inżyniera danych. Ceny używane w poniższym przykładzie są hipotetyczne i nie mają na celu oznaczania dokładnych rzeczywistych cen. Koszty odczytu/zapisu i monitorowania nie są wyświetlane, ponieważ są one zwykle niewielkie i nie będą miały znaczącego wpływu na ogólne koszty. Przebiegi aktywności są również zaokrąglane do najbliższego 1000 w kalkulatorze cen.

Inżynier usługi Azure Data Factory

Inżynier fabryki danych jest odpowiedzialny za projektowanie, tworzenie i testowanie przepływów danych mapowania każdego dnia. Inżynier loguje się do programu Azure Data Factory Studio rano i włącza tryb debugowania dla przepływów danych. Domyślny czas życia (TTL) dla sesji debugowania to 60 minut. Inżynier pracuje przez cały dzień przez 8 godzin, więc sesja debugowania nigdy nie wygasa. W związku z tym opłaty inżyniera za dzień są następujące:

8 godzin * 8 rdzeni zoptymalizowanych pod kątem obliczeń * 0,193 USD za godzinę na rdzeń = 12,35 USD

Budżetowanie

Podczas planowania implementacji usługi Azure Data Factory ważne jest zrozumienie i prognozowanie kosztów w celu ułatwienia utworzenia budżetu dla projektów ETL i integracji danych.

Zrzut ekranu przedstawiający ekran monitorowania potoku z wyróżnionym przyciskiem raportu użycia.

Wybierz przycisk raportu zużycia z widoku monitorowania pipeline'u, aby uzyskać przegląd jednostek rozliczanych za każdy przebieg.

Na stronie monitorowania można ręcznie użyć raportu zużycia dla dowolnego uruchomienia potoku z debugowania, ręcznie wyzwolonego przebiegu, a nawet automatycznego przebiegu wyzwalanego.

Zrzut ekranu przedstawiający okno zużycia dla uruchomienia potoku z łączną liczbą jednostek rozliczanych za przebieg.

Raport użycia przepływu fabryki danych zawiera szacowane naliczone jednostki. Możesz uruchomić testy, używając debugowania potoku na mniejszych zestawach danych, a następnie ekstrapolować budżet produkcyjny z tych szacunków.

Raport użycia zawiera wartości w jednostkach. Aby uzyskać oszacowanie pieniężne na podstawie tego, pomnożyj wartość jednostek w tym raporcie według ceny w twoim regionie na podstawie kalkulatora cen platformy Azure. Powoduje to oszacowanie wykonania tego procesu potoku. Najlepszym rozwiązaniem jest kilkukrotne wykonanie potoku z różnymi zestawami danych, aby uzyskać podstawowy zakres kosztów i wykorzystać średnią z tych przebiegów do budżetowania.

Optymalizacja kosztów platformy Azure

W tej sekcji omówiono optymalizację kosztów za pomocą usługi zarządzania kosztami firmy Microsoft, usługi Azure Advisor oraz zarezerwowanych instancji w ramach Data Factory.

Zarządzanie kosztami firmy Microsoft

Platforma Microsoft Azure udostępnia narzędzia, które ułatwiają śledzenie, optymalizowanie i kontrolowanie wydatków na platformę Azure. Jeśli wydatki na fabrykę danych mają najwyższy priorytet, zaleca się utworzenie oddzielnej grupy zasobów na platformie Azure dla każdej fabryki danych. Dzięki temu można łatwo tworzyć budżety, śledzić wydatki i stosować mechanizmy kontroli kosztów przy użyciu usługi Microsoft Cost Management.

Zrzut ekranu przedstawiający stronę zarządzania kosztami firmy Microsoft na platformie Azure.

Obecnie organizacje pracują ciężej niż kiedykolwiek, aby kontrolować wydatki i robić więcej z mniejszymi. Możesz użyć funkcji Budżety platformy Azure, aby ustawić limity wydatków na użycie usługi Azure Data Factory w wersji 2 i ogólną grupę zasobów platformy Azure używaną dla fabryki danych.

Zrzut ekranu przedstawiający stronę Budżety platformy Azure przedstawiającą sposób ustawiania budżetów dla usługi.

W oknie tworzenie budżetu użyj filtrów, aby wybrać usługę Azure Data Factory lub grupę zasobów.

Azure Advisor

Innym cennym narzędziem do optymalizacji budżetu platformy Azure jest usługa Azure Advisor. Usługa Azure Advisor umożliwia otrzymywanie zaleceń dotyczących zmniejszenia ogólnych wydatków na platformę Azure. Obejmuje to wykorzystanie zarezerwowanych instancji cenowych usługi Azure Data Factory w celu zmniejszenia kosztów mapowania przepływów danych. Możesz również pokrywać koszty usługi Azure Data Factory przy użyciu kredytu przedpłaconego na platformie Azure.

Zrzut ekranu przedstawiający okno usługi Azure Advisor, które może zawierać zalecenia, w tym optymalizacje redukcji kosztów.

Wystąpienia zarezerwowane w usłudze Azure Data Factory

Wystąpienia zarezerwowane są dostępne w usłudze Azure Data Factory na potrzeby przepływów danych mapowania, których można użyć do zapewnienia oszczędności w porównaniu z normalną ceną cennika przepływów danych. W przypadku instancji zarezerwowanych należy z góry zakupić rezerwacje na 1 rok lub 3 lata na poziomie rabatowym zależnym od długości rezerwacji. Aby wyświetlić dostosowany widok oszczędności kosztów przy użyciu wystąpień zarezerwowanych, przejdź do witryny Azure Portal i wybierz pozycję Rezerwacje, a następnie wybierz pozycję Fabryka danych. Z tego miejsca wybierzesz typ przepływów danych, które zwykle stosujesz, a portal Azure oszacuje twoje przyszłe oszczędności na podstawie poprzedniego wykorzystania Data Factory.

Zrzut ekranu przedstawiający stronę rezerwacji platformy Azure z wyróżnioną fabryką danych.

Rezerwowanie przepustowości przepływu danych przy użyciu zarezerwowanych instancji może zapewnić natychmiastowy rabat na ogólne wydatki związane z Azure Data Factory, bezpośrednio powiązane z użyciem przepływów danych.

Śledzenie wydatków związanych z fabryką danych

Podczas tworzenia infrastruktury integracji danych na platformie Azure ważne jest śledzenie wydatków w czasie. Istnieje kilka sposobów na śledzenie budżetu Data Factory. Domyślnie Azure Data Factory udostępnia ogólne podsumowanie kosztów fabryki z uwzględnieniem różnych liczników rozliczeniowych, które są używane przez usługę.

Jak używać szczegółowego widoku rozliczeń pipeline'u

Możesz poprosić fabrykę danych o udostępnienie zestawienia kosztów na poziomie potoku, wybierając opcję rozliczania „według potoku” w ustawieniach fabryki.

Zrzut ekranu przedstawiający stronę ustawień karty zarządzania w Azure Data Factory Studio z ustawionym rozliczaniem według potoku.

Ten widok zawiera podział wydatków na fabrykę danych według każdego potoku. Może to być przydatne w przypadku atrybutów kosztów na poziomie elementu wiersza, a nie zestawienia fabrycznego (co jest wartością domyślną).

Zrzut ekranu przedstawiający raport rozliczeniowy dla szczegółowego rozliczania potoków z podziałem kosztów na każdy potok.

Widok rachunku za fabrykę danych na poziomie potoku jest przydatny do przypisywania ogólnych kosztów fabryki danych do każdego zasobu potoku. Przydatne jest również zapewnienie łatwego w użyciu mechanizmu do refakturowania użytkowników Twojej fabryki, zarówno dla wewnętrznego wykorzystania organizacyjnego, jak i użycia przez zewnętrznych klientów lub partnerów.

Jak używać tagów do przypisywania kosztów pipeline'u

Innym mechanizmem śledzenia przypisywanych kosztów zasobu Data Factory jest użycie tagowania w Data Factory. Możesz przypisać ten sam tag do fabryki danych i innych zasobów platformy Azure, umieszczając je w tej samej kategorii, aby wyświetlić skonsolidowane rozliczenia. Wszystkie identyfikatory SSIS (SQL Server Integration Services) w fabryce dziedziczą ten tag. Pamiętaj, że jeśli zmienisz tag fabryki danych, musisz zatrzymać i ponownie uruchomić wszystkie instancje uruchomieniowe SSIS w ramach fabryki danych, aby mogły dziedziczyć nowy tag. Aby uzyskać więcej informacji, zapoznaj się z sekcją Reconfigure SSIS IR (Ponowne konfigurowanie środowiska SSIS IR).