Wybieranie odpowiedniej opcji hostingu platformy Azure

Ten artykuł zawiera zagadnienia i porównania między wieloma opcjami na platformie Azure podczas migrowania istniejących aplikacji programu .NET Framework ze środowiska lokalnego do platformy Azure.

Podstawowe obszary, które należy wziąć pod uwagę podczas migrowania istniejących aplikacji platformy .NET na platformę Azure, to:

  1. Opcje obliczeniowe
  2. Opcje bazy danych
  3. Zagadnienia dotyczące sieci i zabezpieczeń
  4. Zagadnienia dotyczące uwierzytelniania i autoryzacji

Opcje obliczeniowe

Podczas migrowania istniejących aplikacji .NET Framework na platformę Azure masz wiele opcji. Jednak ponieważ program .NET Framework zależy od systemu Windows, następujące opcje są ograniczone do usług obliczeniowych opartych na systemie Windows.

W poniższej tabeli przedstawiono kilka porównań i zaleceń, które ułatwiają wybranie odpowiedniej ścieżki migracji zasobów obliczeniowych dla istniejącej aplikacji .NET.

Maszyny wirtualne platformy Azure Azure App Service Kontenery systemu Windows
Kiedy stosować
  • Aplikacja ma silne zależności od serwera i instalacji .msi lokalnych.
  • Potrzebujesz najprostszej ścieżki migracji aplikacji
Aplikacja nie ma zależności na serwerze. Jest to tylko czysta ASP.NET aplikacja internetowa (MVC, WebForm) lub aplikacja N-warstwowa (internetowy interfejs API, WCf) uzyskiwania dostępu do serwera bazy danych.
  • Aplikacja ma zależności od oryginalnego serwera, ale te zależności można uwzględnić w obrazie systemu Windows platformy Docker.
Zalety i korzyści
  • Najprostsza ścieżka migracji
  • Znane środowisko. Środowisko wdrażania jest maszyną wirtualną, więc jest podobne do serwerów lokalnych.
Ciągła konserwacja paaS, najprostszy sposób zarządzania aplikacjami i skalowania ich na platformie Azure.
  • Przygotowana na przyszłość usługa Cloud DevOps-Ready z zależnościami zawartymi w kontenerach aplikacji.
  • Prawie nie trzeba refaktoryzować kodu .NET /C#.
Wady Jest to IaaS. Konserwacja jest kosztowna. Musisz zarządzać infrastrukturą maszyny wirtualnej dotyczącą sieci, modułu równoważenia obciążenia, skalowania w poziomie, zarządzania usługami IIS itd.
  • Nie wszystkie aplikacje są obsługiwane
  • Niektóre aplikacje mogą wymagać refaktoryzacji, a nawet nieco tylnej architektury, aby obsługiwały aplikacja systemu Azure Service.
  • Krzywa uczenia się umiejętności platformy Docker
  • Niektóre zmiany ustawień konfiguracji kodu i aplikacji
Wymagania Maszyna wirtualna z systemem Windows Server z tymi samymi wymaganiami niż aplikacja lokalna wymagania usługi aplikacja systemu Azure określone w Kontrole gotowości.
Jak przeprowadzić migrację Zobacz Migrowanie do usługi Azure Virtual Machines Zobacz Migrowanie usługi aplikacja systemu Azure Postępuj zgodnie z zagadnieniami, scenariuszami i przewodnikami opisanymi w temacie Modernizowanie istniejących aplikacji platformy .NET za pomocą usługi Azure i Kontenerów systemu Windows eBook

Poniższy diagram schematu blokowego przedstawia drzewo decyzyjne podczas planowania migracji na platformę Azure dla istniejących aplikacji .NET Framework. Jeśli jest to możliwe, spróbuj najpierw wybrać opcję A, ale opcja B jest najłatwiejszą ścieżką do wykonania.

Flowchart showing hosting decision tree

Opcje bazy danych

Podczas migracji relacyjnych baz danych na platformę Azure masz wiele opcji. Zobacz Migrowanie bazy danych programu SQL Server na platformę Azure , aby ułatwić wybór właściwej ścieżki migracji bazy danych dla istniejącej aplikacji .NET.

Zagadnienia dotyczące sieci i zabezpieczeń

Podczas wdrażania aplikacji w chmurze publicznej, takiej jak Microsoft Azure, możesz odizolować i zabezpieczyć niektóre sieci, tworząc sieciowe strefy DMZ, takie jak strefa DMZ między platformą Azure i lokalną lub strefą DMZ między platformą Azure i Internetem. Strefy DMZ można zaimplementować za pomocą usługi Azure Virtual Network.

Sieci wirtualne platformy Azure umożliwiają:

  • Utwórz infrastrukturę hybrydową pod swoją kontrolą
  • Zastosuj własne adresy IP i serwery DNS
  • Zabezpiecz połączenia przy użyciu sieci VPN IPSec lub usługi ExpressRoute
  • Uzyskaj precyzyjną kontrolę nad ruchem między podsieciami
  • Twórz zaawansowane topologie sieci przy użyciu urządzeń wirtualnych
  • Uzyskiwanie izolowanego i wysoce bezpiecznego środowiska dla aplikacji

Aby rozpocząć tworzenie własnej sieci wirtualnej, zobacz dokumentację usługi Azure Virtual Network.

Zagadnienia dotyczące uwierzytelniania i autoryzacji podczas migracji na platformę Azure

Głównym problemem każdej organizacji przechodzącej do chmury jest bezpieczeństwo. Większość firm zainwestowała znaczną ilość czasu, pieniędzy i inżynierii w projektowanie i opracowywanie modelu zabezpieczeń. Ważne jest, aby móc wykorzystać istniejące inwestycje, takie jak magazyny tożsamości i rozwiązania do logowania jednokrotnego.

Wiele istniejących aplikacji przedsiębiorstwa B2E .NET działających lokalnie używa usługi Active Directory do uwierzytelniania i zarządzania tożsamościami. Usługa Azure AD Połączenie umożliwia integrację katalogów lokalnych z usługą Azure Active Directory. Aby rozpocząć, zobacz Integrowanie katalogów lokalnych z usługą Azure Active Directory.

Zobacz Wymagania dotyczące tożsamości dla rozwiązania tożsamości hybrydowej, aby uzyskać dalsze planowanie związane z usługą Azure Active Directory.

Inne opcje protokołu uwierzytelniania to OAuth i OpenID, które są powszechne w aplikacjach przeznaczonych dla konsumentów. W przypadku korzystania z autonomicznych baz danych tożsamości, takich jak baza danych SQL ASP.NET Identity opakowana przez usługę IdentityServer4 przy użyciu protokołu OAuth, zwykle nie jest wymagana łączność z lokalnymi bazami danych lub katalogami.

Następne kroki