Podejścia architektoniczne do zarządzania kosztami i alokacji w rozwiązaniu wielodostępnym

Azure
Azure Cost Management
Azure Resource Manager
Azure Monitor

Rozwiązania wielodostępne często wymagają szczególnej uwagi podczas mierzenia i przydzielania kosztów oraz optymalizacji kosztów. Na tej stronie opisano niektóre kluczowe wskazówki dla architektów rozwiązań, które należy wziąć pod uwagę podczas pomiaru, alokacji i optymalizacji kosztów dla aplikacji wielodostępnej.

Kluczowe zagadnienia i wymagania

Weź pod uwagę wymagania dotyczące pomiaru zużycia rozwiązania. Omówiono to bardziej szczegółowo w temacie Mierzenie zużycia poszczególnych dzierżaw.

Cel pomiaru

Ważne jest, aby zdecydować, jaki jest twój cel. Poniżej przedstawiono przykłady celów:

  • Oblicz przybliżony koszt sprzedanych towarów dla każdej dzierżawy. Jeśli na przykład wdrożysz znaczną liczbę zasobów udostępnionych, możesz zainteresować się jedynie przybliżonym przybliżeniem kosztów poniesionych dla każdej dzierżawy.
  • Oblicz dokładny koszt naliczany przez każdą dzierżawę. Jeśli na przykład naliczasz opłaty za dzierżawy za dokładną ilość naliczonego zużycia, musisz mieć dokładne informacje o kosztach zasobów każdej dzierżawy.
  • Identyfikowanie dzierżaw odstających, które kosztują znacznie więcej niż inne. Jeśli na przykład podasz model cen zryczałtowanej stawki, może być konieczne określenie, czy każda dzierżawa zużywa nieproporcjonalną ilość aprowizowanej pojemności, aby można było zastosować zasady sprawiedliwego użycia. W wielu sytuacjach ten przypadek użycia nie wymaga dokładnego pomiaru kosztów.
  • Zmniejsz całkowity koszt platformy Azure dla rozwiązania. Możesz na przykład przyjrzeć się kosztowi każdego składnika, a następnie określić, czy obciążenie zostało nadmiernie aprowidowane.

Zrozumienie celu mierzenia zużycia przez dzierżawę pozwala określić, czy alokacje kosztów muszą być przybliżone, czy wysoce precyzyjne, co wpływa na konkretne narzędzia, których można użyć, i praktyk, które można wykonać.

Składniki udostępnione

Możesz zmniejszyć koszt rozwiązania wielodostępnego, przenosząc dzierżawy do udostępnionej infrastruktury. Należy jednak dokładnie rozważyć wpływ udostępniania zasobów, na przykład to, czy dzierżawcy zaczną doświadczać problemu Hałaśliwego sąsiada.

Należy również wziąć pod uwagę sposób mierzenia i przydzielania kosztów składników udostępnionych. Na przykład można równomiernie podzielić koszt między poszczególnymi dzierżawami korzystającymi z udostępnionego składnika. Możesz też mierzyć użycie poszczególnych dzierżaw, aby uzyskać dokładniejszy pomiar zużycia udostępnionych składników.

Podejścia i wzorce do rozważenia

Przydzielanie kosztów przy użyciu tagów zasobów

Platforma Azure umożliwia stosowanie tagów do zasobów. Tag jest parą klucz-wartość. Tagi służą do dodawania niestandardowych metadanych. Tagi są przydatne w przypadku wielu operacji zarządzania i są również przydatne do analizowania kosztów użycia platformy Azure. Po zastosowaniu tagów można określić koszty skojarzone z każdym tagiem.

Sposób używania tagów w rozwiązaniu wielodostępnym może się różnić w zależności od architektury.

W niektórych rozwiązaniach można wdrożyć dedykowane zasoby dla każdej dzierżawy, na przykład w przypadku wdrażania dedykowanych sygnatur wdrażania dla każdej dzierżawy . W takich sytuacjach jasne jest, że każde użycie platformy Azure dla tych zasobów powinno zostać przydzielone do tej dzierżawy, aby można było oznaczyć zasoby platformy Azure identyfikatorem dzierżawy.

