Zagadnienia dotyczące projektowania aplikacji hybrydowych

Microsoft Azure jest jedyną spójną chmurą hybrydową. Umożliwia ponowne wykorzystanie inwestycji w rozwój i umożliwia korzystanie z aplikacji, które mogą obejmować globalną platformę Azure, suwerenne chmury platformy Azure i Azure Stack, co stanowi rozszerzenie platformy Azure w centrum danych. Aplikacje obejmujące chmury są również nazywane aplikacjami hybrydowymi.

W aplikacja systemu Azure architektury opisano ustrukturyzowane podejście do projektowania skalowalnych, odpornych i wysoce dostępnych aplikacji. Zagadnienia opisane w przewodniku aplikacja systemu Azure dotyczą aplikacji przeznaczonych dla jednej chmury i dla aplikacji, które obejmują chmury.

W tym artykule rozszerzono filary jakości oprogramowania omówione w przewodniku aplikacja systemu AzureArchitecture, koncentrując się w szczególności na projektowaniu aplikacji hybrydowych. Ponadto dodajemy filar umieszczania, ponieważ aplikacje hybrydowe nie są dostępne wyłącznie w jednej chmurze ani w jednym lokalnym centrum danych.

Scenariusze hybrydowe różnią się znacznie w zależności od zasobów dostępnych do opracowania i obejmują zagadnienia, takie jak lokalizacja geograficzna, zabezpieczenia, dostęp do Internetu i inne zagadnienia. Chociaż w tym przewodniku nie można wyliczyć konkretnych kwestii, może on dostarczyć kluczowych wytycznych i najlepszych rozwiązań, które należy wykonać. Pomyślne projektowanie, konfigurowanie, wdrażanie i obsługa architektury aplikacji hybrydowej obejmuje wiele kwestii projektowych, które mogą nie być z natury znane.

Ten dokument ma na celu zagregowanie możliwych pytań, które mogą pojawić się podczas wdrażania aplikacji hybrydowych, oraz zawiera zagadnienia (te filary) i najlepsze rozwiązania, które należy z nimi współpracować. Odpowiedzi na te pytania w fazie projektowania pozwala uniknąć problemów, które mogą one powodować w środowisku produkcyjnym.

Zasadniczo są to pytania, które należy przemyśleć przed utworzeniem aplikacji hybrydowej. Aby rozpocząć pracę, należy wykonać następujące czynności:

  • Zidentyfikuj i oceń składniki aplikacji.
  • Oceń składniki aplikacji pod względem filarów.

Ocena składników aplikacji

Każdy składnik aplikacji ma własną specyficzną rolę w ramach większej aplikacji i należy go przejrzeć wraz ze wszystkimi zagadnieniami w zakresie projektowania. Wymagania i funkcje każdego składnika powinny być mapowe na te zagadnienia, aby ułatwić określenie architektury aplikacji.

Rozkomponuj aplikację na jej składniki, badając jej architekturę i określając jej elementy. Składniki mogą również obejmować inne aplikacje, z których współpracuje aplikacja. Podczas identyfikowania składników należy ocenić zamierzone operacje hybrydowe zgodnie z ich charakterystyką, zadając następujące pytania:

  • Jaki jest cel składnika?
  • Jakie są współzależności między składnikami?

Na przykład w aplikacji frontonie i załocie mogą być zdefiniowane jako dwa składniki. W scenariuszu hybrydowym frontron znajduje się w jednej chmurze, a drugi . Aplikacja udostępnia kanały komunikacyjne między frontonem a użytkownikiem, a także między frontoną a frontoną.

Składnik aplikacji jest definiowany przez wiele formularzy i scenariuszy. Najważniejszym zadaniem jest zidentyfikowanie ich i ich lokalizacji w chmurze lub lokalnej.

Typowe składniki aplikacji, które należy uwzględnić w spisie, są wymienione w tabeli 1.

Tabela 1. Typowe składniki aplikacji

