Zalecenia dotyczące ustawiania barier ochronnych wydatków

Dotyczy tego zalecenia z listy kontrolnej optymalizacji kosztów platformy Azure Well-Architected Framework:

CO:04 Ustaw zabezpieczenia wydatków. Zabezpieczenia powinny obejmować bramy wydania, zasady ładu, limity zasobów i mechanizmy kontroli dostępu. Określanie priorytetów automatyzacji platformy w przypadku procesów ręcznych.

W tym przewodniku opisano zalecenia dotyczące ustawiania barier ochronnych wydatków. Zabezpieczenia wydatków to miary służące do kontrolowania kosztów i zarządzania nimi w ramach określonego budżetu. Pomagają one zapobiegać nieoczekiwanym lub nadmiernym wydatkom i promować ekonomiczne wykorzystanie zasobów. Bez środków zabezpieczających wydatki koszty obciążeń mogą przekraczać budżet, co prowadzi do nieplanowanych wydatków, które mogą obciążać zasoby finansowe.

Definicje

Okres Definicja
Zasady ładu Zestaw reguł, które wymuszają zgodność i umożliwiają inspekcję zasobów obciążenia.
Nadzór Zestaw zasad, procesów i mechanizmów kontroli, które pomagają zapewnić efektywne, bezpieczne zarządzanie obciążeniem oraz zgodność z wymaganiami organizacyjnymi i prawnymi.
Infrastruktura jako kod (IaC) Opisowy model definiowania i wdrażania infrastruktury, w tym sieci, maszyn wirtualnych, modułów równoważenia obciążenia i topologii połączeń.
Bramka wydania Warunek lub punkt kontrolny w potoku wydania, który musi być spełniony przed kontynuowaniem wdrażania. Brama wydania pomaga upewnić się, że określone kryteria są spełnione przed wydaniem oprogramowania.

Kluczowe strategie projektowania

Ustawianie środków zabezpieczających wydatków przez wdrożenie miar w celu kontrolowania kosztów i zarządzania nimi w ramach określonego budżetu. Te miary obejmują zasady ładu, mechanizmy kontroli dostępu, bramy wydania, progi budżetu i alerty. Automatyzacja zmniejsza ryzyko błędu ludzkiego, zwiększa wydajność i pomaga w spójnym stosowaniu barier ochronnych wydatków. Określanie priorytetów automatyzacji platformy w przypadku procesów ręcznych. Narzędzia i usługi automatyzacji zapewniane przez platformę mogą usprawnić aprowizowanie zasobów, konfigurację i zarządzanie nimi.

Korzystanie z zasad ładu

Zasady ładu mogą działać jako środki zabezpieczające wydatki na różne aspekty zasobów, takie jak typy zasobów, konfiguracje, tagi, lokalizacja i zarządzanie danymi. Wiele platform w chmurze ma usługę, która automatyzuje wymuszanie zasad ładu. Używanie zasad automatycznych do kontrolowania użycia zasobów, wymuszania odpowiedzialności i eliminowania wydatków na ograniczone typy zasobów. Poniżej przedstawiono niektóre zasady, które należy rozważyć wymusić:

  • Ograniczone typy zasobów: zasady mogą określać, które typy zasobów są dozwolone lub niedozwolone w organizacji. Na przykład organizacja może mieć zasady ograniczające korzystanie z niektórych kosztownych typów zasobów w celu kontrolowania kosztów.

  • Limity zasobów: ustaw limity zasobów, aby kontrolować koszty i zapobiegać nadmiernej aprowizacji. Uwzględnij limity liczby zasobów, które można aprowizować, rozmiar zasobów i czas trwania użycia zasobów w zasadach. Te limity mogą pomóc w zapobieganiu nadmiernym wydatkom i optymalizowaniu wykorzystania zasobów. Na przykład limity zasobów mogą zminimalizować skutki nieautoryzowanego naruszenia konta związanego z wyszukiwaniem kryptograficznym.

  • Zdefiniowane konfiguracje zasobów: zasady mogą definiować określone konfiguracje dla zasobów. Możesz wymusić ustawienia dla zasobów, które promują optymalizację kosztów, takie jak automatyczne skalowanie i archiwizowanie danych

  • Lokalizacje z ograniczeniami: zasady umożliwiają ograniczenie wdrażania zasobów do określonych regionów lub lokalizacji. Rozważ ograniczenie lokalizacji, aby uniknąć kosztowych opłat za transfer danych i zachować zgodność z przepisami dotyczącymi niezależności danych.

  • Zarządzane dane: użyj zasad, aby wymusić praktyki zarządzania danymi, które ułatwiają optymalizowanie kosztów. Można na przykład zaimplementować zasady, które wymagają użycia warstw magazynowania niższego kosztu dla rzadziej używanych danych lub zasad definiujących reguły wygasania na potrzeby przechowywania danych.

  • Wymuszane metadane: ustanów zasady, które wymuszają korzystanie z określonych metadanych w celu lepszego śledzenia i alokacji kosztów. Możesz również użyć metadanych w automatyzacji lub w przeglądzie ręcznym. Na przykład użyj metadanych, aby zautomatyzować kopie zapasowe zasobów przy użyciu tagu kopii zapasowej. Spójne zasady metadanych pomagają dopasować koszty do środków zabezpieczających wydatków.

  • Ograniczone zasoby bezczynne: użyj zasad, aby zidentyfikować zasoby bezczynne, aby można je było usunąć lub zmienić ich przeznaczenie. Rozważ ustawienie zasad, które automatycznie zamykają wystąpienia w godzinach, w których nie są używane.

