Projektowanie pod kątem optymalizacji szybkości
- 12 min
|
|
|---|
Nie zawsze trzeba przeprojektować ani renegocjować, aby zaoszczędzić pieniądze. Czasami możesz lepiej wykorzystać to, co już masz. Jeśli nie optymalizujesz istniejących zasobów i operacji, możesz marnować pieniądze bez wyświetlania żadnych rzeczywistych korzyści.
Przykładowy scenariusz
Zespół analizy biznesowej (BI) firmy Contoso hostuje zestaw interfejsów API GraphQL, dzięki czemu różne działy mogą uzyskiwać dostęp do danych bez bezpośredniego dotykania baz danych. Z biegiem czasu dodali przechowywanie wersji, a teraz uruchamiają wszystkie elementy za pośrednictwem pojedynczej bramy usługi Azure API Management w warstwie Zużycie.
Trzy klastry usługi Azure Kubernetes Service (AKS) znajdują się za wystąpieniami usługi API Management:
Jeden z nich uruchamia pulę węzłów systemu Windows dla interfejsów API napisanych na platformie .NET 4.5.
Jeden klaster systemu Linux dla interfejsów API napisanych w środowisku Java Spring.
Jeden z nich uruchamia pulę węzłów systemu Windows dla interfejsów API napisanych na platformie .NET Core w systemie Linux. Odziedziczyli ten klaster od poprzedniego zespołu.
Te klastry są używane tylko dla interfejsów API i są teraz zarządzane przez zespół analizy biznesowej. Nie jest to najczystsza konfiguracja, ale działa, więc zostawili ją samodzielnie.
Zespół analizy biznesowej jest centrum kosztów w firmie, więc szuka sposobów optymalizacji stawek w celu obniżania kosztów operacyjnych.
Łączenie infrastruktury, w której ma sens
Spróbuj uruchomić elementy w tym samym miejscu, niezależnie od tego, czy są to zasoby, obciążenia, czy zespoły. Korzystanie z usług, które ułatwiają spakowanie większej ilości miejsca. Rozważ wszelkie kompromisy, szczególnie w przypadku bezpieczeństwa.
Gdy pakujesz więcej narzędzi do mniejszej liczby systemów, używasz mniej sprzętu i mniej poświęcasz na zarządzanie nim wszystkim. Oznacza to niższe koszty i mniejszą złożoność.
Wyzwanie firmy Contoso
Zespół firmy Contoso podążał za architekturą punktu odniesienia usługi Microsoft AKS. Uruchamiają trzy klastry, z których każdy ma trzy węzły systemowe, więc łącznie dziewięć węzłów.
Stosują poprawki i aktualizacje do wszystkich klastrów trzy razy w każdym miesiącu.
Stosowanie podejścia i wyników
Po zakończeniu testowania zespół decyduje się połączyć wszystkie interfejsy API w jeden klaster z trzema pulami węzłów użytkownika przy jednoczesnym osiągnięciu tej samej wydajności i właściwości systemu operacyjnego swojego oryginalnego klastra.
Konsolidują również do czterech węzłów dla puli węzłów systemowych, co pozwala zaoszczędzić koszty pięciu maszyn wirtualnych.
Teraz mają tylko jeden klaster do stosowania poprawek i aktualizacji, co pozwala zaoszczędzić jeszcze więcej czasu.
Następnie przyglądają się scalaniu dwóch pul węzłów systemu Linux w jeden, aby jeszcze prostsze.
Korzystanie z rezerwacji i innych rabatów na infrastrukturę
Zoptymalizuj, zatwierdzając i przedkupując, aby skorzystać z rabatów oferowanych w przypadku typów zasobów, które nie powinny ulec zmianie w czasie i dla których koszty i wykorzystanie są przewidywalne. Ponadto skontaktuj się z zespołem ds. licencjonowania, aby wpłynąć na przyszłe programy i odnowienia umowy zakupu.
Firma Microsoft oferuje obniżone stawki dla przewidywalnego i długoterminowego zobowiązania do określonych zasobów i kategorii zasobów. Zasoby kosztują mniej w okresie użycia i mogą być amortyzowane w danym okresie.
Zachowując świadomość bieżącej i przewidywanej inwestycji według zasobów przez zespół ds. licencjonowania, możesz pomóc im w odpowiednim rozmiarze zobowiązań, gdy organizacja podpisze umowę. W niektórych przypadkach te prognozy i zobowiązania mogą mieć wpływ na arkusz cen organizacji, który przynosi korzyści kosztowi obciążenia, a także innym zespołom korzystającym z tej samej technologii.
Wyzwanie firmy Contoso
Teraz, gdy zespół skonsolidował się w jednym klastrze, usuwając niektóre z nadmiarowych obciążeń obliczeniowych i operacyjnych, które wcześniej wchłonęły, są zainteresowani znalezieniem dodatkowych środków w celu obniżenia kosztów klastra.
Ponieważ zespół analizy biznesowej jest zadowolony z platformy AKS, planuje nadal korzystać z niej w najbliższej przyszłości i prawdopodobnie nawet zwiększy swoje użycie.
Stosowanie podejścia i wyników
Ponieważ usługa AKS jest oparta na zestawach skalowania maszyn wirtualnych platformy Azure, zespół analizuje rezerwacje platformy Azure. Znają oczekiwane jednostki SKU i jednostki skalowania potrzebne dla węzłów użytkownika.
Kupują trzyletnią rezerwację obejmującą pulę węzłów systemowych i minimalną liczbę wystąpień węzłów na pulę węzłów użytkownika.
Dzięki temu zakupowi zespół wie, że otrzymuje najlepszą ofertę na temat swoich potrzeb obliczeniowych, umożliwiając jednocześnie wzrost obciążenia w czasie.
Korzystanie z rozliczeń o stałej cenie, gdy jest to praktyczne
Przełącz się do rozliczeń o stałej cenie zamiast rozliczeń opartych na użyciu dla zasobu, gdy jego wykorzystanie jest wysokie i przewidywalne, a porównywalna jednostka SKU lub opcja rozliczeń jest dostępna.
Gdy wykorzystanie jest wysokie i przewidywalne, model stałej ceny zwykle kosztuje mniej i często obsługuje więcej funkcji. Użycie go może zwiększyć zwrot z inwestycji.
Wyzwanie firmy Contoso
- Wystąpienia usługi API Management są obecnie wdrażane jako jednostki SKU warstwy Zużycie. Po ocenie wzorców użycia interfejsów API rozumieją, że interfejsy API są używane globalnie, a czasami dość mocno. Zespół decyduje się przeanalizować różnice kosztów między bieżącym modelem rozliczeń a modelem stałej ceny.
Stosowanie podejścia i wyników
Po przeprowadzeniu analizy kosztów zespół stwierdza, że migracja z warstwy Zużycie do warstwy Standardowa będzie nieco tańsza, biorąc pod uwagę bieżące wzorce użycia. W miarę wzrostu usług w ciągu następnego roku różnice kosztów prawdopodobnie staną się bardziej wyraźne. Mimo że model stałych cen nie odzwierciedla cech elastyczności żądań, czasami modele rozliczeń wstępnie odkupionych są właściwym wyborem.
W ramach dodatkowej premii użycie warstwy Standardowa umożliwia korzystanie z prywatnego punktu końcowego dla połączeń przychodzących, które zespół chętnie zaimplementował dla obciążenia.
W takim przypadku przełączenie jednostek SKU ma sens zarówno w celach wykorzystania, jak i w celu zwiększenia korzyści z dodatkowej segmentacji sieci, która jest możliwa przy użyciu implementacji prywatnego punktu końcowego.