Składnik Wskazówki dotyczące aplikacji hybrydowych
Połączenia klienta Aplikacja (na dowolnym urządzeniu) może uzyskać dostęp do użytkowników na różne sposoby, z pojedynczego punktu wejścia, w tym na następujące sposoby:
— Model klient-serwer, który wymaga od użytkownika zainstalowania klienta do pracy z aplikacją. Aplikacja oparta na serwerze, do której uzyskuje się dostęp z przeglądarki.
— Połączenia klienckie mogą zawierać powiadomienia, gdy połączenie zostanie przerwane, lub alerty, gdy mogą być naliczane opłaty za roaming.
Authentication Uwierzytelnianie może być wymagane dla użytkownika łączącego się z aplikacją lub z jednego składnika łączącego się z innym.
Interfejsy API Możesz zapewnić deweloperom programowy dostęp do aplikacji przy użyciu zestawów interfejsów API i bibliotek klas oraz interfejsu połączenia opartego na standardach internetowych. Za pomocą interfejsów API można również rozkompilować aplikację na niezależne od siebie jednostki logiczne.
Usługi Aby udostępnić funkcje aplikacji, można korzystać z zwięzłych usług. Usługa może być aparatem, na których działa aplikacja.
Kolejki Kolejek można używać do organizowania stanu cykli życia i stanów składników aplikacji. Te kolejki mogą zapewnić możliwość obsługi komunikatów, powiadomień i buforowania dla subskrybowania stron.
Magazyn danych Aplikacja może być bez stanowa lub stanowa. Aplikacje stanowe potrzebują magazynu danych, który może być obsługiwany przez wiele formatów i woluminów.
Buforowanie danych Składnik buforowania danych w projekcie może strategicznie rozwiązać problemy z opóźnieniami i odgrywać rolę w wyzwalaniu rozwoju chmury.
Wprowadzanie danych Dane można przesłać do aplikacji na wiele sposobów, od wartości przesłanych przez użytkownika w formularzu internetowym po ciągły przepływ danych o dużej ilości danych.
Przetwarzanie danych Zadania przetwarzania danych (takie jak raporty, analiza, eksporty wsadowe i przekształcanie danych) mogą być przetwarzane w źródle lub odciążone na oddzielnym składniku przy użyciu kopii danych.

Ocena składników aplikacji pod celu oceny filarów

Dla każdego składnika należy ocenić jego charakterystykę dla każdego filaru. Podczas oceniania każdego składnika ze wszystkimi filarami pytania, które mogły nie zostać rozważone, mogą stać się dla Ciebie znane, które mają wpływ na projekt aplikacji hybrydowej. Działanie zgodnie z tymi zagadnieniami może dodać wartość do optymalizacji aplikacji. Tabela 2 zawiera opis każdego filaru w odniesieniu do aplikacji hybrydowych.

Tabela 2. Filarów

Filar Opis
Umieszczanie Strategiczne pozycjonowanie składników w aplikacjach hybrydowych.
Skalowalność Zdolność systemu do obsługi zwiększonego obciążenia.
Dostępność Czas, przez który aplikacja hybrydowa działa i działa.
Odporność Możliwość odzyskiwania aplikacji hybrydowej.
Możliwości zarządzania Procesy operacji, które utrzymują działanie systemu w środowisku produkcyjnym.
Zabezpieczenia Ochrona hybrydowych aplikacji i danych przed zagrożeniami.

Umieszczanie

Aplikacja hybrydowa z założenia ma zagadnienia dotyczące umieszczania, na przykład w przypadku centrum danych.

Umieszczanie to ważne zadanie, które polega na pozycjonowaniu składników w celu najlepszego serwisowania aplikacji hybrydowej. Z definicji aplikacje hybrydowe obejmują lokalizacje, na przykład ze środowiska lokalnego do chmury i w różnych chmurach. Składniki aplikacji można umieszczać w chmurach na dwa sposoby:

  • Pionowe aplikacje hybrydowe
    Składniki aplikacji są dystrybuowane między lokalizacjami. Każdy składnik może mieć wiele wystąpień znajdujących się tylko w jednej lokalizacji.

  • Poziome aplikacje hybrydowe
    Składniki aplikacji są dystrybuowane między lokalizacjami. Każdy składnik może mieć wiele wystąpień obejmujących wiele lokalizacji.

    Niektóre składniki mogą mieć świadomość swojej lokalizacji, podczas gdy inne nie mają żadnej wiedzy na temat ich lokalizacji i położenia. Tę pozytywne wyniki można osiągnąć przy użyciu warstwy abstrakcji. Ta warstwa, z nowoczesną platformą aplikacji, taką jak mikrousługi, może definiować sposób obsługi aplikacji przez umieszczanie składników aplikacji działających w węzłach w chmurach.

Lista kontrolna umieszczania

Sprawdź wymagane lokalizacje. Upewnij się, że aplikacja lub dowolny z jej składników musi działać w określonej chmurze lub wymagać certyfikacji. Może to obejmować wymagania dotyczące niezależności ze strony firmy lub dyktowane przez prawo. Ponadto należy określić, czy jakiekolwiek operacje lokalne są wymagane dla określonej lokalizacji lub określonej lokalizacji.

Ustal zależności łączności. Wymagane lokalizacje i inne czynniki mogą decydować o zależnościach łączności między składnikami. Podczas umieszczania składników należy określić optymalną łączność i zabezpieczenia komunikacji między nimi. Dostępne opcje to sieć VPN,usługa ExpressRoute i połączenia hybrydowe.

Ocena możliwości platformy. Dla każdego składnika aplikacji sprawdź, czy wymagany dostawca zasobów dla składnika aplikacji jest dostępny w chmurze i czy przepustowość może spełniać oczekiwane wymagania dotyczące przepływności i opóźnień.

Planowanie przenośności. Użyj nowoczesnych platform aplikacji, takich jak kontenery lub mikrousługi, aby zaplanować przenoszenie operacji i zapobiec zależnościom usług.

Określanie wymagań dotyczących niezależności danych. Aplikacje hybrydowe są wykorzystywane do izolacji danych, na przykład w lokalnym centrum danych. Przejrzyj rozmieszczenie zasobów, aby zoptymalizować sukces w celu szacowania tego wymagania.

Zaplanuj opóźnienie. Operacje międzychmurowe mogą wprowadzać fizyczną odległość między składnikami aplikacji. Ustal wymagania, aby uwzględnić wszelkie opóźnienia.

Kontrolowanie przepływów ruchu. Obsługuj szczytowe użycie oraz odpowiednią i zabezpieczoną komunikację dla danych umożliwiających identyfikację danych osobowych, gdy fronton uzyskuje dostęp do chmury publicznej.

Skalowalność

Skalowalność to zdolność systemu do obsługi zwiększonego obciążenia aplikacji, która może się zmieniać wraz z czasem, ponieważ inne czynniki i siły wpływają na rozmiar odbiorców, a także rozmiar i zakres aplikacji.

Aby uzyskać podstawowe omówienie tego filaru, zobacz Scalability (Skalowalność ) w pięciu filarach doskonałości architektury.

Podejście skalowania w poziomie dla aplikacji hybrydowych umożliwia dodawanie większej liczby wystąpień w celu spełnienia wymagań, a następnie wyłączanie ich w bardziej cichych okresach.

W scenariuszach hybrydowych skalowanie poszczególnych składników wymaga dodatkowej uwagi, gdy składniki są rozłożone w chmurach. Skalowanie jednej części aplikacji może wymagać skalowania innej. Jeśli na przykład liczba połączeń klienta zwiększa się, ale usługi internetowe aplikacji nie są odpowiednio skalowane w poziomie, obciążenie bazy danych może przesycić aplikację.

Niektóre składniki aplikacji mogą być skalowane liniowo, a inne mają zależności skalowania i mogą być ograniczone do zakresu, w jakim są w stanie je skalować. Na przykład tunel VPN zapewniający łączność hybrydową dla lokalizacji składników aplikacji ma ograniczenie przepustowości i opóźnienia, do których może być skalowany. W jaki sposób składniki aplikacji są skalowane w celu zapewnienia, że te wymagania zostały spełnione?

Lista kontrolna dotycząca skalowalności

