Tworzenie obciążeń na maszynach wirtualnych typu spot

Azure Virtual Machines

W tym artykule opisano najlepsze rozwiązania dotyczące tworzenia maszyn wirtualnych typu spot platformy Azure. Zawiera on przykładowy scenariusz z możliwością wdrożenia. Maszyny wirtualne typu spot zapewniają dostęp do pojemności obliczeniowej przy niższych cenach niż zwykłe maszyny wirtualne. Ta zniżka sprawia, że są one dobrym rozwiązaniem dla organizacji, które chcą zoptymalizować koszty. Ale oszczędności pochodzą z kompromisu. Maszyny wirtualne typu spot można eksmitować w dowolnym momencie, co oznacza, że tracą dostęp do zasobów obliczeniowych. Obciążenia uruchamiane na maszynach wirtualnych typu spot muszą być w stanie obsłużyć te przerwy w obliczeniach. Odpowiednie obciążenie i elastyczny mechanizm aranżacji są kluczami do sukcesu. W poniższych zaleceniach opisano sposób kompilowania maszyn wirtualnych typu spot.

Informacje o maszynach wirtualnych typu spot

Na poziomie technicznym maszyny wirtualne typu spot są takie same jak zwykłe maszyny wirtualne. Używają tych samych obrazów, sprzętu i dysków, które przekładają się na tę samą wydajność. Kluczową różnicą między maszynami wirtualnymi typu spot a zwykłymi maszynami wirtualnymi jest ich priorytet i dostępność. Maszyny wirtualne typu spot nie mają priorytetu dostępu do pojemności obliczeniowej i nie mają gwarancji dostępności po dokonaniu dostępu do tej pojemności obliczeniowej.

  • Brak dostępu priorytetowego. Zwykłe maszyny wirtualne mają priorytetowy dostęp do pojemności obliczeniowej. Uzyskują dostęp do pojemności obliczeniowej podczas ich żądania. Jednak maszyny wirtualne typu spot są wdrażane tylko wtedy, gdy jest oszczędzona pojemność obliczeniowa. Nadal działają tylko wtedy, gdy zwykła maszyna wirtualna nie potrzebuje bazowego sprzętu.

  • Brak gwarancji dostępności. Maszyny wirtualne typu spot nie mają żadnych gwarancji dostępności ani umów dotyczących poziomu usług (SLA). Maszyny wirtualne typu spot mogą natychmiast utracić dostęp do pojemności obliczeniowej lub w dowolnym momencie po wdrożeniu lub eksmisji. Maszyny wirtualne typu spot są tańsze, ponieważ można je eksmitować. Gdy platforma Azure potrzebuje pojemności obliczeniowej z powrotem, zostanie wysłane powiadomienie o eksmisji i eksmituje maszynę wirtualną typu spot. Platforma Azure udostępnia co najmniej 30-sekundowe powiadomienie z wyprzedzeniem przed rzeczywistym eksmisji. Aby uzyskać więcej informacji, zobacz Ciągłe monitorowanie eksmisji.

Informacje o cenach maszyn wirtualnych typu spot

Maszyny wirtualne typu spot mogą być do 90% tańsze niż zwykłe maszyny wirtualne z płatnością zgodnie z rzeczywistym użyciem. Rabat zależy od zapotrzebowania, rozmiaru maszyny wirtualnej, regionu wdrożenia i systemu operacyjnego. Aby uzyskać oszacowanie oszczędności kosztów, zobacz narzędzie cenowe maszyn wirtualnych typu spot platformy Azure i cennika maszyn wirtualnych typu spot — omówienie. Możesz również wykonać zapytanie interfejsu API cen detalicznych platformy Azure, aby programowo uzyskać ceny typu spot dla dowolnej jednostki SKU.

Omówienie przerywanych obciążeń

Maszyny wirtualne typu spot idealnie nadają się do przerywania obciążeń, które mają kilka typowych cech. Obciążenia przerywane mają minimalne ograniczenia czasowe, niski priorytet organizacji i krótki czas przetwarzania. Uruchamiają procesy, które mogą przestać nagle i wznawiać później bez szkody dla podstawowych procesów organizacyjnych. Przykłady przerywanych obciążeń to aplikacje przetwarzania wsadowego, analiza danych i obciążenia, które tworzą agenta ciągłej integracji i ciągłego wdrażania dla środowiska nieprodukcyjnego. Te funkcje są porównywane z regularnymi lub krytycznymi obciążeniami, które mają umowy SLA, sesje lepkie i dane stanowe.

Maszyny wirtualne typu spot można używać w obciążeniach bez przerywania, ale nie powinny być jedynym źródłem pojemności obliczeniowej. Użyj jak największej liczby zwykłych maszyn wirtualnych, aby spełnić wymagania dotyczące czasu pracy.

Omówienie eksmisji

Maszyny wirtualne typu spot nie mają umów SLA po utworzeniu i mogą utracić dostęp do obliczeń w dowolnym momencie. Nazywamy to utratą zasobów obliczeniowych eksmisji. Eksmisje podaży obliczeniowej i zapotrzebowania. Gdy zapotrzebowanie na określony rozmiar maszyny wirtualnej przekroczy określony poziom, eksmituje maszyny wirtualne typu spot platformy Azure, aby udostępnić obliczenia zwykłym maszynom wirtualnym. Zapotrzebowanie jest specyficzne dla lokalizacji. Na przykład wzrost zapotrzebowania w regionie A nie wpływa na maszyny wirtualne typu spot w regionie B.

Maszyny wirtualne typu spot mają dwie opcje konfiguracji, które mają wpływ na eksmisji. Te konfiguracje to typ eksmisji i zasady eksmisji maszyny wirtualnej typu spot. Te konfiguracje są ustawiane podczas tworzenia maszyny wirtualnej typu spot. Typ eksmisji definiuje warunki eksmisji. Zasady eksmisji określają, co robi eksmisji na maszynie wirtualnej typu spot.

Typ eksmisji

Zmiany pojemności lub zmiany cen powodują eksmisji. Sposób zmiany pojemności i ceny wpływają na maszyny wirtualne typu spot zależą od typu eksmisji wybranego podczas tworzenia maszyny wirtualnej. Typ eksmisji definiuje warunki eksmisji. Typy eksmisji to eksmisji tylko do pojemności i cena lub eksmisja pojemności.

  • eksmisji tylko do pojemności: Ten typ eksmisji wyzwala eksmisję, gdy nadmiarowa pojemność obliczeniowa nie jest już dostępna. Domyślnie cena jest ograniczona do stawki płatności zgodnie z rzeczywistym użyciem. Użyj tego typu eksmisji, jeśli nie chcesz płacić więcej niż cena maszyny wirtualnej z płatnością zgodnie z rzeczywistym użyciem.

  • cena lub eksmisja pojemności: Ten typ eksmisji ma dwa wyzwalacze. Platforma Azure eksmituje maszynę wirtualną typu spot, gdy nadwyżka pojemności obliczeniowej nie jest już dostępna lub koszt maszyny wirtualnej przekracza ustawioną maksymalną cenę. Ten typ eksmisji umożliwia ustawienie maksymalnej ceny znacznie poniżej ceny płatności zgodnie z rzeczywistym użyciem. Użyj tego typu eksmisji, aby ustawić własny limit cen.

Zasady eksmisji

Zasady eksmisji wybrane dla maszyny wirtualnej typu spot wpływają na jego aranżację. Orkiestracja to proces obsługi eksmisji i omówiony w dalszej części tego artykułu. Zasady eksmisji to zasady Zatrzymanie/Cofnięcie przydziału i Usuń zasady.

zasady zatrzymywania/cofania przydziału: Zasady zatrzymywania/cofania przydziału są idealne, gdy obciążenie może czekać na pojemność wydania w ramach tej samej lokalizacji i typu maszyny wirtualnej. Zasady Zatrzymywanie/cofanie przydziału zatrzymuje maszynę wirtualną i kończy dzierżawę z bazowym sprzętem. Zatrzymywanie i cofanie przydziału maszyny wirtualnej typu spot jest takie samo jak zatrzymywanie i cofanie przydziału zwykłej maszyny wirtualnej. Maszyna wirtualna pozostaje dostępna na platformie Azure i możesz uruchomić ponownie tę samą maszynę wirtualną później. Maszyna wirtualna traci pojemność obliczeniową i niestatyczne adresy IP z zasadami Zatrzymywanie/cofanie przydziału. Jednak dyski danych maszyny wirtualnej pozostają i nadal będą naliczane opłaty. Maszyna wirtualna zajmuje również rdzenie w subskrypcji. Maszyny wirtualne nie mogą być przenoszone z ich regionu lub strefy nawet wtedy, gdy zostaną zatrzymane lub cofnięto przydział. Aby uzyskać więcej informacji, zobacz Stany zasilania i rozliczenia.

Usuń zasady: Użyj zasad usuwania, jeśli obciążenie może zmienić lokalizację lub rozmiar maszyny wirtualnej. Zmiana lokalizacji lub rozmiaru maszyny wirtualnej umożliwia szybsze wdrażanie maszyny wirtualnej. Zasady Usuwania usuwają maszynę wirtualną i dowolny dysk danych. Maszyna wirtualna nie zajmuje rdzeni w subskrypcjach. Aby uzyskać więcej informacji, zobacz zasady eksmisji.

Projektowanie pod kątem elastycznej aranżacji

Orkiestracja to proces zastępowania maszyny wirtualnej typu spot po eksmisji. Jest to podstawa do tworzenia niezawodnego, przerywanego obciążenia. Dobry system aranżacji ma wbudowaną elastyczność. Elastyczność oznacza projektowanie aranżacji w celu posiadania opcji, używania wielu rozmiarów maszyn wirtualnych, wdrażania w różnych regionach, rozpoznawania eksmisji i uwzględniania różnych scenariuszy eksmisji w celu zwiększenia niezawodności i szybkości obciążeń.

Projektowanie pod kątem szybkości

W przypadku obciążenia, które działa na maszynach wirtualnych typu spot, wydajność obliczeniowa ma kluczowe znaczenie. Ze względu na potencjał eksmisji upewnij się, że rozumiesz przydzielony czas obliczeniowy, dzięki czemu możesz podejmować świadome decyzje projektowe, które priorytetują szybkość obciążenia. Ogólnie rzecz biorąc, należy zoptymalizować czas obliczeniowy, który masz. Skompiluj obraz maszyny wirtualnej ze wszystkimi wymaganymi wstępnie zainstalowanymi oprogramowaniem. Wstępnie zainstalowane oprogramowanie pomaga zminimalizować czas między eksmisją a w pełni działającą aplikacją. Unikaj używania czasu obliczeniowego w procesach, które nie przyczyniają się do celu obciążenia. Na przykład obciążenie analizy danych powinno skupić się na większości czasu obliczeniowego na przetwarzaniu danych i jak najkrótszym czasie zbierania metadanych eksmisji. Wyeliminuj procesy bezskuteczności z aplikacji.

Używanie wielu rozmiarów i lokalizacji maszyn wirtualnych

Aby zwiększyć elastyczność, utwórz aranżację, aby używać wielu typów i rozmiarów maszyn wirtualnych. Celem jest przekazanie opcji aranżacji w celu zastąpienia eksmitowanej maszyny wirtualnej. Platforma Azure ma różne typy i rozmiary maszyn wirtualnych, które zapewniają podobne możliwości dla około tej samej ceny. Filtruj minimalną liczbę procesorów wirtualnych lub rdzeni, minimalną ilość pamięci RAM dla maszyn wirtualnych i maksymalną cenę. Ten proces pomaga znaleźć wiele maszyn wirtualnych, które mieszczą się w budżecie i mają wystarczającą moc do uruchomienia obciążenia.

Każdy typ maszyny wirtualnej ma współczynnik eksmisji wyrażony jako zakres procentowy, taki jak 0%-5%, 5%-10%, 10%-15%, 15%-20%lub 20+%. Stawki eksmisji mogą się różnić w różnych regionach. Możesz znaleźć lepszą częstotliwość eksmisji dla tego samego typu maszyny wirtualnej w innym regionie. Stawki eksmisji dla każdego typu maszyny wirtualnej można znaleźć w portalu na karcie Podstawy. Obok Rozmiarwybierz pozycję Wyświetl historię cen lub Zobacz wszystkie rozmiary. Dane maszyn wirtualnych typu spot można również uzyskać programowo przy użyciu usługi Azure Resource Graph.

W systemie aranżacji rozważ użycie funkcji oceny umieszczania typu spot, aby ocenić prawdopodobieństwo powodzenia poszczególnych wdrożeń typu spot.

Aby uzyskać więcej informacji, zobacz następujące zasoby:

Korzystanie z najbardziej elastycznych zasad eksmisji

Zasady eksmisji eksmitowanej maszyny wirtualnej typu spot wpływają na proces wymiany. Na przykład zasady usuwania są bardziej elastyczne niż zasady zatrzymywania/cofania przydziału.

  • Najpierw rozważ usunięcie zasad: Użyj zasad usuwania, jeśli obciążenie może je obsłużyć. Usunięcie umożliwia orkiestrację wdrażania zastępczych maszyn wirtualnych typu spot w nowych strefach i regionach. Ta elastyczność wdrażania może pomóc w szybszym znalezieniu zapasowej pojemności obliczeniowej niż zatrzymana lub cofnięto przydział maszyny wirtualnej. Zatrzymane lub cofnięto przydział maszyn wirtualnych muszą czekać na oszczędzonej pojemności obliczeniowej w tej samej strefie, w której zostały utworzone. W przypadku zasad Usuwania potrzebny jest proces zewnętrzny do monitorowania eksmisji i organizowania wdrożeń w różnych regionach, używania różnych jednostek SKU maszyn wirtualnych lub obu tych elementów.

  • Zrozumienie zasad Zatrzymywanie/cofanie przydziału: Zasady zatrzymywania/cofania przydziału mają mniejszą elastyczność niż zasady Usuwania. Maszyny wirtualne typu spot muszą pozostać w tym samym regionie i strefie. Nie można przenieść zatrzymanej lub cofniętych przydziałów maszyny wirtualnej do innej lokalizacji. Ponieważ maszyny wirtualne mają stałą lokalizację, potrzebujesz czegoś w miejscu, aby ponownie przydzielić maszynę wirtualną, gdy pojemność obliczeniowa stanie się dostępna. Nie ma możliwości przewidywania dostępności pojemności obliczeniowej. Dlatego należy użyć zautomatyzowanego potoku harmonogramu do podjęcia próby ponownego wdrożenia po eksmisji. Eksmisja powinna wyzwolić potok harmonogramu, a próby ponownego wdrożenia powinny stale sprawdzać wydajność obliczeniową, dopóki nie stanie się ona dostępna.

Polityka Kiedy należy używać zasad
Usuwanie zasad - Efemeryczne obliczenia i dane

— Nie chcesz płacić za dyski danych

- Minimalny budżet
Zasady zatrzymywania/cofania przydziału — Wymaga określonego rozmiaru maszyny wirtualnej

- Nie można zmienić lokalizacji

— Długi proces instalacji aplikacji

- Czas oczekiwania na czas nieokreślony

- Nie napędzane tylko oszczędnościami kosztów

Ciągłe monitorowanie eksmisji

Monitorowanie jest kluczem do niezawodności obciążeń na maszynach wirtualnych typu spot. Maszyny wirtualne typu spot nie mają umowy SLA po utworzeniu i można je wykluczyć w dowolnym momencie. Najlepszym sposobem na zwiększenie niezawodności obciążeń na maszynach wirtualnych na miejscu jest przewidywanie, kiedy zostaną one wykluczone. Jeśli masz te informacje, możesz spróbować bezpiecznie zamknąć obciążenie i wyzwolić automatyzację, aby zorganizować zastąpienie.

  • użyj zaplanowanych zdarzeń: użyj usługi Zaplanowane zdarzenia dla każdej maszyny wirtualnej. Platforma Azure wysyła sygnały do maszyn wirtualnych, gdy konserwacja infrastruktury wpłynie na nie. Eksmisje kwalifikują się do konserwacji infrastruktury. Platforma Azure wysyła sygnał Preempt do wszystkich maszyn wirtualnych co najmniej 30 sekund, zanim zostaną wykluczone. Usługa Zaplanowane zdarzenia umożliwia przechwycenie tego sygnału Preempt przez wysłanie zapytania do punktu końcowego na statycznym, niezwiązanym adresie IP 169.254.169.254.

  • Użyj częstych zapytań: Wykonywanie zapytań dotyczących punktu końcowego Zaplanowanych zdarzeń często wystarczy, aby zorganizować bezproblemowe zamknięcie. Możesz wykonywać zapytania dotyczące punktu końcowego Zaplanowane zdarzenia maksymalnie co sekundę, ale w przypadku wszystkich przypadków użycia może nie być wymagana jedna sekunda. Te zapytania muszą pochodzić z aplikacji uruchamianej na maszynie wirtualnej typu spot. Kwerenda nie może pochodzić ze źródła zewnętrznego. W związku z tym zapytania zużywają pojemność obliczeniową maszyny wirtualnej i kradną moc obliczeniową z głównego obciążenia. Musisz zrównoważyć te konkurencyjne priorytety, aby spełnić twoją określoną sytuację.

  • Automate orchestration: Po zebraniu sygnału Preempt aranżacja powinna działać na tym sygnałie. Biorąc pod uwagę ograniczenia czasowe, sygnał Preempt powinien podjąć próbę bezpiecznego zamknięcia obciążenia i uruchomić zautomatyzowany proces, który zastępuje maszynę wirtualną typu spot. Aby uzyskać więcej informacji, zobacz następujące zasoby:

Tworzenie systemu wdrażania

Orkiestracja wymaga zautomatyzowanego potoku w celu wdrożenia nowych maszyn wirtualnych typu spot po eksmisji. Potok powinien działać poza przerywanym obciążeniem, aby zapewnić trwałość. Potok wdrażania powinien działać zgodnie z zasadami eksmisji wybranymi dla maszyn wirtualnych typu spot.

W przypadku zasad usuwania zalecamy utworzenie potoku, który używa różnych rozmiarów maszyn wirtualnych i wdrożeń w różnych regionach. W przypadku zasad Zatrzymywanie/Cofanie przydziału potok wdrażania wymaga dwóch odrębnych akcji. W przypadku początkowego utworzenia maszyny wirtualnej potok musi wdrożyć odpowiednie maszyny wirtualne o odpowiednim rozmiarze w odpowiedniej lokalizacji. W przypadku eksmitowanej maszyny wirtualnej potok musi spróbować ponownie uruchomić maszynę wirtualną, dopóki nie będzie działać. Połączenie alertów usługi Azure Monitor i funkcji platformy Azure to jeden ze sposobów automatyzowania systemu wdrażania. Potok może używać szablonów bicep. Są deklaratywne i idempotentne i reprezentują najlepsze rozwiązanie w zakresie wdrażania infrastruktury.

Przygotowanie do natychmiastowego eksmisji

Platforma Azure może eksmitować maszynę wirtualną typu spot zaraz po jej utworzeniu i przed uruchomieniem obciążenia. W niektórych przypadkach może być wystarczająca pojemność, aby utworzyć maszynę wirtualną typu spot, ale nie będzie ona trwała. Maszyny wirtualne typu spot nie mają gwarancji dostępności ani umów SLA po utworzeniu. Aranżacja musi uwzględniać natychmiastowe eksmisje. Sygnał Preempt zapewnia co najmniej 30-sekundowe powiadomienie o eksmisji.

Uwzględnij kontrole kondycji maszyny wirtualnej w aranżacji, aby przygotować się do natychmiastowych eksmisji. Orkiestracja natychmiastowych eksmisji nie może zależeć od sygnału Zaplanowane zdarzenia Preempt. Tylko sama maszyna wirtualna może wysyłać zapytania dotyczące sygnału Preempt i nie ma wystarczająco dużo czasu, aby uruchomić aplikację, wysłać zapytanie do punktu końcowego Zaplanowane zdarzenia i bezpiecznie zamknąć. Dlatego sprawdzanie kondycji musi znajdować się poza środowiskiem obciążenia. Testy kondycji muszą monitorować stan maszyny wirtualnej typu spot i uruchomić potok wdrażania, aby zastąpić maszynę wirtualną typu spot, gdy stan zmieni się na cofnięcie przydziału lub zatrzymanie.

Planowanie wielu równoczesnych eksmisji

Jeśli uruchamiasz klaster maszyn wirtualnych typu spot, utwórz architekturę obciążenia, aby wytrzymać wiele równoczesnych eksmisji. W tym samym czasie można eksmitować wiele maszyn wirtualnych typu spot w obciążeniu. Jednoczesne eksmisja wielu maszyn wirtualnych może mieć wpływ na przepływność aplikacji. Aby zapobiec takiej sytuacji, potok wdrażania powinien mieć możliwość zbierania sygnałów z wielu maszyn wirtualnych i wdrażania wielu zastępczych maszyn wirtualnych jednocześnie.

Projektowanie pod kątem bezproblemowego zamknięcia

Proces zamykania maszyny wirtualnej powinien być krótszy niż 30 sekund i umożliwić maszynie wirtualnej zamknięcie przed eksmisji. Czas zamknięcia zależy od tego, jak często obciążenie wysyła zapytanie do punktu końcowego Zaplanowane zdarzenia. Tym częściej wysyłasz zapytanie do punktu końcowego, tym dłużej proces zamykania może potrwać. Proces zamykania powinien zwalniać zasoby, opróżniać połączenia i opróżniać dzienniki zdarzeń. Należy regularnie tworzyć i zapisywać punkty kontrolne, aby zachować kontekst i utworzyć bardziej wydajną strategię odzyskiwania. Punkt kontrolny to tylko informacje na temat procesów lub transakcji, od których musi rozpocząć się następna maszyna wirtualna. Powinny one wskazywać, czy maszyna wirtualna powinna wznowić działanie, w którym została przerwana poprzednia maszyna wirtualna, czy nowa maszyna wirtualna powinna przywrócić zmiany i ponownie uruchomić cały proces. Przechowuj punkty kontrolne poza środowiskiem maszyny wirtualnej typu spot, na przykład na koncie magazynu.

Testowanie aranżacji

Symulowanie zdarzeń eksmisji w celu przetestowania aranżacji w środowiskach deweloperskich/testowych. Aby uzyskać więcej informacji, zobacz Simulate eviction.

Projektowanie obciążenia idempotentnego

Zalecamy zaprojektowanie obciążenia idempotentnego. Wynik przetwarzania zdarzenia więcej niż jeden raz powinien być taki sam jak przetwarzanie go raz. Eksmisje mogą spowodować wymuszone zamknięcia, pomimo wysiłków w celu zapewnienia bezproblemowego zamknięcia. Wymuszone zamknięcia mogą zakończyć procesy przed zakończeniem. Obciążenia idempotentne mogą odbierać ten sam komunikat więcej niż jeden raz bez zmiany wyniku. Aby uzyskać więcej informacji, zobacz idempotency.

Używanie okresu rozgrzewania aplikacji

Większość przerywanych obciążeń uruchamia aplikacje. Aplikacje wymagają czasu na zainstalowanie i uruchomienie. Potrzebują również czasu na nawiązanie połączenia z magazynem zewnętrznym i zebranie informacji z punktów kontrolnych. Przed rozpoczęciem przetwarzania aplikacji należy uruchomić okres rozgrzewania aplikacji. W okresie rozgrzewki aplikacja powinna zostać uruchomiona, nawiązać połączenia i przygotować się do współtworzenia. Zezwalaj aplikacji tylko na rozpoczęcie przetwarzania danych po zweryfikowaniu kondycji aplikacji.

Diagram cyklu życia obciążenia z okresem rozgrzewania aplikacji.

Konfigurowanie tożsamości zarządzanych przypisanych przez użytkownika

Przypisz tożsamości zarządzane przypisane przez użytkownika, aby usprawnić proces uwierzytelniania i autoryzacji. Tożsamości zarządzane przypisane przez użytkownika pozwalają uniknąć umieszczania poświadczeń w kodzie i nie są powiązane z jednym zasobem, takimi jak tożsamości zarządzane przypisane przez system. Tożsamości zarządzane przypisane przez użytkownika zawierają uprawnienia i tokeny dostępu z identyfikatora Entra firmy Microsoft, które mogą być ponownie używane i przypisywane do maszyn wirtualnych typu spot podczas orkiestracji. Spójność tokenów między maszynami wirtualnymi typu spot ułatwia orkiestrację i upraszcza dostęp do zasobów obciążeń, które mają maszyny wirtualne typu spot.

Jeśli używasz tożsamości zarządzanych przypisanych przez system, nowa maszyna wirtualna typu spot może uzyskać inny token dostępu od identyfikatora Entra firmy Microsoft. Jeśli musisz używać tożsamości zarządzanych przypisanych przez system, upewnij się, że obciążenia są odporne na 403 Forbidden Error odpowiedzi. Orkiestracja musi pobierać tokeny z identyfikatora Entra firmy Microsoft z odpowiednimi uprawnieniami. Aby uzyskać więcej informacji, zobacz Tożsamości zarządzane.

Przykładowy scenariusz

Przykładowy scenariusz wdraża aplikację przetwarzania kolejek, która kwalifikuje się jako przerywane obciążenie. Skrypty w scenariuszu służą jako przykłady. Scenariusz przeprowadzi Cię przez jednorazowe, ręczne wypychanie do wdrożenia zasobów. Ta implementacja nie ma potoku wdrażania. Jednak potok wdrażania jest niezbędny do zautomatyzowania procesu organizowania. Na poniższym diagramie przedstawiono architekturę przykładowego scenariusza.

Diagram przedstawiający przykład architekturę scenariusza.

Pobierz plik programu Visio tej architektury.

Poniższy przepływ pracy odpowiada poprzedniemu diagramowi:

  1. definicja aplikacji maszyny wirtualnej: Definicja aplikacji maszyny wirtualnej jest tworzona w galerii obliczeń platformy Azure. Definiuje ona nazwę aplikacji, lokalizację, system operacyjny i metadane. Wersja aplikacji jest wersją numerowaną definicji aplikacji maszyny wirtualnej. Wersja aplikacji reprezentuje aplikację maszyny wirtualnej. Musi znajdować się w tym samym regionie co maszyna wirtualna typu spot. Wersja aplikacji łączy się z pakietem aplikacji źródłowej na koncie magazynu.

  2. Konto magazynu: Konto magazynu przechowuje pakiet aplikacji źródłowej. W tej architekturze jest to skompresowany plik tar o nazwie worker-0.1.0.tar.gz. Zawiera dwa pliki. Jednym z plików jest skrypt powłoki bash orchestrate.sh, który instaluje aplikację procesu roboczego platformy .NET.

  3. maszyny wirtualnej typu spot: wdrażana jest maszyna wirtualna typu spot. Musi znajdować się w tym samym regionie co wersja aplikacji. Pobiera worker-0.1.0.tar.gz do maszyny wirtualnej po wdrożeniu. Szablon bicep wdraża obraz z systemem Ubuntu na standardowej maszynie wirtualnej rodziny. Te konfiguracje spełniają potrzeby tej aplikacji i nie są ogólnymi zaleceniami dotyczącymi aplikacji.

  4. Kolejka usługi Storage: Druga usługa uruchomiona w ramach procesu roboczego platformy .NET zawiera logikę kolejki komunikatów. Identyfikator entra firmy Microsoft przyznaje maszynie wirtualnej typu spot dostęp do kolejki magazynu w usłudze Azure Queue Storage z tożsamością przypisaną przez użytkownika przy użyciu kontroli dostępu opartej na rolach.

  5. aplikacja procesu roboczego platformy .NET: Skrypt orchestrate.sh instaluje aplikację procesu roboczego platformy .NET, która uruchamia dwie usługi w tle. Pierwsza usługa wysyła zapytanie do punktu końcowego Zaplanowane zdarzenia, szuka sygnału Preempt i wysyła ten sygnał do drugiej usługi. Druga usługa przetwarza komunikaty z kolejki magazynu i nasłuchuje sygnału Preempt z pierwszej usługi. Gdy druga usługa odbiera sygnał, przerywa przetwarzanie kolejek magazynu i zaczyna się zamykać.

  6. punkt końcowy zdarzeń zaplanowanych zapytań: żądanie interfejsu API jest wysyłane do statycznego niekonsekwowalnego adresu IP 169.254.169.254. Żądanie interfejsu API wysyła zapytanie do punktu końcowego Zaplanowane zdarzenia dla sygnałów konserwacji infrastruktury.

  7. Application Insights: Architektura używa usługi Application Insights tylko do celów szkoleniowych. Nie jest to istotny składnik orkiestracji obciążeń przerywanych, ale umożliwia weryfikowanie danych telemetrycznych z aplikacji procesów roboczych platformy .NET. Aplikacja procesów roboczych platformy .NET wysyła dane telemetryczne do usługi Application Insights. Aby uzyskać więcej informacji, zobacz Enable live metrics from the .NET application.

Wdróż ten scenariusz

logo usługi GitHub Istnieje repozytorium GitHub o nazwie przerywane obciążenie na miejscu zawierające szablony, skrypty i instrukcje krok po kroku dotyczące wdrażania tej architektury.

Następny krok