Obciążenia o znaczeniu krytycznym

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.

Jakie są kluczowe obszary projektowania?

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 znaczeniu

Obszary projektowe są powiązane, a decyzje podejmowane w jednym obszarze mogą mieć wpływ na decyzje w całym projekcie lub wpływać na nie. Zalecamy, aby czytelnicy zapoznali się z tymi obszarami projektowymi, przeglądając przedstawione zagadnienia i zalecenia, aby lepiej zrozumieć konsekwencje uwzględnionych decyzji. Na przykład aby zdefiniować architekturę docelową, kluczowe jest określenie, jak najlepiej monitorować kondycję aplikacji między kluczowymi składnikami. W tym przypadku czytelnik powinien przejrzeć obszar projektowania modelowania kondycji, korzystając z opisanych zaleceń, aby pomóc w podejmowaniu decyzji.

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 ilustracyjne

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ą.

    Zapoznaj się z implementacją: Mission-Critical Online

  • 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.

    Zapoznaj się z implementacją: Mission-Critical Connected

Następny krok

Zacznij od przejrzenia metodologii projektowania scenariuszy aplikacji o znaczeniu krytycznym.