Ustal progi skalowania. Aby obsługiwać różne zależności w aplikacji, określ zakres, w jakim składniki aplikacji w różnych chmurach mogą być skalowane niezależnie od siebie, jednocześnie spełniając wymagania dotyczące uruchamiania aplikacji. Aplikacje hybrydowe często muszą skalować konkretne obszary w aplikacji, aby obsługiwać funkcję, gdy wchodzi w interakcje i wpływa na pozostałą część aplikacji. Na przykład przekroczenie liczby wystąpień frontonia może wymagać skalowania serwera.

Definiowanie harmonogramów skalowania. Większość aplikacji ma okres aktywności, dlatego należy agregować godziny szczytu w harmonogramy w celu koordynowania optymalnego skalowania.

Używanie scentralizowanego systemu monitorowania. Funkcje monitorowania platformy mogą zapewniać skalowanie automatyczne, ale aplikacje hybrydowe wymagają scentralizowanego systemu monitorowania, który agreguje kondycję i obciążenie systemu. Scentralizowany system monitorowania może zainicjować skalowanie zasobu w jednej lokalizacji i skalowanie w zależności od zasobu w innej lokalizacji. Ponadto centralny system monitorowania może śledzić, które chmury automatycznie skalować zasoby, a które nie.

Korzystaj z funkcji skalowania automatycznego (jeśli są dostępne). Jeśli funkcje skalowania automatycznego są częścią architektury, możesz zaimplementować skalowanie automatyczne, ustawiając progi definiujące, kiedy składnik aplikacji musi być skalowany w górę, w dół lub w dół. Przykładem skalowania automatycznego jest połączenie klienta, które jest automatycznie skalowane w jednej chmurze w celu obsługi zwiększonej pojemności, ale powoduje również skalowanie innych zależności aplikacji, rozrzucanych w różnych chmurach. Należy sprawdzić możliwości autoskalowania tych składników zależnych.

Jeśli skalowanie automatyczne nie jest dostępne, rozważ zaimplementowanie skryptów i innych zasobów w celu dostosowania do skalowania ręcznego wyzwalane przez progi w scentralizowanym systemie monitorowania.

Określ oczekiwane obciążenie według lokalizacji. Aplikacje hybrydowe, które obsługują żądania klientów, mogą polegać głównie na jednej lokalizacji. Gdy obciążenie żądań klientów przekracza próg, można dodać dodatkowe zasoby w innej lokalizacji, aby dystrybuować obciążenie żądań przychodzących. Upewnij się, że połączenia klienckie mogą obsłużyć zwiększone obciążenia, a także ustal wszelkie zautomatyzowane procedury dla połączeń klienckich do obsługi obciążenia.

Dostępność

Dostępność to czas, przez który system działa i działa. Dostępność jest mierzona jako procent czasu pracy. Błędy aplikacji, problemy z infrastrukturą i obciążenie systemu mogą zmniejszyć dostępność.

Aby uzyskać podstawowe omówienie tego filaru, zobacz Dostępność w pięciu filarach doskonałości architektury.

Lista kontrolna dotycząca dostępności

Zapewnianie nadmiarowości łączności. Aplikacje hybrydowe wymagają łączności między chmurami, w których aplikacja jest rozrzucana. Istnieje wybór technologii łączności hybrydowej, dlatego oprócz podstawowej technologii należy użyć innej technologii w celu zapewnienia nadmiarowości z możliwościami automatycznego trybu failover w przypadku awarii podstawowej technologii.

Klasyfikowanie domen błędów. Aplikacje odporności na uszkodzenia wymagają wielu domen błędów. Domeny błędów pomagają wyizolować punkt awarii, na przykład w przypadku awarii jednego dysku twardego w środowisku lokalnym, awarii przełącznika górnego stojaka lub niedostępności pełnego centrum danych. W aplikacji hybrydowej lokalizację można sklasyfikować jako domenę błędów. Im więcej wymagań dotyczących dostępności, tym więcej trzeba będzie ocenić, jak należy sklasyfikować pojedynczą domenę błędów.

