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