Ryzyko ikona Ryzyko: w przypadku implementowania automatycznego skalowania ustaw maksymalny próg skalowania na podstawie testowania. Maksymalne progi mogą pomóc uniknąć ogromnych skoków skalowania, które powodują przekroczenia kosztów, ale próg ustawiony zbyt niski może negatywnie wpłynąć na wydajność. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące optymalizowania kosztów skalowania.

Konfigurowanie kontroli dostępu

Skonfiguruj mechanizmy kontroli dostępu w celu ustawienia ograniczeń, które uniemożliwiają nadmierne wydatki, i w celu zapewnienia, że tylko autoryzowane osoby mogą korzystać z zasobów. Mechanizmy kontroli dostępu mogą pomóc zmniejszyć ryzyko przypadkowych lub niepotrzebnych zmian, które negatywnie wpływają na optymalizację kosztów. Aby zaimplementować mechanizmy kontroli dostępu na potrzeby optymalizacji kosztów, wykonaj następujące kroki:

  1. Zidentyfikuj niezbędną kontrolę. Zidentyfikuj zasoby i usługi, które wymagają kontroli dostępu.

  2. Definiowanie zasad dostępu. Zdefiniuj zasady dostępu na podstawie zasady dostępu z najniższymi uprawnieniami, udzielając użytkownikom tylko niezbędnych uprawnień do wykonywania swoich zadań. Na przykład niektórzy użytkownicy mogą potrzebować tylko dostępu do odczytu, podczas gdy inni mogą również wymagać uprawnień do zapisu lub usuwania.

  3. Zaimplementuj uwierzytelnianie. Zaimplementuj metody uwierzytelniania, takie jak nazwa użytkownika/hasło, uwierzytelnianie wieloskładnikowe lub integracja z dostawcami tożsamości, aby zapewnić, że tylko autoryzowani użytkownicy mogą uzyskiwać dostęp do zasobów.

  4. Użyj kontroli dostępu opartej na rolach (RBAC). Skonfiguruj kontrolę dostępu opartą na rolach, aby przypisywać role i uprawnienia użytkownikom na podstawie ich obowiązków związanych z pracą. Korzystanie z kontroli dostępu opartej na rolach ułatwia efektywne zarządzanie dostępem do zasobów.

  5. Przejrzyj i zaktualizuj kontrolki. Regularnie przeglądaj i aktualizuj mechanizmy kontroli dostępu, aby upewnić się, że są one zgodne ze zmieniającymi się potrzebami organizacji. Usuń niepotrzebne uprawnienia dostępu i dostosuj poziomy dostępu zgodnie z potrzebami.

Korzystanie z bram wydania