Klasyfikowanie domen uaktualnienia. Domeny uaktualnienia służą do zapewnienia, że wystąpienia składników aplikacji są dostępne, podczas gdy inne wystąpienia tego samego składnika są serwisowane z aktualizacjami lub uaktualnieniami funkcji. Podobnie jak w przypadku domen błędów, domeny uaktualnienia mogą być klasyfikowane według ich rozmieszczenia w różnych lokalizacjach. Należy określić, czy składnik aplikacji może obsłużyć uaktualnienie w jednej lokalizacji, zanim zostanie uaktualniony w innej lokalizacji lub czy wymagane są inne konfiguracje domeny. Pojedyncza lokalizacja może mieć wiele domen uaktualnienia.

Śledzenie wystąpień i dostępności. Składniki aplikacji o wysokiej jakości mogą być dostępne za pośrednictwem równoważenia obciążenia i synchronicznej replikacji danych. Należy określić, ile wystąpień może być w trybie offline, zanim usługa zostanie przerwana.

Zaimportuj samonaprawianie. Jeśli problem spowoduje przerwę w dostępności aplikacji, system monitorowania może zainicjować działania samonaprawiania do aplikacji, takie jak opróżnienie nieudanego wystąpienia i ponowne jego uruchomienie. Najprawdopodobniej wymaga to centralnego rozwiązania do monitorowania zintegrowanego z hybrydowym potokiem ciągłej integracji i ciągłego dostarczania (CI/CD). Aplikacja jest zintegrowana z systemem monitorowania, aby identyfikować problemy, które mogą wymagać ponownego rozwiązania składnika aplikacji. System monitorowania może również wyzwolić hybrydową cichą/cd w celu ponownego uruchomienia składnika aplikacji i potencjalnie innych składników zależnych w tej samej lub innej lokalizacji.

Obsługa umów dotyczących poziomu usług (SLA). Dostępność ma kluczowe znaczenie dla każdej umowy w celu utrzymania łączności z usługami i aplikacjami, które masz z klientami. Każda lokalizacja, z których korzysta aplikacja hybrydowa, może mieć własną sla. Te różne umowy SLA mogą mieć wpływ na ogólną umowy SLA aplikacji hybrydowej.

Odporność

Odporność to zdolność hybrydowej aplikacji i systemu do odzyskiwania po awarii i kontynuowania działania. Celem odporności jest powrót aplikacji do w pełni działającego stanu po awarii. Strategie odporności obejmują rozwiązania, takie jak tworzenie kopii zapasowych, replikacja i odzyskiwanie po awarii.

Aby uzyskać podstawowe omówienie tego filaru, zobacz Odporność w pięciu filarach doskonałości architektury.

Lista kontrolna dotycząca odporności

Odkrywanie zależności odzyskiwania po awarii. Odzyskiwanie po awarii w jednej chmurze może wymagać zmian składników aplikacji w innej chmurze. Jeśli co najmniej jeden składnik z jednej chmury zostanie prze pracy awaryjnej w innej lokalizacji , w tej samej chmurze lub w innej chmurze, składniki zależne muszą być świadome tych zmian. Obejmuje to również zależności łączności. Odporność wymaga w pełni przetestowanych planów odzyskiwania aplikacji dla każdej chmury.

Ustanów przepływ odzyskiwania. Efektywny projekt przepływu odzyskiwania ocenia składniki aplikacji pod względem możliwości obsługi buforów, ponownych prób, ponawiania próby transferu danych, które zakończyły się niepowodzeniem, i, w razie potrzeby, powrotu do innej usługi lub przepływu pracy. Należy określić, jaki mechanizm kopii zapasowej ma być używany, co obejmuje jego procedura przywracania i jak często jest testowany. Należy również określić częstotliwość tworzenia przyrostowych i pełnych kopii zapasowych.

Przetestuj częściowe odzyskiwanie. Częściowe odzyskiwanie części aplikacji może zapewnić użytkownikom, że wszystkie nie są niedostępne. Ta część planu powinna zapewnić, że częściowe przywracanie nie będzie mieć żadnych efektów ubocznych, takich jak usługa tworzenia kopii zapasowej i przywracania, która współdziała z aplikacją w celu jej famiętnej zamknięcia przed tworzeniem kopii zapasowej.

