Monitorowanie i optymalizowanie w czasie

Ukończone
Ciągłe odpowiednie inwestycje w miarę rozwoju obciążenia wraz z ekosystemem.

To, co było ważne wczoraj, może nie być ważne dzisiaj. Podczas oceny obciążeń produkcyjnych można spodziewać się zmian w architekturze, wymaganiach biznesowych, procesach, a nawet strukturze zespołu. Rozwiązania cyklu życia programowania oprogramowania (SDLC) mogą wymagać rozwoju. Czynniki zewnętrzne mogą również ulec zmianie, takich jak platforma w chmurze, jej zasoby i umowy.

Należy dokładnie ocenić wpływ wszystkich zmian kosztów. Monitoruj zmiany i trend zwrotu z inwestycji w regularnych okresach oraz oceń, czy należy dostosować wymagania funkcjonalne i niefunkcjonalne.

Przykładowy scenariusz

Firma Contoso Air udostępnia rozwiązanie do śledzenia bagażu dla linii lotniczych. Obciążenie jest hostowane na platformie Azure i działa w usłudze AKS z usługą Cosmos DB dla swojej bazy danych i używa usługi Event Hubs do obsługi komunikatów. Obciążenie jest wdrażane w regionach Zachodnie stany USA i Wschodnie stany USA.

Ciągła ocena i optymalizacja środowiska oraz kosztów pomocy technicznej.

Korzystając z systemu śledzenia kosztów, stale oceniaj i optymalizuj koszty zasobów, danych i płatnej pomocy technicznej. Czy istnieją niedostatecznie wykorzystywane zasoby, które można wycofać, zamienić, skompilować lub refaktoryzować?

Obniżysz koszty, unikając płacenia za zasoby, które nie są w pełni wykorzystywane. Zrozumienie metryk cen może pomóc w podejmowaniu decyzji, które są bardziej dopasowane do modelu kosztów. Może to również uniemożliwić nieuzasadnione rozliczanie. Zmiana rozmiaru lub usunięcie niedostatecznie wykorzystanych zasobów, a nawet zmiana jednostek SKU, może obniżyć koszty.

Możesz również zaoszczędzić pewne koszty, oceniając wykorzystanie umów pomocy technicznej z dostawcami technologii i ich ustalanie rozmiaru.

Wyzwanie firmy Contoso

  • Zespół ds. obciążeń zawsze był w ramach budżetu, więc optymalizacja pod kątem wydajności kosztów nie była priorytetem.
  • Planują zwiększyć niezawodność obciążenia w przyszłym roku i wiedzą, że zwiększy to koszty platformy Azure, prawdopodobnie wypychając obciążenie do budżetu. Rozważają prośbę o zwiększenie budżetu na przyszły rok.

Stosowanie podejścia i wyników

  • Zespół decyduje, że przed prośbą o więcej pieniędzy ocenią swoje bieżące koszty platformy Azure i pomocy technicznej, aby wyszukać potencjalne możliwości oszczędności. Zapoznają się z podziałami kosztów na zasób, grupą zasobów i tagami w istniejącym systemie śledzenia kosztów i zauważą nieoczekiwane wydatki.
  • Zespół odkrywa, że w swoim środowisku działają maszyny wirtualne, które były używane w przestarzałym systemie kompilacji i nie są już potrzebne, istnieje znaczna ilość starych danych w usłudze Azure Storage, które można przenieść do tańszej warstwy, i płacą za umowę pomocy technicznej ze swoim dostawcą usług w chmurze, które obejmują godziny konsultacyjne, z których korzystają.
  • Zespół optymalizuje koszty platformy Azure, usuwając nieużywane maszyny wirtualne i przenosząc stare dane do magazynu Archiwum. Zaczynają ściślej współpracować z dostawcą usług w chmurze, aby dobrze wykorzystać swoje usługi konsultingowe.
  • Zespół dodaje zadanie cykliczne do listy prac w celu przeprowadzania ocen kosztów obciążeń w przyszłości.

Ciągłe przeglądanie i uściślinie obciążenia