W innych sytuacjach mogą istnieć zestawy zasobów udostępnionych. Na przykład podczas stosowania wzorca fragmentowania można wdrożyć wiele baz danych i rozłożyć dzierżawy na nich. Rozważ tagowanie zasobów przy użyciu identyfikatora grupy dzierżaw. Możesz nie być w stanie łatwo przydzielić kosztów do pojedynczej dzierżawy, ale można przynajmniej zawęzić koszt do zestawu dzierżaw, gdy używasz tego podejścia. Możesz również użyć informacji o użyciu, aby ułatwić ponowne równoważenie dzierżaw w obrębie fragmentów, jeśli zauważysz, że określony fragment generuje wyższe koszty niż inne.

Uwaga

Istnieje limit liczby tagów, które można zastosować do zasobu. Podczas pracy z zasobami udostępnionymi najlepiej nie dodawać tagu dla każdej dzierżawy, która współużytkuje zasób. Zamiast tego rozważ dodanie tagu z identyfikatorem fragmentu lub innym sposobem identyfikowania grupy dzierżaw.

Rozważmy przykładowe rozwiązanie wielodostępne, które jest tworzone przy użyciu wzorca sygnatur wdrażania i modelu dzierżawy partycjonowanej pionowo. Każda sygnatura wdrożenia zawiera udostępniony serwer internetowy i bazy danych podzielone na fragmenty. Tagi można stosować do każdego ze składników platformy Azure, jak pokazano na poniższym diagramie.

Diagram przedstawiający dwie sygnatury z tagami dodanymi do każdego składnika.

Strategia tagowania zastosowana tutaj jest następująca:

  • Każdy zasób ma stamp-id tag.
  • Każda baza danych podzielonych na shard-id fragmenty ma tag.
  • Każdy zasób przeznaczony dla określonej dzierżawy ma tenant-id tag.

Dzięki tej strategii tagowania można łatwo filtrować informacje o kosztach do pojedynczej sygnatury. Można również łatwo znaleźć koszt zasobów specyficznych dla dzierżawy, na przykład całkowity koszt bazy danych dla dzierżawy C. Składniki udostępnione nie mają tenant-id tagu, ale koszt składników udostępnionych dla sygnatury można podzielić między dzierżawców, którzy są przypisani do używania tej sygnatury lub fragmentu.

Instrumentacja aplikacji

W sytuacjach, gdy nie masz bezpośredniej relacji między zasobem platformy Azure a dzierżawą, rozważ instrumentację aplikacji w celu zbierania danych telemetrycznych.

Warstwa aplikacji może już zbierać dzienniki i metryki, które są przydatne do odpowiadania na pytania dotyczące pomiarów, na przykład:

  • Ile żądań interfejsu API jest wysyłanych na dzierżawę?
  • O jakich porach dnia są najbardziej ruchliwi konkretni dzierżawcy?
  • Jak wzorce użycia dzierżawy A są porównywane ze wzorcami użycia dzierżawy B?

Na platformie Azure te metryki są często przechwytywane przez usługę Application Insights. Za pomocą inicjatorów telemetrii można wzbogacić dane telemetryczne przechwycone przez usługę Application Insights w celu uwzględnienia identyfikatora dzierżawy lub innych danych niestandardowych.

Jednak usługa Application Insights i inne rozwiązania do rejestrowania i monitorowania nie są odpowiednie do dokładnego pomiaru kosztów ani do celów pomiarów. Usługa Application Insights jest przeznaczona do próbkowania danych, zwłaszcza gdy aplikacja ma dużą liczbę żądań. Próbkowanie zostało zaprojektowane w celu zmniejszenia kosztów monitorowania rozwiązania, ponieważ przechwytywanie każdego elementu telemetrii może często stać się kosztowne.

Jeśli musisz śledzić szczegółowe informacje o użyciu lub użyciu na potrzeby rozliczeń, zamiast tego należy utworzyć niestandardowy potok w celu rejestrowania niezbędnych danych. Następnie należy agregować dane na podstawie wymagań. Usługi platformy Azure, które mogą być przydatne w tym celu, obejmują usługę Event Hubs, przechwytywanie dużych ilości danych telemetrycznych i usługi Stream Analytics w celu przetwarzania ich w czasie rzeczywistym.

Korzystanie z planów oszczędności platformy Azure i rezerwacji platformy Azure w celu zmniejszenia kosztów

Rezerwacje platformy Azure: Rezerwacje platformy Azure umożliwiają zmniejszenie kosztów platformy Azure przez wstępne zobowiązanie do określonego poziomu wydatków. Rezerwacje dotyczą wielu typów zasobów platformy Azure.