Określenie instygatorów odzyskiwania po awarii i przypisanie odpowiedzialności. Plan odzyskiwania powinien opisywać, kto i jakie role mogą inicjować akcje tworzenia kopii zapasowej i odzyskiwania, a także to, co można utworzyć i przywrócić.

Porównaj progi samonaprawiania z odzyskiwaniem po awarii. Określ możliwości samonaprawiania aplikacji na potrzeby automatycznej inicjacji odzyskiwania oraz czas wymagany na to, aby samonaprawa aplikacji została uznana za niepowodzenie lub powodzenie. Określ progi dla każdej chmury.

Sprawdź dostępność funkcji odporności. Określ dostępność funkcji i możliwości odporności dla każdej lokalizacji. Jeśli lokalizacja nie zapewnia wymaganych możliwości, rozważ zintegrowanie tej lokalizacji ze scentralizowaną usługą, która zapewnia funkcje odporności.

Określanie przestojów. Określ oczekiwany przestój spowodowany konserwacją całej aplikacji i składników aplikacji.

Udokumentuj procedury rozwiązywania problemów. Zdefiniuj procedury rozwiązywania problemów dotyczące ponownego wdzywu zasobów i składników aplikacji.

Możliwości zarządzania

Zagadnienia dotyczące sposobu zarządzania aplikacjami hybrydowymi mają kluczowe znaczenie dla projektowania architektury. Dobrze zarządzana aplikacja hybrydowa zapewnia infrastrukturę jako kod, który umożliwia integrację spójnego kodu aplikacji we wspólnym potoku projektowania. Wdrażając spójne i indywidualne testowanie zmian w infrastrukturze w całym systemie, można zapewnić zintegrowane wdrożenie, jeśli zmiany przejdą testy, umożliwiając ich scalenie z kodem źródłowym.

Podstawowe omówienie tego filaru można znaleźć DevOps pięciu filarach doskonałości architektury.

Lista kontrolna możliwości zarządzania

Implementowanie monitorowania. Użyj scentralizowanego systemu monitorowania składników aplikacji rozrzutego w chmurach, aby zapewnić zagregowany widok ich kondycji i wydajności. Ten system obejmuje monitorowanie składników aplikacji i powiązanych możliwości platformy.

Określ części aplikacji, które wymagają monitorowania.

Koordynowanie zasad. Każda lokalizacja, która obejmuje aplikację hybrydową, może mieć własne zasady, które obejmują dozwolone typy zasobów, konwencje nazewnictwa, tagi i inne kryteria.

Definiowanie ról i korzystanie z nich. Jako administrator bazy danych musisz określić uprawnienia wymagane dla różnych osób (takich jak właściciel aplikacji, administrator bazy danych i użytkownik końcowy), które muszą uzyskać dostęp do zasobów aplikacji. Te uprawnienia należy skonfigurować dla zasobów i wewnątrz aplikacji. System kontroli dostępu opartej na rolach (RBAC) umożliwia ustawienie tych uprawnień w zasobach aplikacji. Te prawa dostępu są trudne, gdy wszystkie zasoby są wdrażane w jednej chmurze, ale wymagają jeszcze większej uwagi, gdy zasoby są rozmieszczone w chmurach. Uprawnienia do zasobów ustawionych w jednej chmurze nie mają zastosowania do zasobów ustawionych w innej chmurze.

Użyj potoków ci/cd. Potok ciągłej integracji i ciągłego tworzenia (CI/CD, Continuous Integration and Continuous Development) może zapewnić spójny proces tworzenia i wdrażania aplikacji, które obejmują chmury, oraz zapewniać gwarancję jakości infrastruktury i aplikacji. Ten potok umożliwia przetestowanie infrastruktury i aplikacji w jednej chmurze i wdrożenie jej w innej chmurze. Potok umożliwia nawet wdrażanie niektórych składników aplikacji hybrydowej w jednej chmurze, a inne w innej chmurze, co zasadniczo stanowi podstawę wdrożenia aplikacji hybrydowej. System ci/CD ma kluczowe znaczenie dla obsługi składników aplikacji zależności podczas instalacji, takich jak aplikacja internetowa wymagająca parametrów połączenia z bazą danych.

