Zagadnienia dotyczące projektowania aplikacji hybrydowych
Platforma Microsoft Azure jest jedyną spójną chmurą hybrydową. Umożliwia ponowne wykorzystanie inwestycji programistycznych i umożliwia aplikacjom, które mogą obejmować globalną platformę Azure, suwerenne chmury platformy Azure i usługę Azure Stack, która jest rozszerzeniem platformy Azure w centrum danych. Aplikacje obejmujące chmury są również nazywane aplikacjami hybrydowymi .
Przewodnik po architekturze aplikacji platformy Azure
Ten artykuł rozszerza Filary jakości oprogramowania omówione w przewodniku po architekturze Azure Application, koncentrując się specjalnie na projektowaniu aplikacji hybrydowych. Ponadto dodajemy filar umieszczania, ponieważ aplikacje hybrydowe nie są wyłączne dla jednej chmury ani jednego lokalnego centrum danych.
Scenariusze hybrydowe różnią się znacznie w zależności od zasobów, które są dostępne do programowania, i obejmują zagadnienia, takie jak geografia, zabezpieczenia, dostęp do Internetu i inne zagadnienia. Chociaż ten przewodnik nie może wyliczyć konkretnych zagadnień, może on dostarczyć kluczowych wytycznych i najlepszych rozwiązań, które należy przestrzegać. Pomyślne projektowanie, konfigurowanie, wdrażanie i obsługa architektury aplikacji hybrydowej obejmuje wiele zagadnień dotyczących projektowania, które mogą nie być z natury znane.
Ten dokument ma na celu agregowanie możliwych pytań, które mogą wystąpić podczas implementowania aplikacji hybrydowych i zawiera zagadnienia (te filary) oraz najlepsze rozwiązania dotyczące ich pracy. Odpowiadając na te pytania w fazie projektowania, można uniknąć problemów, które mogą powodować w środowisku produkcyjnym.
Zasadniczo są to pytania, o których należy pomyśleć przed utworzeniem aplikacji hybrydowej. Aby rozpocząć pracę, należy wykonać następujące czynności:
- Identyfikowanie i ocenianie składników aplikacji.
- Ocena składników aplikacji względem filarów.
Ocena składników aplikacji
Każdy składnik aplikacji ma własną konkretną rolę w większej aplikacji i powinien być przeglądany ze wszystkimi zagadnieniami dotyczącymi projektowania. Wymagania i funkcje poszczególnych składników powinny być mapowe na te zagadnienia, aby ułatwić określenie architektury aplikacji.
Dekompiluj aplikację do jej składników, badając architekturę aplikacji i określając, z czego się składa. Składniki mogą również zawierać inne aplikacje, z którymi aplikacja wchodzi w interakcję. Podczas identyfikowania składników należy ocenić zamierzone operacje hybrydowe zgodnie z ich cechami, zadając następujące pytania:
- Jaki jest cel składnika?
- Jakie są współzależności między składnikami?
Na przykład aplikacja może mieć fronton i zaplecze zdefiniowane jako dwa składniki. W scenariuszu hybrydowym fronton znajduje się w jednej chmurze, a zaplecze znajduje się w drugiej. Aplikacja udostępnia kanały komunikacyjne między frontonem a użytkownikiem, a także między frontonem a zapleczem.
Składnik aplikacji jest definiowany przez wiele formularzy i scenariuszy. Najważniejszym zadaniem jest zidentyfikowanie ich i lokalizacji w chmurze lub lokalizacji lokalnej.
Typowe składniki aplikacji do uwzględnienia w spisie są wymienione w tabeli 1.
Tabela 1. Typowe składniki aplikacji
składników |
wskazówki dotyczące aplikacji hybrydowej |
---|---|
Połączenia klienta | Aplikacja (na dowolnym urządzeniu) może uzyskiwać dostęp do użytkowników na różne sposoby z jednego punktu wejścia, w tym na następujące sposoby: — Model klient-serwer, który wymaga, aby użytkownik miał zainstalowanego klienta do pracy z aplikacją. Aplikacja oparta na serwerze, która jest uzyskiwana z przeglądarki. - Połączenia klienckie mogą zawierać powiadomienia, gdy połączenie jest przerwane lub alerty, gdy mogą obowiązywać opłaty za roaming. |
Uwierzytelnianie | Uwierzytelnianie może być wymagane dla użytkownika łączącego się z aplikacją lub z jednego składnika łączącego się z innym. |
Apis | Deweloperzy mogą zapewnić programistyczny dostęp do aplikacji za pomocą 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ż dekompilować aplikację do niezależnych jednostek logicznych. |
Usługi | Możesz stosować zwięzłe usługi, aby zapewnić funkcje aplikacji. Usługa może być aparatem, na który działa aplikacja. |
Kolejek | Kolejki umożliwiają organizowanie stanu cykli życia i stanów składników aplikacji. Te kolejki mogą udostępniać komunikaty, powiadomienia i buforowanie możliwości subskrybowania stron. |
Magazyn danych | Aplikacja może być bezstanowa lub stanowa. Aplikacje stanowe wymagają magazynu danych, który może być spełniony przez wiele formatów i woluminów. |
Buforowanie danych | Składnik buforowania danych w projekcie może strategicznie rozwiązywać problemy z opóźnieniami i odgrywać rolę w wyzwalaniu skalowania chmury. |
Pozyskiwanie danych | Dane można przesyłać do aplikacji na wiele sposobów, począwszy od wartości przesyłanych przez użytkownika w formularzu internetowym po ciągły przepływ danych o dużej ilości. |
Przetwarzanie danych | Zadania przetwarzania danych (takie jak raporty, analiza, eksporty wsadowe i przekształcanie danych) mogą być przetwarzane w źródle lub odciążane w oddzielnym składniku przy użyciu kopii danych. |
Ocena składników aplikacji dla filarów
Dla każdego składnika należy ocenić jego cechy dla każdego filaru. Podczas oceniania każdego składnika ze wszystkimi filarami możesz nie rozważyć pytań, które mogą stać się znane, które mają wpływ na projekt aplikacji hybrydowej. Wykonanie tych zagadnień może zwiększyć wartość w optymalizacji aplikacji. Tabela 2 zawiera opis każdego filaru w odniesieniu do aplikacji hybrydowych.
Tabela 2. Filarów
filaru |
opis |
---|---|
Umieszczenie | Strategiczne pozycjonowanie składników w aplikacjach hybrydowych. |
Skalowalność | Możliwość obsługi zwiększonego obciążenia przez system. |
Dostępność | Proporcja czasu, przez który aplikacja hybrydowa działa i działa. |
Elastyczność | Możliwość odzyskania aplikacji hybrydowej. |
Zarządzania | Procesy operacji, które utrzymują działanie systemu w środowisku produkcyjnym. |
Bezpieczeństwo | Ochrona aplikacji hybrydowych i danych przed zagrożeniami. |
Umieszczenie
Aplikacja hybrydowa z założenia ma zagadnienia dotyczące umieszczania, takie jak w przypadku centrum danych.
Umieszczanie to ważne zadanie pozycjonowania składników, dzięki czemu mogą najlepiej obsługiwać aplikację hybrydową. Z definicji aplikacje hybrydowe obejmują lokalizacje, takie jak z środowiska lokalnego do chmury i między różnymi chmurami. Składniki aplikacji można umieścić w chmurach na dwa sposoby:
pionowych aplikacji hybrydowych
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.aplikacji hybrydowych w poziomie
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ą być świadomi ich lokalizacji, podczas gdy inne nie mają żadnej wiedzy na temat ich lokalizacji i rozmieszczenia. Tę cnotę można osiągnąć za pomocą warstwy abstrakcji. Ta warstwa z nowoczesną strukturą 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 są wymagane do działania lub wymagają certyfikacji dla określonej chmury. Może to obejmować wymagania dotyczące niezależności firmy lub dyktowane przez prawo. Ponadto określ, czy jakiekolwiek operacje lokalne są wymagane dla określonej lokalizacji lub ustawień regionalnych.
Ustalanie zależności łączności. Wymagane lokalizacje i inne czynniki mogą dyktować zależności łączności między składnikami. Podczas umieszczenia składników określ optymalną łączność i bezpieczeństwo komunikacji między nimi. Opcje obejmują sieci VPN,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 struktur aplikacji, takich jak kontenery lub mikrousługi, aby zaplanować przenoszenie operacji i zapobiec zależnościom usługi.
Określanie wymagań dotyczących niezależności danych. Aplikacje hybrydowe są przeznaczone do obsługi izolacji danych, na przykład w lokalnym centrum danych. Przejrzyj umieszczanie zasobów, aby zoptymalizować powodzenie pod kątem obsługi tego wymagania.
Zaplanuj opóźnienie. Operacje między chmurami mogą wprowadzać fizyczną odległość między składnikami aplikacji. Należy ustalić wymagania, aby uwzględnić wszelkie opóźnienia.
Kontrolowanie przepływów ruchu. Obsługa szczytowego użycia oraz odpowiednia i zabezpieczona komunikacja dla danych osobowych umożliwiających identyfikację danych w przypadku uzyskiwania dostępu do frontonu w chmurze publicznej.
Skalowalność
Skalowalność to możliwość obsługi zwiększonego obciążenia aplikacji przez system, który może się zmieniać wraz z upływem czasu, ponieważ inne czynniki i siły wpływają na rozmiar odbiorców, a także rozmiar i zakres aplikacji.
Aby zapoznać się z podstawowym omówieniem tego filaru, zobacz Skalowalność w pięciu filarach doskonałości architektury.
Podejście do skalowania w poziomie dla aplikacji hybrydowych umożliwia dodanie większej liczby wystąpień w celu spełnienia wymagań, a następnie wyłączenie ich w cichszych okresach.
W scenariuszach hybrydowych skalowanie poszczególnych składników wymaga dodatkowego rozważenia, gdy składniki są rozmieszczone w chmurach. Skalowanie jednej części aplikacji może wymagać skalowania innego. Jeśli na przykład liczba połączeń klienckich wzrośnie, ale usługi internetowe aplikacji nie są odpowiednio skalowane w poziomie, obciążenie bazy danych może nasycić aplikację.
Niektóre składniki aplikacji mogą być skalowane liniowo, a inne mają zależności skalowania i mogą być ograniczone do tego, w jakim stopniu mogą być skalowane. Na przykład tunel VPN zapewniający łączność hybrydową dla lokalizacji składników aplikacji ma limit przepustowości i opóźnienia, do których można ją skalować. W jaki sposób składniki aplikacji są skalowane w celu zapewnienia spełnienia tych wymagań?
Lista kontrolna skalowalności
Ustalanie progów skalowania. Aby obsłużyć 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ć określone obszary w aplikacji, aby obsługiwać funkcję podczas interakcji i wpływać na pozostałą część aplikacji. Na przykład przekroczenie liczby wystąpień frontonu może wymagać skalowania zaplecza.
Zdefiniuj harmonogramy skalowania. Większość aplikacji ma zajęte okresy, więc musisz zagregować ich czas szczytu do harmonogramów, aby koordynować optymalne skalowanie.
Użyj scentralizowanego systemu monitorowania. Funkcje monitorowania platformy mogą zapewnić 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 skalują zasoby i które chmury nie.
Korzystaj z funkcji skalowania automatycznego (zgodnie z dostępnością). Jeśli funkcje skalowania automatycznego są częścią architektury, implementujesz skalowanie automatyczne, ustawiając progi określające, kiedy składnik aplikacji musi być skalowany w górę, w poziomie, w dół lub w. 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 w różnych chmurach. Należy ustalić możliwości skalowania automatycznego tych składników zależnych.
Jeśli skalowanie automatyczne nie jest dostępne, rozważ zaimplementowanie skryptów i innych zasobów, aby obsłużyć skalowanie ręczne, wyzwalane przez progi w scentralizowanym systemie monitorowania.
Określ oczekiwane obciążenie według lokalizacji. Aplikacje hybrydowe obsługujące żądania klientów mogą polegać głównie na jednej lokalizacji. Gdy obciążenie żądań klientów przekracza próg, dodatkowe zasoby można dodać w innej lokalizacji w celu rozłożenia obciążenia żądań przychodzących. Upewnij się, że połączenia klienta mogą obsługiwać zwiększone obciążenia, a także określić wszelkie zautomatyzowane procedury dla połączeń klienta w celu obsługi obciążenia.
Dostępność
Dostępność to czas, w jaki 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 zapoznać się z podstawowym omówieniem tego filaru, zobacz dostępność w pięciu filarach doskonałości architektury.
Lista kontrolna dostępności
Zapewnienie nadmiarowości łączności. Aplikacje hybrydowe wymagają łączności między chmurami rozmieszczonymi w aplikacji. Masz wybór technologii łączności hybrydowej, więc oprócz wyboru podstawowej technologii należy użyć innej technologii, aby zapewnić nadmiarowość z automatycznymi możliwościami trybu failover, jeśli podstawowa technologia ulegnie awarii.
Klasyfikowanie domen błędów. Aplikacje odporne na błędy wymagają wielu domen błędów. Domeny błędów pomagają wyizolować punkt awarii, na przykład w przypadku awarii pojedynczego dysku twardego lokalnie, jeśli przełącznik top-of-rack ulegnie awarii lub jeśli pełne centrum danych jest niedostępne. W aplikacji hybrydowej lokalizację można sklasyfikować jako domenę błędów. W przypadku większej liczby wymagań dotyczących dostępności tym bardziej należy ocenić, jak należy sklasyfikować pojedynczą domenę błędów.
Klasyfikowanie domen uaktualniania. Domeny uaktualniania są używane do zapewnienia dostępności wystąpień składników aplikacji, podczas gdy inne wystąpienia tego samego składnika są obsługiwane za pomocą aktualizacji lub uaktualnień funkcji. Podobnie jak w przypadku domen błędów, domeny uaktualniania mogą być klasyfikowane przez ich umieszczanie w różnych lokalizacjach. Należy określić, czy składnik aplikacji może pomieścić uaktualnianie w jednej lokalizacji, zanim zostanie uaktualniony w innej lokalizacji lub czy są wymagane inne konfiguracje domeny. Jedna lokalizacja może mieć wiele domen uaktualniania.
Śledzenie wystąpień i dostępności. Składniki aplikacji o wysokiej dostępności mogą być dostępne za pośrednictwem równoważenia obciążenia i synchronicznej replikacji danych. Musisz określić, ile wystąpień może być w trybie offline, zanim usługa zostanie przerwana.
Implementowanie samonaprawiania. W przypadku wystąpienia problemu powoduje przerwę w dostępności aplikacji, wykrywanie przez system monitorowania może zainicjować działania samonaprawiające się do aplikacji, takie jak opróżnianie wystąpienia, które zakończyło się niepowodzeniem i ponowne wdrożenie go. 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 w celu identyfikowania problemów, które mogą wymagać ponownego wdrożenia składnika aplikacji. System monitorowania może również wyzwolić hybrydową ciągłą integrację/ciągłe wdrażanie w celu ponownego wdrożenia składnika aplikacji i potencjalnie innych składników zależnych w tych samych lub innych lokalizacjach.
Zachowaj umowy dotyczące poziomu usług (SLA). Dostępność ma kluczowe znaczenie dla wszelkich umów w celu utrzymania łączności z usługami i aplikacjami, które masz z klientami. Każda lokalizacja, na którą opiera się aplikacja hybrydowa, może mieć własną umowę SLA. Te różne umowy SLA mogą mieć wpływ na ogólną umowę SLA aplikacji hybrydowej.
Elastyczność
Odporność to możliwość odzyskiwania po awarii aplikacji hybrydowej i systemu oraz kontynuowania działania. Celem odporności jest zwrócenie aplikacji do w pełni działającego stanu po wystąpieniu awarii. Strategie odporności obejmują rozwiązania, takie jak tworzenie kopii zapasowych, replikacja i odzyskiwanie po awarii.
Aby zapoznać się z podstawowym omówieniem tego filaru, zobacz odporność w pięciu filarach doskonałości architektury.
Lista kontrolna odporności
Odkrywanie zależności odzyskiwania po awarii. Odzyskiwanie po awarii w jednej chmurze może wymagać zmian w składnikach aplikacji w innej chmurze. Jeśli jeden lub wiele składników z jednej chmury jest przełączonych w tryb failover do 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 przetestowanego planu odzyskiwania aplikacji dla każdej chmury.
Ustanów przepływ odzyskiwania. Skuteczny projekt przepływu odzyskiwania ocenił składniki aplikacji pod kątem ich możliwości uwzględnienia, ponownych prób, ponawiania próby transferu danych, a w razie potrzeby wróć do innej usługi lub przepływu pracy. Należy określić, jaki mechanizm tworzenia kopii zapasowych ma być używany, jaka jest jego procedura przywracania i jak często jest testowany. Należy również określić częstotliwość tworzenia kopii zapasowych przyrostowych i pełnych.
Testowanie częściowych odzyskiwania. Częściowe odzyskiwanie części aplikacji może zapewnić użytkownikom pewność, że wszystkie nie są niedostępne. Ta część planu powinna zapewnić, że częściowe przywracanie nie ma żadnych skutków ubocznych, takich jak usługa tworzenia kopii zapasowej i przywracania, która współdziała z aplikacją, aby bezpiecznie ją zamknąć przed utworzeniem kopii zapasowej.
Określ inicjatory odzyskiwania po awarii i przypisz odpowiedzialność. Plan odzyskiwania powinien opisywać, kto i jakie role mogą inicjować akcje tworzenia kopii zapasowych i odzyskiwania oprócz tego, 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 do samodzielnego naprawiania aplikacji, który ma zostać uznany 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 z powodu konserwacji aplikacji jako całości i jako składników aplikacji.
Procedury rozwiązywania problemów z dokumentami. Definiowanie procedur rozwiązywania problemów dotyczących ponownego wdrażania zasobów i składników aplikacji.
Zarządzania
Zagadnienia dotyczące sposobu zarządzania aplikacjami hybrydowymi mają kluczowe znaczenie podczas projektowania architektury. Dobrze zarządzana aplikacja hybrydowa udostępnia infrastrukturę jako kod, który umożliwia integrację spójnego kodu aplikacji w typowym potoku programowania. Implementując spójne dla całego systemu i indywidualne testowanie zmian w infrastrukturze, można zapewnić zintegrowane wdrożenie, jeśli zmiany przejdą testy, umożliwiając ich scalenie z kodem źródłowym.
Aby zapoznać się z podstawowym omówieniem tego filaru, zobacz DevOps w pięciu filarach doskonałości architektury.
Lista kontrolna dotycząca możliwości zarządzania
Zaimplementuj monitorowanie. Użyj scentralizowanego systemu monitorowania składników aplikacji rozmieszczonych w chmurach, aby zapewnić zagregowany widok ich kondycji i wydajności. Ten system obejmuje monitorowanie zarówno składników aplikacji, jak i powiązanych możliwości platformy.
Określ części aplikacji, które wymagają monitorowania.
Koordynowanie zasad. Każda lokalizacja obejmująca aplikację hybrydową może mieć własne zasady obejmujące dozwolone typy zasobów, konwencje nazewnictwa, tagi i inne kryteria.
Definiowanie i używanie ról. 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ą uzyskiwać dostęp do zasobów aplikacji. Te uprawnienia należy skonfigurować w zasobach i w aplikacji. System kontroli dostępu opartej na rolach (RBAC) umożliwia ustawienie tych uprawnień dla zasobów 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ągłej integracji/ciągłego wdrażania. Potok ciągłej integracji i ciągłego opracowywania (CI/CD) może zapewnić spójny proces tworzenia i wdrażania aplikacji obejmujących chmury oraz zapewnienie kontroli jakości dla 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 wdrożenie niektórych składników aplikacji hybrydowej w jednej chmurze i innych składnikach w innej chmurze, zasadniczo tworząc podstawy wdrożenia aplikacji hybrydowej. System ciągłej integracji/ciągłego wdrażania ma kluczowe znaczenie dla obsługi składników aplikacji zależności dla siebie podczas instalacji, takich jak aplikacja internetowa wymagają parametrów połączenia z bazą danych.
Zarządzanie cyklem życia. Ze względu na to, że zasoby aplikacji hybrydowej mogą obejmować lokalizacje, każda funkcja zarządzania cyklem życia musi zostać zagregowana w jednej jednostce zarządzania cyklem życia. Rozważ sposób ich tworzenia, aktualizowania i usuwania.
Zapoznaj się ze strategiami rozwiązywania problemów. Rozwiązywanie problemów z aplikacją hybrydową obejmuje więcej składników aplikacji niż ta sama aplikacja działająca w jednej chmurze. Oprócz łączności między chmurami aplikacja działa na dwóch platformach zamiast jednej. Ważnym zadaniem w rozwiązywaniu problemów z aplikacjami hybrydowymi jest zbadanie zagregowanej kondycji i monitorowania wydajności składników aplikacji.
Bezpieczeństwo
Bezpieczeństwo jest jednym z głównych zagadnień dotyczących każdej aplikacji w chmurze i staje się jeszcze bardziej krytyczne dla hybrydowych aplikacji w chmurze.
Aby zapoznać się z podstawowym omówieniem tego filaru, zobacz Security w pięciu filarach doskonałości architektury.
Lista kontrolna zabezpieczeń
Przyjmij naruszenie. Jeśli jedna część aplikacji zostanie naruszona, upewnij się, że istnieją rozwiązania, aby zminimalizować rozprzestrzenianie się naruszenia, nie tylko w obrębie tej samej lokalizacji, ale także w różnych lokalizacjach.
Monitorowanie dozwolonego dostępu do sieci. Określ zasady dostępu do sieci dla aplikacji, takie jak uzyskiwanie dostępu tylko do aplikacji z określonej podsieci i zezwalanie tylko na minimalne porty i protokoły między składnikami wymaganymi do prawidłowego działania aplikacji.
Stosowanie niezawodnego uwierzytelniania. Niezawodny schemat uwierzytelniania ma kluczowe znaczenie dla bezpieczeństwa aplikacji. Rozważ użycie dostawcy tożsamości federacyjnej, który zapewnia możliwości logowania jednokrotnego i stosuje co najmniej jeden z następujących schematów: logowanie użytkowników i hasło, klucze publiczne i prywatne, uwierzytelnianie dwuskładnikowe lub wieloskładnikowe i 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. Określ, które obszary aplikacji używają szyfrowania, na przykład na potrzeby magazynu danych lub komunikacji klienta i dostępu.
Używaj 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 chmurze.
Definiowanie i używanie ról. Zaimplementuj role dla konfiguracji zasobów i dostępu z jedną tożsamością w chmurach. Określ wymagania kontroli dostępu opartej na rolach (RBAC) dla aplikacji i jej zasobów platformy.
Przeprowadź 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.
Streszczenie
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 uniemożliwia przejście do tych pytań w przypadku przestojów produkcyjnych i potencjalnie wymaga ponownego zapoznania się z projektem.
To może wydawać się czasochłonne zadanie wcześniej, ale łatwo uzyskać zwrot z inwestycji, jeśli projektujesz aplikację na podstawie tych filarów.
Następne kroki
Aby uzyskać więcej informacji, zobacz następujące zasoby:
- chmura hybrydowa
-
hybrydowych aplikacji w chmurze - Tworzenie szablonów usługi Azure Resource Manager na potrzeby spójności w chmurze