Rezerwacje mogą być skutecznie używane w rozwiązaniu wielodostępnym. Zwróć uwagę na następujące zagadnienia:

  • Podczas wdrażania wielodostępnego rozwiązania obejmującego udostępnione zasoby należy wziąć pod uwagę poziom użycia punktu odniesienia potrzebnego dla obciążenia. Możesz rozważyć rezerwację dla tego zużycia bazowego, a następnie płacić standardowe stawki za wyższe zużycie podczas nieprzewidywalnych szczytów.
  • Podczas wdrażania zasobów dla każdej dzierżawy należy rozważyć, czy możesz wstępnie zatwierdzić użycie zasobów dla określonej dzierżawy, czy w ramach portfela dzierżaw.

Rezerwacje platformy Azure umożliwiają określanie zakresu rezerwacji w celu zastosowania ich do grupy zasobów, subskrypcji lub zestawu subskrypcji. Oznacza to, że możesz korzystać z rezerwacji, nawet jeśli obciążenie jest podzielone na fragmenty w wielu subskrypcjach.

Zakresy rezerwacji mogą być również przydatne, jeśli masz dzierżawy z nieprzewidywalnymi obciążeniami. Rozważmy na przykład rozwiązanie, w którym dzierżawa A potrzebuje tylko jednego wystąpienia określonego zasobu, ale każda dzierżawa B i C potrzebują dwóch. Następnie dzierżawa B staje się mniej zajęta, więc zmniejszysz liczbę wystąpień, a dzierżawa A staje się bardziej ruchliwa, więc zwiększasz liczbę wystąpień. Twoje rezerwacje są stosowane do dzierżaw, które ich potrzebują.

Plan oszczędności platformy Azure na potrzeby obliczeń: plan oszczędności platformy Azure na potrzeby obliczeń jest elastycznym planem oszczędnościowym, który generuje znaczne oszczędności w porównaniu z cenami płatności zgodnie z rzeczywistym użyciem. Zgadzasz się na umowę roczną lub trzyletnią i otrzymujesz rabaty na kwalifikujące się usługi obliczeniowe. Te usługi obejmują maszyny wirtualne, dedykowane hosty, wystąpienia kontenerów, funkcje w warstwie Premium platformy Azure i usługi aplikacji platformy Azure. Oszczędności dotyczą tych usług obliczeniowych niezależnie od regionu, rozmiaru wystąpienia lub systemu operacyjnego. Aby uzyskać więcej informacji, zobacz Omówienie planu oszczędności platformy Azure i dokumentację planu oszczędności platformy Azure.

Łączenie rezerwacji i planu oszczędności: aby jeszcze bardziej zoptymalizować koszty i elastyczność, możesz połączyć plan oszczędności platformy Azure z rezerwacjami platformy Azure.

Antywzorzecy, aby uniknąć

  • Nie śledzenie kosztów w ogóle. Ważne jest, aby mieć co najmniej przybliżony pomysł na koszty, które są naliczane, i jak każda dzierżawa ma wpływ na koszt dostarczania rozwiązania. W przeciwnym razie, jeśli koszty zmieniają się w czasie, nie masz punktu odniesienia do porównania. Możesz również nie przewidzieć, jak wzrost dzierżaw będzie mieć wpływ na koszty i rentowność.
  • Dokonywanie założeń lub zgadywanie. Upewnij się, że pomiar kosztów jest oparty na rzeczywistych informacjach. Może nie być potrzebna wysoka precyzja, ale nawet oszacowania powinny być informowane przez rzeczywiste pomiary.
  • Niepotrzebna precyzja. Może nie być konieczne posiadanie szczegółowej księgowości każdego kosztu, który jest naliczany dla każdej dzierżawy. Tworzenie niepotrzebnie precyzyjnych procesów pomiaru kosztów i optymalizacji może być sprzeczne z produktem, ponieważ zwiększa złożoność inżynieryjną i tworzy kruche procesy.
  • Pomiar w czasie rzeczywistym. Większość rozwiązań nie wymaga aktualnych pomiarów kosztów. Ponieważ dane pomiarów i zużycia mogą być złożone do przetwarzania, należy rejestrować niezbędne dane, a następnie asynchronicznie agregować i przetwarzać dane później.
  • Korzystanie z narzędzi do monitorowania na potrzeby rozliczeń. Zgodnie z opisem w temacie Instrumentacja aplikacji upewnij się, że używasz narzędzi przeznaczonych do monitorowania kosztów i pomiarów. Rozwiązania do monitorowania aplikacji zwykle nie są dobrymi kandydatami do tego typu danych, zwłaszcza gdy potrzebujesz wysokiej precyzji.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Inni współautorzy:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki