Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta sekcja stara się sprostać wyzwaniom związanym z projektowaniem obciążeń o znaczeniu krytycznym na platformie Azure. Wskazówki są oparte na lekcjach pochodzących z przeglądu wielu aplikacji klientów i rozwiązań innych firm. Ta sekcja zawiera odpowiednie i autorytatywne wskazówki, które stosują najlepsze rozwiązania dobrze zaprojektowane jako podstawy techniczne do tworzenia i obsługi wysoce niezawodnego rozwiązania na platformie Azure na dużą skalę.
Co to jest obciążenie o znaczeniu krytycznym?
Termin obciążenie odnosi się do kolekcji zasobów aplikacji, które obsługują wspólny cel biznesowy lub wykonywanie wspólnego procesu biznesowego, z wieloma usługami, takimi jak interfejsy API i magazyny danych, współpracując ze sobą w celu zapewnienia konkretnej kompleksowej funkcjonalności.
Termin mission-critical odnosi się do skali krytycznej, która obejmuje znaczne koszty finansowe (krytyczne dla działania firmy) lub koszty ludzkie (krytyczne dla bezpieczeństwa) związane z niedostępnością lub niedostateczną wydajnością.
W związku z tym obciążenie o znaczeniu krytycznym opisuje kolekcję zasobów aplikacji, która musi być wysoce niezawodna na platformie. Obciążenie musi być zawsze dostępne, odporne na awarie i operacyjne.
Wideo: Obciążenia o znaczeniu krytycznym na platformie Azure
Jakie są typowe wyzwania?
Platforma Microsoft Azure ułatwia wdrażanie rozwiązań w chmurze i zarządzanie nimi. Jednak tworzenie obciążeń o krytycznym znaczeniu, które są wysoce niezawodne na platformie, pozostaje wyzwaniem z następujących głównych powodów:
Projektowanie niezawodnej aplikacji na dużą skalę jest złożone. Wymaga obszernej wiedzy na temat platformy, aby wybrać odpowiednie technologie i optymalnie skonfigurować je w celu zapewnienia kompleksowej funkcjonalności.
Awaria jest nieunikniona w każdym złożonym systemie rozproszonym, dlatego rozwiązanie musi być zaprojektowane tak, aby obsługiwało awarie ze skorelowanym lub kaskadowym wpływem. Jest to zmiana sposobu myślenia dla wielu deweloperów i architektów wchodzących do chmury ze środowiska lokalnego; inżynieria niezawodności nie jest już przedmiotem infrastruktury, ale powinna być pierwszą klasą w procesie tworzenia aplikacji.
Operacjonalizacja obciążeń o krytycznym znaczeniu wymaga wysokiego stopnia rygoru inżynieryjnego i dojrzałości w całym cyklu życia inżynieryjnego, a także możliwości uczenia się od awarii.
Czy kluczowe znaczenie ma tylko niezawodność?
Chociaż głównym celem obciążeń o znaczeniu krytycznym jest niezawodność, inne filary dobrze zaprojektowanej struktury są równie ważne podczas tworzenia i obsługi obciążenia o krytycznym znaczeniu na platformie Azure.
Zabezpieczenia: w jaki sposób obciążenie ogranicza zagrożenia bezpieczeństwa, takie jak ataki DDoS (Distributed Denial of Service), będą miały znaczący wpływ na ogólną niezawodność.
Doskonałość operacyjna: w jaki sposób obciążenie jest w stanie skutecznie reagować na problemy operacyjne, będzie miało bezpośredni wpływ na dostępność aplikacji.
Wydajność: dostępność jest większa niż prosty czas pracy, ale raczej spójny poziom usługi aplikacji i wydajności względem znanego stanu dobrej kondycji.
Osiągnięcie wysokiej niezawodności nakłada znaczne kompromisy kosztów, które mogą nie być uzasadnione dla każdego scenariusza obciążenia. Dlatego zalecane jest, aby decyzje projektowe wynikały z wymagań biznesowych.
Jak korzystać z tych wskazówek?
✔ Zacznij od metodologii projektowania, która przedstawia uzasadnienie i cykliczne tematy w obszarach technicznych i operacyjnych. Takie systematyczne podejście pomaga definiować wymagania i strategie projektowania. Ponownie przyjrzyj się tej metodologii w obliczu niepewnych wyborów, aby pozostać w zgodzie z ogólnymi celami pracy.
✔ Przejdź do zasad projektowania , aby zobaczyć, jak metodologia projektowania o znaczeniu krytycznym jest zgodna z podstawowymi filarami Well-Architected Framework, biorąc pod uwagę ewolucję wzrostu. Oceń podstawowe zasady dla wszystkich filarów łącznie, w tym kompromisy.
✔ Skoncentruj się na obszarach projektowych, które mają największy wpływ na Twoje rozwiązanie. Wskazówki o znaczeniu krytycznym w tej serii składają się z zagadnień dotyczących architektury i zaleceń dotyczących tych kluczowych obszarów projektowania.
Obszary projektowe o krytycznym znaczeniuObszary projektowe o krytycznym znaczeniu
Obszary projektowe o krytycznym znaczeniu
Obszar projektowania | Podsumowanie |
---|---|
Projekt aplikacji | Użycie architektury jednostki skalowania w kontekście tworzenia wysoce niezawodnej aplikacji. Zapoznaj się również z wzorcami projektowymi aplikacji w chmurze, które umożliwiają skalowanie i obsługę błędów. |
Platforma aplikacji | Czynniki decyzyjne i zalecenia związane z wyborem, projektowaniem i konfiguracją odpowiedniej platformy hostingu aplikacji, zależności aplikacji, struktur i bibliotek. |
Platforma danych | Wybory w technologiach magazynu danych, informowane przez ocenę wymaganej ilości, szybkości, różnorodności, prawdziwości. |
Sieć i łączność | Pojęcia topologii sieci na poziomie aplikacji, biorąc pod uwagę wymaganą łączność i nadmiarowe zarządzanie ruchem. Krytyczne zalecenia mające na celu informowanie o projektowaniu bezpiecznej i skalowalnej globalnej topologii sieci. |
Modelowanie i obserwowanie kondycji | Procesy definiowania niezawodnego modelu kondycji, mapowania kwantyfikowanych stanów kondycji aplikacji poprzez obserwowanie i konstrukcje operacyjne w celu osiągnięcia dojrzałości operacyjnej. |
Wdrażanie i testowanie | Eliminowanie przestojów i utrzymywanie kondycji aplikacji na potrzeby operacji wdrażania, zapewniając kluczowe zagadnienia i zalecenia mające na celu informowanie o projektowaniu optymalnych potoków ciągłej integracji/ciągłego wdrażania dla aplikacji o krytycznym znaczeniu. |
Bezpieczeństwo | Ochrona aplikacji przed zagrożeniami, które mają być bezpośrednio lub pośrednio zagrożone jego niezawodnością. |
Procedury operacyjne | Wdrożenie metodyki DevOps i powiązanych metod wdrażania służy do stosowania skutecznych i spójnych procedur operacyjnych. |
Przykłady architektury referencyjnej
Wskazówki przedstawione w tej serii są oparte na podejściu zorientowanym na rozwiązanie, aby zilustrować kluczowe zagadnienia i zalecenia dotyczące projektowania. Dostępnych jest kilka implementacji referencyjnych, które mogą służyć jako podstawa do dalszego opracowywania rozwiązań.
Architektura bazowa aplikacji dostępnej z Internetu — stanowi podstawę do tworzenia natywnej dla chmury, wysoce skalowalnej aplikacji dostępnej z Internetu na platformie Microsoft Azure. Dostęp do obciążenia jest uzyskiwany za pośrednictwem publicznego punktu końcowego i nie wymaga prywatnej łączności sieciowej z otaczającym infrastrukturą organizacyjną.
Architektura bazowa aplikacji dostępnej z Internetu z mechanizmami kontroli sieci — rozszerza architekturę punktu odniesienia za pomocą rygorystycznych mechanizmów kontroli sieci, aby zapobiec nieautoryzowanemu dostępowi publicznemu z Internetu do dowolnego zasobu obciążenia.
Architektura linii bazowej w strefie docelowej platformy Azure — stanowi podstawę do tworzenia aplikacji natywnej dla chmury połączonej z firmą na platformie Microsoft Azure przy użyciu istniejącej infrastruktury sieciowej i prywatnych punktów końcowych. Obciążenie wymaga prywatnej łączności z innymi zasobami organizacyjnymi i pobiera zależność od wstępnie dostarczonych sieci wirtualnych na potrzeby łączności z innymi zasobami organizacji. Ten przypadek użycia jest przeznaczony dla scenariuszy, które wymagają integracji z szerszą infrastrukturą techniczną organizacji dla obciążeń publicznych lub wewnętrznych.
Następny krok
Zacznij od przejrzenia metodologii projektowania scenariuszy aplikacji o znaczeniu krytycznym.