Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule omówiono obszar projektowania platformy aplikacji dla obciążenia usługi Azure VMware Solution. W tym obszarze opisano konkretne zadania i obowiązki związane z wdrażaniem, konfigurowaniem i konserwowaniem aplikacji hostujących w środowisku rozwiązania VMware platformy Azure. Właściciel aplikacji jest odpowiedzialny za aplikacje w środowisku usługi Azure VMware Solution. Ta osoba lub zespół zarządza aspektami związanymi z wdrażaniem, konfiguracją, monitorowaniem i konserwacją aplikacji.
Kluczowe cele dobrze zaprojektowanej aplikacji obejmują:
- Projektowanie pod kątem skalowania. Sprawnie obsłuż wyższe wymagania użytkowników i współbieżne transakcje bez obniżenia wydajności lub przerwy w działaniu usługi.
- Wydajność. Zapewnij szybkie czasy odpowiedzi z małymi opóźnieniami i efektywnie zarządzaj wykorzystaniem zasobów.
- Niezawodność i odporność. Zaprojektuj nadmiarowe, odporne na uszkodzenia wzorce, aby zapewnić, że aplikacja będzie reagować i szybko odzyskuje sprawność po awariach.
Ten artykuł ma na celu zapewnienie deweloperom, architektom i właścicielom aplikacji najlepszych rozwiązań specyficznych dla rozwiązania Azure VMware Solution. Te rozwiązania mogą pomóc w tworzeniu aplikacji, które pozostają niezawodne, bezpieczne, skalowalne i możliwe do utrzymania w całym cyklu życia.
Projektowanie pod kątem skalowalności i wydajnej dystrybucji zasobów
Wpływ: niezawodność, wydajność, bezpieczeństwo
W tej sekcji opisano efektywną alokację i wykorzystanie zasobów obliczeniowych na maszynach wirtualnych i obciążeniach w chmurze prywatnej usługi Azure VMware Solution. Te zasoby mogą obejmować zasoby procesora CPU, pamięci, magazynu i sieci. W tej sekcji przedstawiono również implementację technik dynamicznego skalowania. Za pomocą tych technik można dynamicznie dostosowywać aprowizację zasobów w celu uwzględnienia wahań zapotrzebowania. Głównym celem jest osiągnięcie optymalnego wykorzystania zasobów poprzez zmniejszenie niedostatecznego wykorzystania zasobów i nadmierną aprowizację, co może spowodować nieefektywność i eskalację wydatków.
Użyj domen błędów
Domeny błędów w usłudze Azure VMware Solution reprezentują logiczne grupowania zasobów w klastrze rozproszonym. Te zasoby współdzielą wspólną domenę błędów fizycznych. Domeny błędów pomagają zwiększyć dostępność w różnych scenariuszach awarii. Organizowanie zasobów w domenach błędów pomaga zapewnić rozmieszczenie krytycznych składników aplikacji w wielu domenach błędów.
Umieszczając maszyny wirtualne i inne zasoby w oddzielnych domenach błędów, zespół aplikacji pomaga zapewnić, że aplikacja pozostaje dostępna podczas awarii centrum danych lub infrastruktury. Można na przykład oddzielić maszyny wirtualne od domen błędów rozmieszczonych w geograficznie rozproszonych centrach danych. Następnie aplikacja może pozostać operacyjna, jeśli w jednym centrum danych wystąpi kompletna awaria.
Zespoły aplikacji powinny rozważyć zdefiniowanie reguł koligacji i antykoligacji VM-VM, które są oparte na domenach uszkodzeń. VM-VM reguły koligacji umieszczają krytyczne maszyny wirtualne w tej samej domenie błędów, aby upewnić się, że nie są one rozmieszczone w wielu centrach danych. Reguły antyafinity uniemożliwiają umieszczanie powiązanych maszyn wirtualnych w tej samej domenie błędów. Ta praktyka pomaga zapewnić nadmiarowość.
Używanie zasad ochrony przed koligacją VM-VM w aplikacjach trójwarstwowych
W usłudze Azure VMware Solution przypadek użycia zasad ochrony koligacji VM-VM obejmuje aplikację trójwarstwową. Celem jest zwiększenie wysokiej dostępności, odporności na uszkodzenia i odporności każdej warstwy aplikacji. Aby osiągnąć ten cel, możesz użyć polityk antyafinity, aby rozłożyć warstwy na różne hosty w prywatnej chmurze Azure VMware Solution.
Aby zaimplementować ten przypadek użycia, utwórz architekturę rozproszoną, odporną na uszkodzenia przy użyciu zasad antykoligacji VM-VM w trzech warstwach. Ta konfiguracja zwiększa dostępność całej aplikacji i pomaga zapewnić, że awaria jednego hosta nie zakłóca całej warstwy ani całej aplikacji.
Na przykład w warstwie frontendu strony, która obsługuje żądania użytkowników, można zastosować zasady antykoligacji VM-VM w celu rozłożenia serwerów WWW na różnych hostach fizycznych. Takie podejście pomaga zwiększyć wysoką dostępność i odporność na uszkodzenia. Podobnie można użyć środków przeciw koligacji, aby chronić serwery aplikacji w warstwie biznesowej i zwiększyć odporność danych w warstwie bazy danych.
Rekomendacje
- Utwórz mapy pokazujące współzależności maszyn wirtualnych, komunikację i wzorce użycia, aby zapewnić, że bliskość jest wymagana.
- Ustal, czy zasady umieszczania VM-VM koligacji pomagają spełnić metryki wydajności lub umowy dotyczące poziomu usług (SLA).
- Projektowanie wysokiej dostępności przez implementację zasad anty-affinity VM-VM w celu ochrony przed awariami hosta i rozmieszczenia aplikacji na wielu hostach.
- Aby uniknąć nadmiernej aprowizacji, rozłóż obciążenie na małe maszyny wirtualne, a nie kilka dużych maszyn wirtualnych.
- Regularnie monitoruj, przeglądaj i dostrajaj zasady koligacji, aby zidentyfikować potencjalne rywalizacje o zasoby. Dostosuj te zasady w miarę potrzeb.
Używanie zasad koligacji hosta maszyny wirtualnej na potrzeby izolacji wydajności
Niektóre obciążenia, które uruchamiają maszyny wirtualne w różnych warstwach aplikacji, działają lepiej po przeniesieniu. Ten przypadek użycia często występuje, gdy aplikacje wymagają:
- Izolacja wydajności dla obciążeń obliczeniowych intensywnie korzystających z zasobów o wysokiej wydajności.
- Zgodność z umowami licencyjnymi. Na przykład specyfikacje systemowe mogą wymagać mapowania, które kojarzy maszynę wirtualną z określonym zestawem rdzeni w celu zachowania zgodności z licencjonowaniem systemu Windows lub programu SQL Server.
- Zgodność z przepisami i integralność danych w celu zapewnienia, że maszyny wirtualne należące do określonych domen zabezpieczeń lub klasyfikacji danych są ograniczone do określonych hostów lub podzbioru hostów w klastrze.
- Uproszczona konfiguracja sieci, która umieszcza maszyny wirtualne na tym samym hoście. W takim przypadku konfiguracja sieci między warstwami jest uproszczona. Warstwy współużytkują tę samą łączność sieciową i nie wymagają dodatkowych przeskoków sieciowych.
Jeśli ważne jest zachowanie kolokacji warstw aplikacji, możesz wybrać zasady preferencji hosta maszyny wirtualnej, aby upewnić się, że warstwy są wdrażane na tym samym hoście i w tej samej strefie dostępności.
Uwaga / Notatka
Zespół platformy jest odpowiedzialny za konfigurowanie umieszczania maszyn wirtualnych, reguł koligacji hosta i buforowania zasobów. Jednak zespół ds. aplikacji powinien zrozumieć wymagania dotyczące wydajności poszczególnych aplikacji, aby upewnić się, że wymagania aplikacji są spełnione.
Zespoły ds. aplikacji muszą kompleksowo ocenić umieszczanie maszyn wirtualnych i zaangażować się w skrupulatne planowanie. Umieszczanie maszyn wirtualnych może stanowić potencjalne wyzwania, takie jak nierównowaga zasobów i nierównomierna dystrybucja obciążeń. Takie sytuacje mogą prowadzić do niekorzystnego wpływu na wydajność i optymalizację zasobów. Ponadto umieszczenie wszystkich obciążeń w jednej strefie dostępności może utworzyć pojedynczy punkt awarii w przypadku awarii. Rozważ replikowanie konfiguracji w wielu strefach dostępności, aby zwiększyć odporność centrum danych podczas awarii.
Rekomendacje
- Starannie zaplanuj sposób używania zasad koligacji maszyny wirtualnej z hostem. Rozważ alternatywne rozwiązania, jeśli to możliwe, takie jak równoważenie obciążenia, pule zasobów w programie VMware vSphere, rozproszone bazy danych, konteneryzacja i strefy dostępności.
- Regularnie monitoruj wykorzystanie zasobów i wydajność, aby zidentyfikować wszelkie nierównowagi lub problemy.
- Wybierz strategię umieszczania maszyn wirtualnych, która jest zrównoważona i elastyczna. Takie podejście pomaga zmaksymalizować wykorzystanie zasobów przy zachowaniu wysokiej dostępności i zapewnieniu zgodności z wymaganiami dotyczącymi licencjonowania.
- Przetestuj i zweryfikuj zasady umieszczania z konfiguracjami koligacji hostów maszyn wirtualnych, aby zapewnić ich zgodność z określonymi wymaganiami aplikacji oraz upewnić się, że nie wpływają negatywnie na ogólną wydajność i odporność.
Dystrybuowanie ruchu przy użyciu aplikacji lub modułu równoważenia obciążenia sieciowego
Oprócz korzystania z polityk rozmieszczania, równoważenie obciążenia jest również kluczowym składnikiem nowoczesnych aplikacji, co pomaga zapewnić:
- Efektywna dystrybucja zasobów.
- Zwiększona dostępność aplikacji.
- Optymalna wydajność aplikacji.
Równoważenie obciążenia spełnia te kryteria przy zachowaniu elastyczności skalowania obciążeń i zarządzania nimi.
Po wdrożeniu aplikacji na maszynach wirtualnych rozważ użycie narzędzia do równoważenia obciążenia, takiego jak usługa Azure Application Gateway, w celu utworzenia pul zaplecza. Application Gateway to zarządzana usługa równoważenia obciążenia ruchu internetowego i usługa dostarczania aplikacji, która umożliwia zarządzanie przychodzącym ruchem HTTP i HTTPS oraz optymalizowanie go do aplikacji internetowych. Jako punkt wejścia dla ruchu internetowego usługa Application Gateway oferuje różne typy funkcji. Przykłady obejmują zakończenie TLS/SSL, routing oparty na adresach URL, przyleganie sesji i funkcje zapory aplikacji webowej.
Po udostępnieniu zasobów w pulach zaplecza utwórz odbiorniki w celu określenia portów i reguł routingu dla żądań przychodzących. Następnie można utworzyć sondy kondycji, aby monitorować kondycję maszyn wirtualnych i wskazać, kiedy usunąć zasoby zaplecza w złej kondycji z rotacji.
Implementowanie zakończenia protokołu TLS/SSL i zarządzania certyfikatami
Szyfrowanie TLS/SSL musi być wymuszane dla całej komunikacji między aplikacją a przeglądarkami użytkowników. To szyfrowanie pomaga chronić dane sesji przed podsłuchiwaniem i atakami typu man-in-the-middle. Jeśli aplikacja wymaga zakończenia protokołu TLS/SSL, skonfiguruj wymagany certyfikat TLS/SSL w usłudze Application Gateway w celu odciążania przetwarzania TLS/SSL z maszyn wirtualnych zaplecza.
Po wygenerowaniu certyfikatów TLS/SSL umieść je w usłudze, takiej jak Azure Key Vault, która ułatwia bezpieczne przechowywanie i uzyskiwanie do nich dostępu. Użyj programu PowerShell, interfejsu wiersza polecenia platformy Azure lub narzędzi, takich jak usługa Azure Automation, aby zaktualizować i odnowić certyfikaty.
Zarządzanie interfejsami API
Usługa Azure API Management ułatwia bezpieczne publikowanie wewnętrznie i zewnętrznie wdrożonych punktów końcowych interfejsu API. Przykładem punktu końcowego jest interfejs API zaplecza, który znajduje się w chmurze prywatnej usługi Azure VMware Solution za modułem równoważenia obciążenia lub usługą Application Gateway. Usługa API Management ułatwia zarządzanie metodami i zachowaniami interfejsu API, takimi jak stosowanie zasad zabezpieczeń w celu wymuszania uwierzytelniania i autoryzacji. Usługa API Management może również kierować żądania interfejsu API do usług zaplecza za pośrednictwem usługi Application Gateway.
Na poniższym diagramie ruch użytkowników jest przesyłany do publicznego punktu końcowego usługi API Management. Ruch jest następnie przekazywany do zaplecza interfejsów API działających na rozwiązaniu Azure VMware Solution.
Rekomendacje
- Aby zwiększyć bezpieczeństwo i wydajność aplikacji usługi Azure VMware Solution, użyj usługi Application Gateway z zapleczem usługi Azure VMware Solution, aby dystrybuować ruch do punktów końcowych aplikacji.
- Upewnij się, że istnieje łączność między segmentami zaplecza hostujących rozwiązanie Azure VMware Solution i podsiecią zawierającą usługę Application Gateway lub moduł równoważenia obciążenia.
- Skonfiguruj sondy zdrowia, aby monitorować stan zdrowia instancji zaplecza.
- Odciążenie zakończenia TLS/SSL na Application Gateway w celu zmniejszenia obciążenia przetwarzania na back-endowych maszynach wirtualnych.
- Bezpiecznie przechowuj klucze TLS/SSL w sejfach.
- Usprawnij procesy, automatyzując zadania, takie jak aktualizacje certyfikatów i odnawianie.
Optymalizowanie rozproszonych klastrów w celu wzmocnienia ciągłości działania i gotowości do odzyskiwania po awarii
Wpływ: niezawodność
Klastry rozproszone zapewniają klastry VMware o wysokiej dostępności i możliwości odzyskiwania po awarii w wielu rozproszonych geograficznie centrach danych.
Poniższa konfiguracja obsługuje architektury aktywne-aktywne. Sieć wirtualnego magazynu (vSAN) obejmuje dwa centra danych. Trzecia strefa dostępności mapuje na monitor vSAN, aby służyć jako kworum dla scenariuszy podziału mózgu.
Dystrybucja aplikacji w wielu strefach dostępności i regionach pomaga zapewnić ciągłą dostępność podczas awarii centrum danych. Wdróż warstwy aplikacji i warstwy danych w obu centrach danych i włącz replikację synchroniczną.
Konfigurowanie polityk odporności na uszkodzenia i niezawodności na awarie (FTT)
Łączna pojemność aplikacji do wykorzystania zależy od kilku zmiennych. Przykłady obejmują konfigurację nadmiarowej tablicy niezależnych dysków (RAID), wartość atrybutu failures to tolerate oraz zasady związane z tolerancją na awarie (FTT), które kontrolują liczbę awarii, jakie system pamięci masowej może tolerować. Zespoły aplikacji muszą określić poziom nadmiarowości wymaganej dla aplikacji. Należy również pamiętać, że wyższe wartości FTT zwiększają odporność danych, ale zwiększają obciążenie magazynu.
Rekomendacje
- Wdróż aplikację w magazynie udostępnionym, aby dane maszyny wirtualnej były spójne w klastrze rozproszonym. Włącz replikację synchroniczną.
- Skonfiguruj domeny błędów, aby określić sposób reagowania klastrów rozproszonych w scenariuszu awarii.
- Zaimplementuj automatyczne przejście w tryb failover i powrót po awarii, aby zminimalizować interwencję ręczną podczas przechodzenia w tryb failover i zdarzeń odzyskiwania.
Konfigurowanie synchronizacji danych i zasad magazynowania
Metody synchronizacji danych są ważne, gdy aplikacja korzysta z danych stanowych i baz danych w celu zapewnienia spójności i dostępności podczas awarii. Synchronizacja danych pomaga zapewnić wysoką dostępność i odporność na uszkodzenia dla krytycznych maszyn wirtualnych, na których są uruchamiane aplikacje.
Właściciel aplikacji może zdefiniować zasady przechowywania, aby zapewnić, że:
- Krytyczne maszyny wirtualne, które uruchamiają aplikację, otrzymują wymagany poziom nadmiarowości i wydajności danych.
- Maszyny wirtualne są rozmieszczone w celu skorzystania z funkcji wysokiej dostępności klastra rozproszonego w rozwiązaniu Azure VMware Solution.
Przykładowe zasady mogą obejmować następujące czynniki:
- Konfiguracja sieci vSAN. Użyj VMware vSAN z rozciągniętym klastrem pomiędzy strefami dostępności.
- Liczba tolerowanych niepowodzeń. Ustaw zasady tak, aby tolerowały co najmniej jeden błąd. Na przykład użyj układu RAID-1.
- Wydajność. Skonfiguruj ustawienia związane z wydajnością, aby zoptymalizować operacje we/wy na sekundę i opóźnienia dla krytycznych maszyn wirtualnych.
- Reguły powiązania. Skonfiguruj reguły przyporządkowania, aby ułatwić zapewnienie, że maszyny wirtualne lub grupy maszyn wirtualnych znajdują się w osobnych hostach lub domenach błędów w klastrze rozproszonym w celu zmaksymalizowania dostępności podczas awarii centrum danych.
- Tworzenie kopii zapasowych i replikacja. Określ integrację z rozwiązaniami do tworzenia kopii zapasowych i replikacji, aby zapewnić regularne tworzenie kopii zapasowych i replikowanie danych do dodatkowej lokalizacji w celu zapewnienia dodatkowej ochrony danych.
Rekomendacje
- Zdefiniuj zasady magazynu danych w sieci vSAN, aby określić nadmiarowość i wydajność wymaganą dla różnych dysków maszyn wirtualnych.
- Skonfiguruj aplikacje do uruchamiania w konfiguracji aktywne-aktywne lub aktywne-pasywne, aby kluczowe elementy aplikacji mogły przetrwać awarie centrum danych.
- Informacje o wymaganiach sieciowych poszczególnych aplikacji. Aplikacje działające w różnych strefach dostępności mogą powodować większe opóźnienia niż aplikacje z ruchem w strefie dostępności. Zaprojektuj aplikację tak, aby tolerowała to opóźnienie.
- Uruchom testy wydajnościowe polityk umieszczania, aby ocenić ich wpływ na Twoją aplikację.
Dalsze kroki
Po zbadaniu platformy aplikacji sprawdź, jak ustanowić łączność, utworzyć granice dla obciążeń aplikacyjnych i równomiernie rozdzielać ruch do aplikacyjnych obciążeń.
Użyj narzędzia do oceny, aby ocenić wybory projektowe.