Stale dostosowuje decyzje projektowe architektury, zasoby, kod i przepływy pracy na podstawie danych zwrotu z inwestycji.

Regularne przeglądy metryk, danych wydajności, raportów rozliczeniowych i użycia funkcji mogą prowadzić do precyzyjnego dostrajania, które mogą obniżyć koszty.

Wyzwanie firmy Contoso

  • Ponieważ zespół pozostał w budżecie historycznie, nie przyjrzeli się alternatywnym podejściom do istniejących funkcji. Zamiast tego większość ich planowania koncentruje się na tworzeniu nowych funkcji.
  • Po znalezieniu strat poprzez początkową ocenę decydują się przyjrzeć resztie bieżących składników, aby szukać możliwości optymalizacji.

Stosowanie podejścia i wyników

  • Zespół stwierdza, że przydzielił więcej zasobów niż jest to konieczne do przepływów o niskim priorytcie i może bezpiecznie skalować przydzieloną przepływność przy zachowaniu wymagań dotyczących wydajności. W szczególności mogą odejść od nadmiernej aprowizacji w celu obsługi szczytowych obciążeń i zaimplementowania systemu bilansowania obciążenia opartego na kolejce.
  • Uważają również, że nowa funkcja została dodana do wybranej jednostki SKU na platformie obliczeniowej, która zastępuje kod uwierzytelniania. Użycie tej funkcji oznacza mniej kodu do konserwacji i testowania.

Optymalizowanie środowisk wdrażania

Traktuj różne środowiska SDLC i wdrażaj odpowiednią liczbę środowisk. Środowiska produkcyjne powinny być głównym czynnikiem kosztu.

Możesz zaoszczędzić pieniądze, rozumiejąc, że nie wszystkie środowiska muszą symulować środowisko produkcyjne. Środowiska nieprodukcyjne mogą mieć różne funkcje, jednostki SKU, liczby wystąpień, a nawet rejestrowanie.

Możesz również zaoszczędzić koszty, tworząc środowiska przedprodukcyjne na żądanie i usuwając je, gdy nie są już potrzebne.

Wyzwanie firmy Contoso

  • Zespół ds. obciążeń wydaje więcej na środowiska przedprodukcyjne niż w środowiskach produkcyjnych. Chociaż może to być ważne w niektórych scenariuszach, wydaje się nadmierne dla tego obciążenia.
  • Środowiska przedprodukcyjne zostały skompilowane w celu dopasowania środowiska produkcyjnego do bardzo ścisłego dopasowania. Zespół obciążeń docenia bardzo bliskie przybliżenie środowiska produkcyjnego w niższych środowiskach, ponieważ zapewnia im wysoki stopień pewności, że zachowania w środowisku produkcyjnym będą zgodne z niższymi środowiskami.

Stosowanie podejścia i wyników

  • Po starannej ocenie zespół decyduje, że może zaakceptować kompromis nieco dodatkowego ryzyka, aby zrealizować oszczędności kosztów, które wiążą się z pewną dysproporcją między środowiskami.
  • Zespół decyduje się przenieść kilka środowisk testowych do tej samej infrastruktury i zamknąć nieużywane środowiska z dnia na dzień.
  • Zespół znajduje również możliwości zmiany w lewo i wykonywania programowania w pętli wewnętrznej i testowania na lokalnych stacjach roboczych deweloperów.
  • Wyszukując sposoby tworzenia małych kompromisów w środowiskach przedprodukcyjnych i praktykach programistycznych, zwolnili budżet, który pozwoli im na dobre wykorzystanie w wysiłkach automatyzacji.

Sprawdź swoją wiedzę

1.

Jakie typy kosztów platformy Azure mogą pojawić się w systemie śledzenia kosztów, który można potencjalnie zoptymalizować?

2.

Które z poniższych aspektów obciążenia nie należy rozważyć udoskonalenia zgodnie z danymi zwrotu z inwestycji?

3.

Deweloperzy firmy Contoso Air rozważają wdrożenie nowego środowiska tworzenia i testowania na platformie Azure. Które z następujących decyzji projektowych byłyby najbardziej ekonomiczne?