Bramy wydania to punkty kontrolne lub warunki, które muszą zostać spełnione przed kontynuowaniem wydania lub wdrożenia. Bramy wydania ułatwiają zapewnienie, że wydanie jest opłacalne i jest zgodne z celami optymalizacji. Bramy wydania oferują ustrukturyzowane podejście do identyfikacji i implementacji środków oszczędnościowych. Aby zaimplementować bramy wydania na potrzeby optymalizacji kosztów obciążeń, należy wziąć pod uwagę następujące kroki:

  1. Ustanów kryteria bramy wydania. Ustal warunki lub kryteria, które muszą zostać spełnione przed zwolnieniem lub wdrożeniem zasobów. Uwzględnij czynniki, takie jak limity wydatków, progi wykorzystania zasobów lub kamienie milowe projektu.

  2. Włącz bramy wydania. Uwzględnij bramy wydania w potoku wdrażania. Możesz użyć narzędzi automatyzacji lub skryptów niestandardowych, aby upewnić się, że wdrożenia zasobów podlegają zdefiniowanym kryteriom.

  3. Monitorowanie wydatków. Stale monitoruj wydatki i użycie zasobów zgodnie ze zdefiniowanymi kryteriami. Jeśli organizacja przekroczy progi wydatków, bramy wydania powinny uniemożliwić dalsze wdrożenia do momentu rozwiązania problemu.

Konfigurowanie alertów dotyczących kosztów

Ważne jest, aby ustawić alerty dotyczące budżetów, anomalii kosztów i wykorzystania planu opartego na zobowiązaniach, aby zoptymalizować koszty. Te alerty zapewniają wgląd w wydatki w chmurze i umożliwiają proaktywne zarządzanie kosztami. Należy zachować ostrożność, aby zarządzać adresatami powiadomień dla alertów i aktualizować listę adresatów przy użyciu bieżących obowiązków i dostępu. Niektóre alerty, które można utworzyć w celu optymalizacji kosztów, obejmują:

  • Alerty budżetowe: ustaw alerty dotyczące budżetów, aby śledzić wydatki względem wstępnie zdefiniowanych progów. Możesz monitorować koszty i otrzymywać powiadomienia, gdy zbliżasz się lub przekraczasz budżet, tworząc miesięczny budżet, konto rozliczeniowe lub grupę zasobów. Alerty budżetowe ułatwiają informowanie o wydatkach i podejmowanie działań zapobiegawczych w celu kontrolowania kosztów.

  • Alerty dotyczące anomalii kosztów: alerty anomalii powiadamiają o nieoczekiwanych odmianach kosztów, które mogą wskazywać na nieefektywność lub nietypowe wzorce wydatków. Te alerty można skonfigurować, aby identyfikować anomalie w rzeczywistych lub prognozowanych kosztach. Użyj alertów dotyczących anomalii kosztów, aby zbadać podstawową przyczynę odchylenia kosztów i w razie potrzeby podjąć działania naprawcze.

  • Alerty użycia planu opartego na zobowiązaniach: zaimplementuj alerty użycia planu opartego na zobowiązaniach, aby monitorować użycie planu. Jeśli masz plany oparte na zobowiązaniach, ustawienie alertów dotyczących wykorzystania planu może pomóc w efektywnym zarządzaniu i maksymalizacji wartości tych zobowiązań. Możesz skonfigurować te alerty, aby powiadamiać uczestników projektu, jeśli wykorzystanie zasobów opartych na zobowiązaniach spadnie poniżej żądanego progu. Zoptymalizuj zasoby oparte na zobowiązaniach i upewnij się, że korzystasz z korzyści wynikających z zobowiązań.

Korzystanie z IaC

Infrastruktura jako kod to praktyka zarządzania zasobami infrastruktury i aprowizowania ich przy użyciu kodu, zwykle w postaci plików konfiguracji. Zaimplementuj tę strategię, aby zdefiniować i zautomatyzować wdrażanie i konfigurowanie zasobów infrastruktury, takich jak maszyny wirtualne, sieci i magazyn, przy użyciu szablonów opartych na kodzie.