Zarządzanie cyklem życia. Ponieważ zasoby aplikacji hybrydowej mogą obejmować lokalizacje, możliwość zarządzania cyklem życia każdej lokalizacji musi być zagregowana w jedną jednostkę zarządzania cyklem życia. Zastanów się, jak są one tworzone, aktualizowane i usuwane.

Sprawdź strategie rozwiązywania problemów. Rozwiązywanie problemów z aplikacją hybrydową obejmuje więcej składników aplikacji niż ta sama aplikacja, która działa w jednej chmurze. Oprócz łączności między chmurami aplikacja działa na dwóch platformach, a nie na jednej. Ważnym zadaniem w rozwiązywaniu problemów z aplikacjami hybrydowymi jest zbadanie zagregowanego monitorowania kondycji i wydajności składników aplikacji.

Zabezpieczenia

Bezpieczeństwo jest jedną z głównych kwestii do rozważenia w przypadku każdej aplikacji w chmurze i staje się jeszcze bardziej krytyczne dla aplikacji w chmurze hybrydowej.

Aby uzyskać podstawowe omówienie tego filaru, zobacz Security in the five pillars of architecture excellence (Bezpieczeństwo w pięciu filarach doskonałości architektury).

Lista kontrolna zabezpieczeń

Załóżmy naruszenie zabezpieczeń. Jeśli jedna część aplikacji zostanie naruszona, upewnij się, że istnieją rozwiązania, które minimalizują rozrzut naruszenia, nie tylko w tej samej lokalizacji, ale również w różnych lokalizacjach.

Monitoruj dozwolony dostęp do sieci. Określ zasady dostępu do sieci dla aplikacji, takie jak dostęp do aplikacji tylko z określonej podsieci i zezwalaj na poprawne działanie tylko minimalnych portów i protokołów między składnikami wymaganymi przez aplikację.

Zastosowanie niezawodnego uwierzytelniania. Niezawodny schemat uwierzytelniania ma kluczowe znaczenie dla bezpieczeństwa aplikacji. Rozważ użycie dostawcy tożsamości federacyjnych, który zapewnia funkcje logowania pojedynczego i stosuje co najmniej jeden z następujących schematów: logowanie za pomocą nazwy użytkownika i hasła, klucze publiczne i prywatne, uwierzytelnianie dwuskładnikowe lub wieloskładnikowe oraz zaufane grupy zabezpieczeń. Określ odpowiednie zasoby do przechowywania poufnych danych i innych wpisów tajnych na potrzeby uwierzytelniania aplikacji, oprócz typów certyfikatów i ich wymagań.

Użyj szyfrowania. Zidentyfikuj, które obszary aplikacji używają szyfrowania, na przykład do przechowywania danych lub komunikacji z klientem i uzyskiwania do nich dostępu.

Korzystanie z bezpiecznych kanałów. Bezpieczny kanał w chmurach ma kluczowe znaczenie dla zapewnienia kontroli zabezpieczeń i uwierzytelniania, ochrony w czasie rzeczywistym, kwarantanny i innych usług w chmurach.

Definiowanie ról i korzystanie z nich. Implementowanie ról dla konfiguracji zasobów i dostępu z jedną tożsamością w chmurach. Określ wymagania dotyczące kontroli dostępu opartej na rolach (RBAC) dla aplikacji i jej zasobów platformy.

Przejmij inspekcję systemu. Monitorowanie systemu może rejestrować i agregować dane zarówno ze składników aplikacji, jak i powiązanych operacji platformy w chmurze.

Podsumowanie

Ten artykuł zawiera listę kontrolną elementów, które należy wziąć pod uwagę podczas tworzenia i projektowania aplikacji hybrydowych. Przejrzenie tych filarów przed wdrożeniem aplikacji zapobiega wprowadzeniu tych pytań w przypadku procesów produkcyjnych i potencjalnie wymaga ponownego przejrzenia projektu.

Z góry może się wydawać, że jest to czasochłonne zadanie, ale możesz łatwo uzyskać zwrot z inwestycji, jeśli projektujesz aplikację na podstawie tych filarów.

Następne kroki

Więcej informacji można znaleźć w następujących zasobach: