Podstawy architektury aplikacji platformy Azure

Ta biblioteka zawartości przedstawia ustrukturyzowane podejście do projektowania aplikacji na platformie Azure, które są skalowalne, bezpieczne, odporne i wysoce dostępne. Wskazówki są oparte na sprawdzonych rozwiązaniach, których dowiedzieliśmy się od zaangażowania klientów.

Wprowadzenie

Chmura zmienia sposób projektowania i zabezpieczania aplikacji. Zamiast monolitycznych projektów, aplikacje są rozłożone na mniejsze, zdecentralizowane usługi. Te usługi komunikują się za pośrednictwem interfejsów API albo za pomocą asynchronicznej obsługi komunikatów lub zdarzeń. Aplikacje są skalowane w poziomie, dodając nowe wystąpienia w miarę wzrostu potrzeb.

Te trendy niosą ze sobą nowe wyzwania. Stany aplikacji są dystrybuowane. Operacje są wykonywane równolegle i asynchronicznie. Aplikacje muszą być odporne, gdy wystąpią błędy. Osoby o złych intencjach nieustannie biorą za cel aplikacje. Wdrożenia muszą być zautomatyzowane i przewidywalne. Monitorowanie i dane telemetryczne są niezbędne do uzyskania wglądu w system. Ten przewodnik ułatwia zorientowanie się w tych zmianach.

Tradycyjne lokalneNowoczesne w chmurze
Monolityczne
Zaprojektowane pod kątem przewidywalnej skalowalności
Relacyjna baza danych
Przetwarzanie zsynchronizowane
Projektowanie pod kątem unikania awarii (MTBF)
Sporadyczne duże aktualizacje
Ręczne zarządzanie
Serwery typu „płatek śniegu”
Rozłożone
Zaprojektowane pod kątem elastycznego skalowania
Polyglot Persistence (połączenie różnych technologii magazynowania)
Przetwarzanie asynchroniczne
Projektowanie pod kątem awarii (MTTR)
Częste małe aktualizacje
Automatyczne zarządzanie samodzielne
Niezmienna infrastruktura

Jak te wskazówki są ustrukturyzowane

Wskazówki dotyczące architektury aplikacji platformy Azure są zorganizowane jako szereg kroków, od architektury i projektowania po implementację. Dla każdego kroku dostępne są wskazówki pomocnicze, które pomogą Ci zaprojektować architekturę aplikacji.

Diagram przedstawiający strukturę tego przewodnika z sekcjami tego artykułu odzwierciedlonymi na diagramie przepływu.

Style architektury

Pierwszy punkt decyzyjny ma zasadnicze znaczenie. Jakiego rodzaju architekturę tworzysz? Może to być to architektura mikrousług, bardziej tradycyjna architektura N-warstwowa aplikacji lub rozwiązanie danych big data. Zidentyfikowaliśmy kilka odrębnych stylów architektury. Z każdym z nich wiążą się korzyści i problemy.

Więcej informacji: Style architektury

Wybór technologi

Znając typ tworzonej architektury, możesz teraz zacząć wybieranie dla niej głównych technologii. Wybór następujących technologii ma krytyczne znaczenie:

  • Usługa obliczeniowa dotyczy modelu hostowania zasobów obliczeniowych używanych do uruchamiania aplikacji. Aby uzyskać więcej informacji, zobacz Wybieranie usługi obliczeniowej.

  • Magazyny danych obejmują bazy danych, ale także magazyny kolejek komunikatów, pamięci podręczne, dzienniki i inne dane, które aplikacja może utrwalać w magazynie. Aby uzyskać więcej informacji, zobacz Wybieranie magazynu danych.

  • Technologie przesyłania komunikatów umożliwiają przesyłanie komunikatów asynchronicznych między składnikami systemu. Aby uzyskać więcej informacji, zobacz Wybieranie usługi przesyłania komunikatów.

Prawdopodobnie konieczne będzie podjęcie jeszcze dodatkowych decyzji w sprawie technologii, ale te trzy elementy (usługa obliczeniowa, dane i przesyłanie komunikatów) są najważniejsze dla większości aplikacji w chmurze i określają wiele aspektów projektu.

Projektowanie architektury

Po wybraniu stylu architektury i głównych składników technologicznych można przystąpić do opracowywania konkretnego projektu aplikacji. Każda aplikacja jest inna, ale następujące zasoby mogą pomóc podczas tworzenia:

Architektury referencyjne

W zależności od danego scenariusza jedna z naszych architektur referencyjnych może być dobrym punktem początkowym. Każda architektura referencyjna zawiera zalecane rozwiązania z uwzględnieniem zagadnień dotyczących skalowalności, dostępności, zabezpieczeń, odporności i innych aspektów projektu. Większość obejmuje również rozwiązanie możliwe do wdrożenia lub implementację referencyjną.

Zasady projektowania

Zidentyfikowaliśmy 10 zasad projektowania wysokiego poziomu, aby Twoja aplikacja była bardziej skalowalna, odporna i łatwa w obsłudze. Te zasady projektowania mają zastosowanie do dowolnego stylu architektury. W trakcie procesu projektowania należy pamiętać o tych 10 podstawowych zasadach projektowania wysokiego poziomu. Aby uzyskać więcej informacji, zobacz Zasady projektowania.

Wzorce projektowe

Wzorce projektowe oprogramowania są powtarzalnymi wzorcami będącymi sprawdzonym sposobem rozwiązywania konkretnych problemów. Dzięki naszemu katalogowi wzorców projektowych w chmurze można stawić czoło konkretnym wyzwaniom w systemach rozproszonych. Dotyczą one takich aspektów, jak dostępność, wysoka dostępność, doskonałość operacyjna, odporność, wydajność i bezpieczeństwo. Nasz katalog wzorców projektowych możesz znaleźć tutaj.

Najlepsze rozwiązania

Nasze artykuły dotyczące najlepszych rozwiązań obejmują różne zagadnienia związane z projektowaniem, takie jak projektowanie interfejsu API, skalowanie automatyczne, partycjonowanie danych, buforowanie i tak dalej. Zapoznaj się z nimi i zastosuj najlepsze rozwiązania, które są odpowiednie dla Twojej aplikacji.

Najlepsze rozwiązania dotyczące zabezpieczeń

W naszych najlepszych rozwiązaniach z zakresu zabezpieczeń opisaliśmy, jak zagwarantować, aby poufność, integralność i dostępność Twojej aplikacji nie została naruszona przez atakujących.

Filary jakości

Pomyślna aplikacja w chmurze koncentruje się na pięciu filarach jakości oprogramowania: niezawodność, zabezpieczenia, optymalizacja kosztów, doskonałość operacyjna i wydajność.

Skorzystaj z tematu Dobrze zaprojektowana struktura platformy Microsoft Azure, aby ocenić swoją architekturę pod względem tych pięciu filarów.

Następne kroki