Strategie IaC zapewniają ustrukturyzowane i powtarzalne podejście do zarządzania zasobami infrastruktury i kontrolowania ich. Usługa IaC może pomóc w wdrażaniu zasobów zgodnie z potrzebami, usuwaniu zasobów bez ciągłego uruchamiania ich i optymalizować koszty, zapewniając wdrażanie i konfigurowanie zasobów zgodnie ze wstępnie zdefiniowanymi regułami. Wykonaj następujące kroki, aby użyć usługi IaC do optymalizacji kosztów:

  1. Twórca szablonów IaC. Twórca język szablonu oparty na kodzie w celu zdefiniowania zasobów infrastruktury i ich konfiguracji. Te szablony umożliwiają określenie żądanego stanu zasobów infrastruktury w sposób deklaratywny. Zaimplementuj najlepsze rozwiązania dotyczące optymalizacji kosztów w kodzie infrastruktury. Rozważ odpowiednie ustalanie rozmiaru zasobów przy użyciu wystąpień zarezerwowanych lub planów oszczędnościowych. Użyj tanich opcji magazynu i zastosuj metadane zasobów do alokacji kosztów i śledzenia.

  2. Przechowywanie szablonów. Przechowywanie szablonów IaC w systemie kontroli wersji w celu śledzenia zmian i zarządzania różnymi wersjami. Możesz użyć kontroli wersji, aby zachować historię konfiguracji infrastruktury i wspierać współpracę między członkami zespołu.

  3. Użyj parametrów. Użyj parametrów w szablonach, aby można je było ponownie używać i konfigurować. Za pomocą parametrów można łatwo dostosować wdrożenia infrastruktury dla różnych środowisk lub scenariuszy.

  4. Używaj środowisk efemerycznych. Użyj środowisk efemerycznych do celów programistycznych, testowych i przejściowych, aby zoptymalizować koszty. Środowiska efemeryczne powinny być uruchamiane tylko w razie potrzeby. Twórca tych środowisk przy użyciu narzędzi IaC i usuń środowisko po zakończeniu.

  5. Użyj narzędzi IaC. Użyj narzędzi IaC i struktur, aby zautomatyzować wdrażanie i konfigurację zasobów infrastruktury. Automatyzacja umożliwia spójne i niezawodne wdrażanie zasobów zgodnie ze zdefiniowanymi zasadami.

  6. Monitorowanie wdrożonych zasobów. Regularnie monitoruj zasoby i ich koszty, aby zapewnić zgodność z zasadami wydatków. Użyj narzędzi do monitorowania i zgłaszania alertów, aby zidentyfikować wszelkie odchylenia od zdefiniowanych barier ochronnych i w razie potrzeby podjąć działania naprawcze. Sprawdź nieużywane zasoby i usuń je, najlepiej z automatyzacją.

Ułatwienia dla platformy Azure

Korzystanie z zasad ładu: użyj Azure Policy, aby zdefiniować i wymusić zasady ładu zgodne z celami optymalizacji kosztów. Za pomocą Azure Policy można ustawić reguły dotyczące grup zarządzania, subskrypcji i grup zasobów. Te zasady mogą regulować aprowizowanie zasobów, limity użycia i alokację kosztów. Zasady umożliwiają promowanie praw do zasobów, identyfikowanie i eliminowanie bezczynnych lub niedostatecznie używanych zasobów oraz zachęcanie do korzystania z tanich usług i architektur.

Platforma Azure umożliwia ustawianie limitów lub limitów przydziałów, aby zapobiec nieoczekiwanym kosztom. Oprócz rozmiaru i czasu trwania użycia zasobów można zdefiniować limity liczby zasobów, które można aprowizować. Ustaw te limity, aby zapobiec nadmiernej aprowizacji i kontrolować koszty.

  • Identyfikowanie niedostatecznie używanych lub bezczynnych zasobów. Użyj usługi Azure Advisor , aby zoptymalizować i zmniejszyć ogólne koszty platformy Azure, identyfikując bezczynne i niedostatecznie wykorzystywane zasoby. Otrzymywanie zaleceń dotyczących kosztów z sekcji kosztów na pulpicie nawigacyjnym doradcy .

  • Dodaj metadane zasobów. Użyj ładu platformy Azure, aby zaimplementować tagowanie i kategoryzacja zasobów. Tagowanie zasobów przy użyciu odpowiednich metadanych w celu śledzenia i przydzielania kosztów do różnych działów, projektów lub centrów kosztów. Wgląd w przypisywanie kosztów może pomóc w zidentyfikowaniu obszarów o wysokich wydatkach, optymalizacji alokacji zasobów i ułatwieniu lepszego zarządzania kosztami.

Konfigurowanie kontroli dostępu: zarządzanie dostępem do zasobów przy użyciu kontroli dostępu opartej na rolach platformy Azure. Kontrola dostępu oparta na rolach umożliwia przyznawanie uprawnień użytkownikom, grupom lub aplikacjom na podstawie ich ról. Zaimplementuj kontrolę dostępu opartą na rolach, aby zapewnić, że tylko autoryzowani użytkownicy mają dostęp do zasobów, co zmniejsza ryzyko nieautoryzowanego użycia zasobów i potencjalnych konsekwencji kosztów.

