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.
Aplikacja przeznaczona dla obciążeń hostowanych w chmurze spełnia wymagania biznesowe rozwiązania i zawiera składniki i funkcje natywne dla chmury. Dobrze zaprojektowana aplikacja w chmurze uwzględnia zagadnienia dotyczące niezawodności, zabezpieczeń, kosztów, operacji i wydajności. Te zagadnienia są zgodne z wymaganiami biznesowymi, specyficznymi cechami platformy hostingu w chmurze i funkcjami zapewnianymi przez platformę.
Nie musisz używać określonego stylu aplikacji, takiego jak mikrousługi, do projektowania aplikacji dla obciążeń w chmurze. Hosting w chmurze sprawia jednak, że wiele wzorców projektowych aplikacji jest bardziej przystępnych niż hostowanie rozwiązań, które nie zapewniają natywnie różnych opcji aplikacji i platform danych, możliwości skalowania, mechanizmów kontroli zabezpieczeń i opcji obsługi komunikatów. Obciążenia w chmurze korzystają z aplikacji, które są zaprojektowane jako mniejsze, zdecentralizowane usługi. Te usługi komunikują się za pośrednictwem interfejsów API lub, wykorzystując asynchroniczne przesyłanie komunikatów albo obsługę zdarzeń. Aplikacje skalują się poziomo, dodając nowe wystąpienia, gdy wzrasta zapotrzebowanie.
Aplikacje korzystające z platform hostingu aplikacji w chmurze, możliwości obsługi komunikatów i usług rozdzielonych podlegają typowym problemom dotyczącym systemów rozproszonych. W tych systemach stan aplikacji jest dystrybuowany, a operacje są wykonywane równolegle i asynchronicznie. Aplikacje muszą być odporne, gdy wystąpią błędy. Złośliwi aktorzy stale atakują aplikacje. Wdrożenia muszą być zautomatyzowane i przewidywalne. Monitorowanie i telemetria mają kluczowe znaczenie dla uzyskania wglądu w system.
W poniższych kolumnach wymieniono niektóre typowe cechy projektowania lokalnego i projektowania chmury.
Typowy projekt na miejscu
- Funkcje i dane monolityczne i kolokowane
- Zaprojektowana pod kątem przewidywalnej skali lub nadmiernie wyposażona
- Relacyjna baza danych
- Synchronizowane przetwarzanie
- Zaprojektowano w celu uniknięcia awarii i mierzenia średniego czasu między awariami (MTBF)
- Zasoby są aprowidowane za pośrednictwem funkcji IT
- Serwery snowflake i serwery pet
typowy projekt chmury
- Dekomposowane i rozproszone funkcje i dane
- Zaprojektowany z myślą o elastycznej skali
- Trwałość wielolotowa przy użyciu różnych technologii magazynowania
- Przetwarzanie asynchroniczne
- Zaprojektowana do wytrzymania awarii i pomiarów MTBF
- Przygotowanie do awarii i pomiarów średniego czasu naprawy
- Zasoby są dostarczane zgodnie z potrzebami poprzez infrastrukturę jako kod.
- Niezmienna i zastępowalna infrastruktura
Projektowanie aplikacji dla platformy Azure
Architekci chmury, którzy mają wiedzę na temat hostingu w chmurze i mogą podejmować strategiczne decyzje dotyczące kompromisu, powinny projektować aplikacje w chmurze. Platforma Azure udostępnia zasoby pomagające architektom opracowywać aplikacje i kierować zespołami deweloperów w celu ich zaimplementowania. Aby osiągnąć dobry projekt obciążenia i aplikacji, architekci muszą:
- Dopasowuje się do standardów wdrażania chmury organizacji.
- Upewnij się, że projekt jest zgodny z platformą Azure Well-Architected Framework.
- Zapoznaj się z typowymi stylami architektury, obciążeniami i najlepszymi rozwiązaniami.
- Użyj wzorców projektowych, aby rozwiązać typowe problemy i wprowadzić strategiczne kompromisy.
- Podejmowanie świadomych wyborów technologicznych.
- Ocena architektur referencyjnych.
- Przejrzyj przewodniki specyficzne dla usługi.
Platformy Azure można używać do hostowania i ponownego hostowania aplikacji, które nie są przeznaczone dla chmury. Aplikacje obciążeń można dostosować tak, aby korzystały z funkcji chmury, ale ponowne hostowanie aplikacji przeznaczonej dla stałych zasobów i skalowania nie jest uznawane za wdrożenie natywne dla chmury.
Dopasowanie do standardów wdrażania chmury organizacyjnej
Aplikacja jest częścią obciążenia, które prawdopodobnie musi spełniać standardy organizacyjne i zasady zarządzania. Organizacje o dowolnym rozmiarze i dojrzałości w chmurze mogą używać Cloud Adoption Framework dla platformy Azure, aby sformalizować strategię wdrażania w całej platformie Azure, gotowość, innowacje, zarządzanie, zarządzanie oraz inicjatywy dotyczące zabezpieczeń. Częścią tego podejścia jest standaryzacja spójnego podejścia we wszystkich obciążeniach, takimi jak używanie stref docelowych platformy Azure. Strefy docelowe platformy Azure zapewniają ład w całej organizacji i zapewniają zespołom obciążeń i architektom zdemokratyzowany dostęp do zasobów w celu realizacji zlokalizowanych celów biznesowych. Jako architekt, który projektuje aplikacje, ważne jest, aby zrozumieć środowisko makro i oczekiwania dotyczące operacji związanych z obciążeniem, takich jak obszary docelowe aplikacji.
Strategia wdrażania platformy Azure w organizacji nie powinna mieć wpływu na wybrany styl architektury, ale może ograniczać wybory technologiczne lub granice zabezpieczeń.
Postępuj zgodnie z Well-Architected Framework
Możesz ocenić projekt i implementację dowolnego obciążenia za pomocą różnych obiektywów. Użyj struktury Well-Architected, aby ocenić i dostosować decyzje do zasad projektowania w ramach tych pięciu kluczowych filarów architektury:
Postępując zgodnie z tymi zasadami i oceniając kompromisy między tymi filarami architektury, można utworzyć projekt, który spełnia wymagania biznesowe i jest wystarczająco trwały, konserwowany, bezpieczny i zoptymalizowany pod kątem kosztów do działania na platformie Azure. Te decyzje powinny informować o wyborze stylu architektury i pomóc w zawężaniu wyborów technologicznych lub granic zabezpieczeń w związku z potrzebami konkretnego obciążenia.
Twój zespół lub organizacja może mieć inne zasady projektowania, takie jak zrównoważony rozwój i etyka, których można użyć do oceny obciążenia.
Omówienie typowych stylów architektury
Po zrozumieniu środowiska organizacyjnego, w którym będzie istnieć aplikacja, oraz podstawy dobrego projektu architektury na podstawie platformy Well-Architected, należy zdecydować, jakiego rodzaju architekturę utworzyć. Może to być architektura mikrousług, bardziej tradycyjna aplikacja N-warstwowa lub rozwiązanie do obsługi danych big data. Te style architektury są odrębne i zaprojektowane pod kątem różnych wyników. Podczas oceniania stylów architektury należy również wybrać modele magazynu danych, aby rozwiązać problem z zarządzaniem stanem.
Oceń różne style architektury i modele magazynu danych, aby zrozumieć korzyści i wyzwania, jakie niesie ze sobą każda opcja.
Obciążenia w strukturze Well-Architected
W artykule Well-Architected Framework workloads opisano różne klasyfikacje obciążeń lub typy. Artykuły na temat obciążeń o znaczeniu krytycznym, uczenia maszynowego i sztucznej inteligencji lub obciążeń typu oprogramowanie jako usługa. Te artykuły specyficzne dla obciążeń stosują pięć podstawowych filarów platformy Well-Architected Framework do określonej domeny. Jeśli aplikacja jest częścią obciążenia, które jest zgodne z jednym z tych udokumentowanych wzorców, zapoznaj się z odpowiednimi wskazówkami, aby ułatwić podejście do projektu, postępując zgodnie z zestawem zasad i zaleceń dotyczących projektowania specyficznych dla obciążenia w typowych obszarach projektowania, takich jak platforma aplikacji, platforma danych i sieć. Niektóre typy obciążeń mogą korzystać z wyboru określonego stylu architektury lub modelu magazynu danych.
Najlepsze rozwiązania
Aby uzyskać więcej informacji na temat różnych zagadnień dotyczących projektowania, w tym projektowania interfejsu API, skalowania automatycznego, partycjonowania danych i buforowania, zobacz Najlepsze rozwiązania w aplikacjach w chmurze. Zapoznaj się z tymi zagadnieniami i zastosuj najlepsze rozwiązania, które są odpowiednie dla aplikacji.
Używanie wzorców projektowych do rozwiązywania typowych problemów i wprowadzanie strategicznych kompromisów
Aplikacja ma określone wymagania biznesowe, cele i pomiary sukcesu. Należy podzielić te wymagania funkcjonalne i niefunkcjonalne na odrębne działania, które współpracują ze sobą w celu osiągnięcia rozwiązania spełniającego oczekiwania Twoje i Twoich klientów. Te działania zwykle są zgodne ze wzorcami, które ustanowiła branża oprogramowania. Wzorce projektowe oprogramowania są nazwanymi i powtarzalnymi metodami, które można zastosować do przetwarzania lub przechowywania danych. Te wzorce zostały uznane za skuteczne w rozwiązywaniu konkretnych problemów z wiadomymi kompromisami.
Wykaz wzorców projektowych chmury platformy Azure rozwiązuje konkretne problemy w systemach rozproszonych.
Podejmowanie świadomych wyborów technologicznych
Po określeniu typu architektury, którą chcesz utworzyć, i wzorcach projektowych, które mają być używane, możesz wybrać główne składniki technologiczne dla architektury. Niezbędne są następujące opcje technologiczne:
Środowisko obliczeniowe odnosi się do modelu hostingu dla zasobów obliczeniowych lub platformy aplikacji, na których działają aplikacje. Aby uzyskać więcej informacji, zobacz Wybieranie usługi obliczeniowej. Zobacz wyspecjalizowane wskazówki, takie jak Wybieranie usługi kontenera platformy Azure i opcji hybrydowych platformy Azure, dla określonych platform aplikacji.
Magazyny danych obejmują bazy danych i przechowywanie plików, pamięć podręczną, dzienniki i inne elementy, które aplikacja może utrwalać w pamięci. Aby uzyskać więcej informacji, zobacz Klasyfikacja magazynu danych i Przeglądanie opcji magazynu.
Technologie obsługi komunikatów umożliwiają asynchroniczne przesyłanie komunikatów między składnikami systemu. Aby uzyskać więcej informacji, zobacz Asynchroniczne opcje obsługi komunikatów.
Technologie sztucznej inteligencji rozwiązują problemy złożone z obliczeń, które mają być implementowane w tradycyjnym kodzie aplikacji. Aby uzyskać więcej informacji, zobacz Wybieranie technologii usług AI platformy Azure.
Prawdopodobnie dokonasz innych wyborów technologicznych po drodze, ale obliczenia, dane, komunikaty i sztuczna inteligencja są kluczowe dla większości aplikacji w chmurze i określają wiele aspektów projektu.
Ocena architektur referencyjnych
Centrum architektury platformy Azure jest domem dla artykułów na temat pomysłów na rozwiązania, przykładowych obciążeń i architektur referencyjnych. Te artykuły zwykle zawierają listę typowych składników i zagadnień, które są zgodne z platformą Well-Architected Framework. Niektóre z tych artykułów zawierają możliwe do wdrożenia rozwiązanie hostowane w usłudze GitHub. Chociaż jest mało prawdopodobne, że każdy z tych scenariuszy jest dokładnie tym, co tworzysz, jest to dobry punkt wyjścia. Możesz dostosować wskazówki do konkretnych potrzeb.
Przeglądaj katalog architektur w Centrum architektury platformy Azure.
Przeglądanie przewodników specyficznych dla usługi
Po wybraniu podstawowej technologii i zapoznaniu się z architekturami referencyjnymi zapoznaj się z dokumentacją i wskazówkami specyficznymi dla usług w architekturze. Skorzystaj z następujących zasobów, aby uzyskać wskazówki specyficzne dla usługi:
przewodniki dotyczące usługiWell-Architected Framework: Przewodnik Well-Architected Framework zawiera artykuły dotyczące wielu usług platformy Azure. Artykuły stosują pięć filarów architektury do każdej usługi.
Przewodniki dotyczące niezawodności platformy Azure: Centrum niezawodności platformy Azure zawiera szczegółowe artykuły dotyczące charakterystyki niezawodności wielu usług platformy Azure. W tych artykułach opisano niektóre z najważniejszych tematów dotyczących niezawodności, takich jak obsługa strefy dostępności i oczekiwane zachowanie podczas różnych typów awarii.
Pochodzi z innej chmury?
Jeśli znasz sposób projektowania aplikacji u innego dostawcy usług w chmurze, stosuje się wiele z tych samych podstaw. Na przykład style architektury i wzorce projektowania chmury są koncepcyjnie niezależne od chmury. Aby uzyskać więcej informacji, zobacz następujące artykuły dotyczące mapowania usług i architektury: