Zagadnienia dotyczące aplikacji dla obciążeń Azure VMware Solution
W tym artykule omówiono obszar projektowania platformy aplikacji dla obciążenia Azure VMware Solution. Ten obszar obejmuje konkretne zadania i obowiązki związane z wdrażaniem, konfigurowaniem i konserwowaniem aplikacji hostujących w środowisku Azure VMware Solution. Właściciel aplikacji jest odpowiedzialny za aplikacje w środowisku Azure VMware Solution. Ta osoba lub zespół zarządza aspektami związanymi z wdrażaniem, konfiguracją, monitorowaniem i konserwacją aplikacji.
Najważniejsze cele dobrze zaprojektowanej aplikacji obejmują:
- Projektowanie pod kątem skali. Bezproblemowo obsłuż większe zapotrzebowanie użytkowników i współbieżne transakcje bez pogorszenia lub przerw w działaniu usługi.
- Wydajność. Dostarczaj szybkie, małe opóźnienia odpowiedzi i wydajnie zarządzaj użyciem zasobów.
- Niezawodność i odporność. Zaprojektuj nadmiarowe, odporne na uszkodzenia wzorce, aby zapewnić, że aplikacja będzie szybko reagować i szybko odzyskuje dane po awariach.
Ten artykuł ma na celu zapewnienie deweloperom, architektom i właścicielom aplikacji najlepszych rozwiązań specyficznych dla Azure VMware Solution. Te rozwiązania mogą pomóc w tworzeniu aplikacji, które pozostają niezawodne, bezpieczne, skalowalne i konserwowalne w całym ich cyklu życia.
Projektowanie pod kątem skalowalności i wydajnej dystrybucji zasobów
Wpływ: niezawodność, wydajność, zabezpieczenia
W tej sekcji opisano efektywną alokację i wykorzystanie zasobów obliczeniowych na maszynach wirtualnych i obciążeniach w chmurze prywatnej 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. Możesz użyć tych technik, aby dynamicznie dostosować aprowizowanie zasobów, aby uwzględnić wahania zapotrzebowania. Głównym celem jest osiągnięcie optymalnego wykorzystania zasobów poprzez ograniczenie niedostatecznej i nadmiernej aprowizacji, które może spowodować nieefektywność i eskalację wydatków.
Używanie domen błędów
Domeny błędów w 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ć rozproszenie 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ć dostępność aplikacji podczas awarii centrum danych lub infrastruktury. Można na przykład oddzielić maszyny wirtualne od domen błędów rozmieszczonych w rozproszonych geograficznie centrach danych. Następnie aplikacja może pozostać operacyjna, jeśli jeden z centrów danych zakończy się niepowodzeniem.
Zespoły aplikacji powinny rozważyć zdefiniowanie koligacji maszyny wirtualnej i reguł koligacji, które są oparte na domenach błędów. Reguły koligacji maszyn wirtualnych 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 ochrony przed koligacją uniemożliwiają umieszczanie powiązanych maszyn wirtualnych w tej samej domenie błędów. Ta praktyka pomaga zapewnić nadmiarowość.
Używanie zasad ochrony koligacji maszyny wirtualnej w aplikacjach trójwarstwowych
W Azure VMware Solution przypadku użycia zasad ochrony koligacji maszyn wirtualnych 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ć zasad ochrony przed koligacją, aby rozłożyć warstwy między różnymi hostami w Azure VMware Solution chmurze prywatnej.
Aby zaimplementować ten przypadek użycia, utwórz architekturę rozproszoną, odporną na uszkodzenia przy użyciu zasad ochrony przed koligacją maszyn wirtualnych w trzech warstwach. Ta konfiguracja poprawia 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 internetowej frontonu obsługującej żądania użytkowników można zastosować zasady ochrony koligacji maszyny wirtualnej, aby rozpowszechnić serwery internetowe 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 ochrony przed koligacją, aby chronić serwery aplikacji w warstwie biznesowej i zwiększyć odporność danych w warstwie bazy danych.
Zalecenia
- Utwórz mapy, które pokazują współzależność maszyn wirtualnych, komunikację i wzorce użycia, aby zapewnić, że bliskość jest wymagana.
- Ustal, czy koligacja zasad umieszczania maszyny wirtualnej i maszyny wirtualnej pomaga spełnić metryki wydajności lub umowy dotyczące poziomu usług (SLA).
- Projektowanie pod kątem wysokiej dostępności przez wdrożenie zasad ochrony przed koligacją maszyny wirtualnej maszyny wirtualnej w celu ochrony przed awariami hosta i dystrybuowania aplikacji na wielu hostach.
- Aby uniknąć nadmiernej aprowizacji, rozłóż obciążenie na małych maszynach wirtualnych, a nie na kilka dużych maszyn wirtualnych.
- Regularne monitorowanie, przeglądanie i dostosowywanie zasad koligacji w celu zidentyfikowania potencjalnego rywalizacji o zasoby. Dostosuj te zasady w miarę potrzeb.
Używanie zasad koligacji hosta maszyny wirtualnej do 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, aby zachować zgodność z systemem Windows lub licencjonowaniem 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 podzestawu 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 konieczne jest utrzymanie kolokacji warstw aplikacji, możesz wybrać zasady koligacji 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
Zespół platformy jest odpowiedzialny za konfigurowanie umieszczania maszyn wirtualnych, reguł koligacji hosta i puli zasobów. Jednak zespół aplikacji powinien zrozumieć wymagania dotyczące wydajności każdej aplikacji, aby upewnić się, że są spełnione wymagania aplikacji.
Zespoły aplikacji muszą kompleksowo oceniać umieszczanie maszyn wirtualnych i angaż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 negatywnego wpływu na wydajność i optymalizację zasobów. Ponadto umieszczenie wszystkich obciążeń w jednej strefie dostępności może spowodować pojedynczy punkt awarii w przypadku awarii. Rozważ replikowanie konfiguracji w wielu strefach dostępności, aby zwiększyć odporność centrum danych podczas awarii.
Zalecenia
- Dokładnie zaplanuj sposób używania zasad umieszczania zasad koligacji hosta maszyn wirtualnych. 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 konfiguracje koligacji hosta maszyn wirtualnych zasad umieszczania, aby upewnić się, że są one zgodne z określonymi wymaganiami aplikacji i ż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 zasad umieszczania równoważenie obciążenia jest również krytycznym składnikiem nowoczesnych aplikacji, które ułatwiają zapewnienie:
- 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 równoważenia obciążenia, takiego jak Azure Application Gateway do tworzenia pul zaplecza. Application Gateway jest zarządzanym modułem równoważenia obciążenia ruchu internetowego i usługą dostarczania aplikacji, która może zarządzać przychodzącym ruchem HTTP i HTTPS oraz zoptymalizować go do aplikacji internetowych. Jako punkt wejścia dla ruchu internetowego Application Gateway oferuje różne typy funkcji. Przykłady obejmują kończenie żądań TLS/SSL, routing oparty na adresach URL, koligację sesji i możliwości zapory aplikacji internetowej.
Po udostępnieniu zasobów w pulach zaplecza utwórz odbiorniki, aby określić porty i reguły 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 kończenia żądań protokołu TLS/SSL i zarządzania certyfikatami
Szyfrowanie TLS/SSL należy wymusić dla całej komunikacji między aplikacją a przeglądarkami użytkowników. To szyfrowanie pomaga chronić dane sesji przed podsłuchami i atakami typu man-in-the-middle. Jeśli aplikacja wymaga zakończenia protokołu TLS/SSL, skonfiguruj wymagany certyfikat TLS/SSL w Application Gateway w celu odciążania przetwarzania PROTOKOŁU 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 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 Azure VMware Solution za modułem równoważenia obciążenia lub Application Gateway. API Management ułatwia zarządzanie metodami i zachowaniami interfejsu API, takimi jak stosowanie zasad zabezpieczeń w celu wymuszania uwierzytelniania i autoryzacji. API Management mogą również kierować żądania interfejsu API do usług zaplecza za pośrednictwem Application Gateway.
Na poniższym diagramie ruch z użytkowników jest kierowany do publicznego punktu końcowego API Management. Ruch jest następnie przekazywany do interfejsów API zaplecza uruchamianych na Azure VMware Solution.
Zalecenia
- Aby zwiększyć bezpieczeństwo i wydajność aplikacji Azure VMware Solution, użyj Application Gateway z zapleczem Azure VMware Solution, aby dystrybuować ruch do punktów końcowych aplikacji.
- Upewnij się, że istnieje łączność między segmentami zaplecza hostujących Azure VMware Solution i podsiecią zawierającą Application Gateway lub moduł równoważenia obciążenia.
- Konfigurowanie kondycji potwierdza monitorowanie kondycji wystąpień zaplecza.
- Odciążanie kończenia żądań protokołu TLS/SSL w celu Application Gateway w celu zmniejszenia obciążenia przetwarzania na maszynach wirtualnych zaplecza.
- Bezpiecznie przechowuj klucze TLS/SSL w magazynach.
- Usprawnij procesy, automatyzując zadania, takie jak aktualizacje certyfikatów i odnawianie.
Optymalizowanie rozproszonych klastrów w celu wzmocnienia gotowości do ciągłości działania i 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ć magazynu wirtualnego (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 odporności na uszkodzenia i niepowodzeń tolerowania zasad (FTT)
Łączna pojemność aplikacji do użycia zależy od kilku zmiennych. Przykłady obejmują nadmiarową tablicę niezależnych dysków (RAID) konfiguracji, wartość atrybutu failures to tolerate
oraz błędy tolerowania zasad (FTT), które kontrolują liczbę awarii systemu magazynu może tolerować. Zespoły aplikacji muszą określić poziom nadmiarowości, który jest wymagany dla aplikacji. Należy również pamiętać, że wyższe wartości FTT zwiększają odporność danych, ale zwiększają obciążenie magazynu.
Zalecenia
- 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 rozproszonych klastrów w scenariuszu awarii.
- Zaimplementuj automatyczne przechodzenie w tryb failover i powrót po awarii, aby zminimalizować ręczną interwencję podczas pracy w trybie failover i zdarzeń odzyskiwania.
Konfigurowanie synchronizacji danych i zasad magazynowania
Metody synchronizacji danych są ważne, gdy aplikacja opiera się na stanowych danych i bazach 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, które uruchamiają aplikacje.
Właściciel aplikacji może zdefiniować zasady magazynu, aby upewnić się, że:
- Krytyczne maszyny wirtualne, które uruchamiają aplikację, otrzymują wymagany poziom nadmiarowości i wydajności danych.
- Maszyny wirtualne są umieszczone w celu skorzystania z funkcji wysokiej dostępności klastra rozproszonego w Azure VMware Solution.
Przykładowe zasady mogą obejmować następujące czynniki:
- Konfiguracja sieci vSAN. Użyj sieci VMware vSAN z rozproszonym klastrem w różnych strefach dostępności.
- Liczba niepowodzeń tolerowanych. Ustaw zasady tak, aby tolerowały co najmniej jedną awarię. 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óźnienie dla krytycznych maszyn wirtualnych.
- Reguły koligacji. Skonfiguruj reguły koligacji, aby zapewnić, że maszyny wirtualne lub grupy maszyn wirtualnych są umieszczane w oddzielnych 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 maszyn wirtualnych do dodatkowej lokalizacji w celu zapewnienia dodatkowej ochrony danych.
Zalecenia
- 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 krytyczne składniki aplikacji mogły zakończyć się niepowodzeniem podczas awarii centrum danych.
- Informacje o wymaganiach sieciowych każdej aplikacji. Aplikacje działające w różnych strefach dostępności mogą powodować większe opóźnienie niż aplikacje z ruchem w strefie dostępności. Zaprojektuj aplikację tak, aby tolerowała to opóźnienie.
- Uruchom testy wydajnościowe zasad umieszczania, aby ocenić ich wpływ na aplikację.
Następne kroki
Teraz, po przeanalizowaniu platformy aplikacji, zobacz, jak ustanowić łączność, utworzyć obwody dla obciążenia, a nawet dystrybuować ruch do obciążeń aplikacji.
Użyj narzędzia do oceny, aby ocenić wybory projektowe.