Korzystanie z bram wydania: użyj funkcji zarządzania wydaniami usługi Azure Pipelines , aby zdefiniować i wymusić bramy wydania. Możesz skonfigurować ręczne lub automatyczne punkty kontrolne, aby upewnić się, że spełniasz określone kryteria, takie jak kontrole zabezpieczeń, wymagania dotyczące zgodności i progi kosztów.

Używanie infrastruktury jako kodu. Za pomocą narzędzi i usług platformy Azure można wdrażać zasoby infrastruktury i zarządzać nimi przy użyciu kodu. Korzystając z narzędzi, takich jak szablony usługi Azure Resource Manager (ARM), Azure Bicep i Azure DevOps, można definiować i wdrażać zasoby infrastruktury w sposób deklaratywny. Platforma Azure ma szablony Bicep, Azure Resource Manager i Terraform dla każdego zasobu platformy Azure.

Użyj usługi Azure Pipelines lub innych narzędzi ciągłej integracji i ciągłego dostarczania (CI/CD), aby zautomatyzować procesy kompilowania, testowania i wdrażania. Usługa Teams może używać potoków do definiowania serii kroków i akcji uruchamianych automatycznie za każdym razem, gdy zmiany zostaną wprowadzone w bazie kodu. Zautomatyzuj te procesy, aby zmniejszyć nakład pracy ręcznej, zapewnić spójność i przyspieszyć dostarczanie oprogramowania.

Rozważ użycie zasobów o niższych kosztach dla środowisk efemerycznych lub nieprodukcyjnych, aby zoptymalizować koszty. Platforma Azure udostępnia różne warstwy cenowe dla zasobów. Azure DevTest Labs ceny i rezerwacje platformy Azure to metody oszczędzania kosztów, które można eksplorować w środowiskach efemerycznych.

Repozytoria Git, takie jak Azure Repos i GitHub, zapewniają możliwości kontroli wersji na potrzeby zarządzania konfiguracjami kodu i infrastruktury. Zespoły i deweloperzy mogą używać zautomatyzowanych repozytoriów do współpracy, śledzenia zmian i utrzymywania historii bazy kodu.

Środowiska wdrażania platformy Azure umożliwiają zespołom deweloperów szybkie i łatwe tworzenie infrastruktury aplikacji przy użyciu szablonów opartych na projektach, które ustanawiają spójność i najlepsze rozwiązania przy jednoczesnym maksymalizacji zabezpieczeń. Dostęp na żądanie do bezpiecznych środowisk przyspiesza etapy cyklu życia tworzenia oprogramowania w sposób zgodny i ekonomiczny.

Azure Developer CLI to narzędzie typu open source, które skraca czas potrzebny na pobranie aplikacji z lokalnego środowiska deweloperskiego na platformę Azure. Azure Developer CLI oferuje przyjazne dla deweloperów polecenia mapowane na kluczowe etapy przepływu pracy, niezależnie od tego, czy pracujesz w terminalu, zintegrowanym środowisku projektowym (IDE) czy ciągłej integracji/ciągłego wdrażania.

Konfigurowanie alertów dotyczących kosztów: użyj usługi Microsoft Cost Management , aby zoptymalizować koszty i wymusić zabezpieczenia wydatków. Funkcje zarządzania kosztami umożliwiają ustawianie budżetów i alertów, wizualizowanie informacji o kosztach przy użyciu narzędzi, takich jak usługa Power BI, oraz analizowanie wzorców kosztów i wąskich gardeł wydajności.

Dopasowanie organizacji

Zespoły centralne powinny korzystać z wskazówek dotyczących Cloud Adoption Framework do konfigurowania środków zabezpieczających wydatków w całej organizacji, aby zespoły ds. obciążeń rozumiały, co może zaoferować centralny zespół.

Zachęcamy organizację do przyjęcia barier ochronnych opartych na zasadach. Aby zapoznać się z przykładową implementacją, zobacz Wdrażanie barier zabezpieczających opartych na zasadach.

Lista kontrolna optymalizacji kosztów

Zapoznaj się z pełnym zestawem zaleceń.