Ocenianie aplikacji internetowej przy użyciu narzędzia Azure App Service Migration Assistant

Ukończone

W tej lekcji zapoznamy się z potencjalnymi wyzwaniami, które mogą wystąpić podczas migrowania aplikacji internetowych hostowanych lokalnie na własnym serwerze na wysokim poziomie. Zaprezentujemy kontekst dotyczący rodzaju zależności aplikacji internetowych od usługi Internet Information Services (IIS) i wyjaśnimy, dlaczego powoduje to problem. Te kluczowe informacje zapewniają kontekst, który może być potrzebny do lepszego zrozumienia, z czego wynika konieczność oceny.

Dlaczego warto przenieść aplikację internetową do usługi Azure App Service?

Azure App Service to w pełni zarządzana platforma dla aplikacji internetowych. Umożliwia ona uruchamianie i skalowanie aplikacji internetowych przy użyciu minimalnej konfiguracji. Firma Microsoft zarządza infrastrukturą, aktualizacjami systemu operacyjnego, równoważeniem obciążenia oraz logiką skalowania w górę/w dół.

Ustawienia można skonfigurować w uproszczonym interfejsie użytkownika i eksplorować wydajność aplikacji podczas jej uruchamiania, ale nie ma nic innego do zrobienia. Dzięki temu usługa Azure App Service stanowi atrakcyjną alternatywę dla uruchamiania aplikacji we własnym środowisku serwera. W środowisku tym należy zajmować się kosztami sprzętu, konfiguracją, instalowaniem systemu operacyjnego, aktualizowaniem i konfigurowaniem, instalowaniem oprogramowania serwera itp.

Dzięki kilku funkcjom którym korzystanie z usługi Azure App Service zapewnia zaawansowane możliwości.

Funkcja automatycznego skalowania umożliwia administratorowi ustawienie maksymalnej liczby wystąpień, do których aplikacja internetowa powinna mieć możliwość skalowania, oraz progi ruchu. Skalowanie w górę lub w dół odbywa się na podstawie logiki podejmowania decyzji w usłudze App Service.

Miejsca wdrożenia umożliwiają operacjom lub metodyce DevOps wdrożenie nowej wersji aplikacji internetowej w środowisku testowym na żywo lub przejściowym, w którym można wykonać testy ręczne lub automatycznej integracji. Po zakończeniu wszystkich testów przez nową wersję operacje mogą zamienić miejsca , aby przenieść aplikację etapową do środowiska produkcyjnego. Jeśli po wdrożeniu wystąpią problemy, operacje mogą ponownie zamienić miejsca , aby przenieść poprzednią wersję z powrotem do środowiska produkcyjnego.

Diagnostyka usługi App Service zapewnia interakcyjny interfejs, w którym narzędzie do rozwiązywania problemów może odpowiedzieć na kilka pytań. Ponadto tworzony jest pełny raport diagnostyczny odpowiedni do typu problemu występującego w aplikacji. Ponadto narzędzia, takie jak kontrola kondycji, usługa Application Insights i nawigator (interaktywny diagram zależności), ułatwiają zrozumienie, gdzie leżą problemy.

Co to jest narzędzie Azure App Service Migration Assistant?

Asystent migracji usługi Azure App Service jest częścią większego pakietu aplikacji, które ułatwiają organizacjom przejście do chmury. Narzędzie Migration Assistant udostępnia środowisko użytkownika podobne do kreatora, które wykonuje dwa zadania:

  1. Przeprowadza ocenę określonej aplikacji internetowej zainstalowanej w systemie Windows Server. Analizuje zależności aplikacji internetowej w celu określenia, czy jest możliwa migracja do usługi Azure App Service bez modyfikacji tej aplikacji internetowej.
  2. Jeśli ocena potwierdzi, że można migrować aplikację internetową, narzędzie Migration Assistant przeprowadzi migrację. Musisz przyznać Asystent migracji dostęp do konta platformy Azure, wybrać grupę zasobów, której chcesz użyć, i wybrać nazwę aplikacji internetowej, między innymi.

Alternatywnie narzędzie Azure App Service Migration Assistant generuje szablon usługi Azure Resource Manager, za pomocą którego można migrować aplikację internetową w sposób bardziej zautomatyzowany i powtarzalny.

Dlaczego należy przeprowadzić ocenę?

W niektórych organizacjach aplikacje internetowe zostały utworzone z założeniem, że zawsze będą miały dostęp do funkcji niskiego poziomu usług IIS. Na przykład niektórzy programiści opracowali funkcje monitorowania, rejestrowania i zabezpieczeń na podstawie filtrów ISAPI. Filtry te zapewniają dostęp do żądań przychodzących przed przekazaniem ich do aplikacji ASP.NET. Dostępne są również odpowiedzi wychodzące wygenerowane przez aplikację ASP.NET.

Jedną z korzyści wynikających z używania produktu typu „platforma jako usługa” (PaaS), takiego jak usługa Azure App Service, jest to, że dostawca chmury (w tym przypadku firma Microsoft) zarządza sprzętem i oprogramowaniem, dzięki czemu nie trzeba się tym zajmować samodzielnie. Pozwala to zaoszczędzić czas i zmniejszyć koszty. Oznacza to jednak, że aplikacje mają dostęp do mniejszej liczby funkcji niższego poziomu systemu Windows Server i usług IIS. Jeśli Twoje aplikacje zależą od tych funkcji niższego poziomu, korzystanie z usługi Azure App Service bez żadnych modyfikacji może okazać się niemożliwe.

Jakie typy problemów są sprawdzane w ramach oceny?

Narzędzie Migration Assistant szuka określonych funkcji aplikacji internetowej, aby upewnić się, że usługa Azure App Service może je obsłużyć lub że narzędzie jest w stanie je automatycznie migrować. Poniższa tabela zawiera szczegółowe informacje na temat testów wykonywanych przez narzędzie Migration Assistant:

Test gotowości Wyjaśnienie
Powiązania portów Ponieważ usługa Azure App Service zezwala tylko na standardowy ruch internetowy, ten test gotowości potwierdza, że aplikacja internetowa nasłuchuje tylko na portach 80 (dla ruchu HTTP) i 443 (dla ruchu HTTPS).
Protokoły Ponieważ usługa Azure App Service współdziała tylko z protokołami HTTP i HTTPS, ten test gotowości potwierdza, że aplikacja internetowa obsługuje tylko protokoły oparte na protokole HTTP. Jeśli na przykład aplikacja internetowa zależy od programu Windows Communication Foundation, nie przekazuje tego sprawdzania gotowości.
Certyfikaty usługa aplikacja systemu Azure może obsługiwać certyfikaty zabezpieczeń, ale ten test gotowości ostrzega, że Asystent migracji nie migruje certyfikatu automatycznie.
Tagi lokalizacji Tagi lokalizacji umożliwiają przechowywanie konfiguracji wszystkich aplikacji internetowych hostowanych na serwerze w jednym pliku, zamiast w osobnym pliku web.config dla każdej aplikacji internetowej. Aplikacje usługi Azure App Service korzystają ze wstępnie skonfigurowanego pliku applicationhost.config usług IIS i nie obsługują funkcji tagów lokalizacji. Ustawienia każdej migrowane aplikacji internetowej powinny zostać przeniesione do poszczególnych plików web.config. Ten test gotowości sprawdza, czy są używane tagi lokalizacji.
Filtry ISAPI Usługa Azure App Service zapewnia pewien poziom obsługi filtrów ISAPI, jednak stopień obsługi zależy od implementacji filtru ISAPI. Asystent migracji nie migruje aplikacji, która zależy od filtru ISAPI. Najpierw należy usunąć filtr ISAPI z aplikacji, zmigrować ją, a następnie ręcznie dodać filtr ISAPI w usłudze Azure App Service.
Pule aplikacji Ponieważ usługa Azure App Service obsługuje jedną pulę aplikacji dla każdej aplikacji, ten test gotowości potwierdza, że aplikacja internetowa korzysta tylko z jednej puli aplikacji.
Tożsamość puli aplikacji Aplikacje usługi Azure App Service są hostowane w procesie roboczym usług IIS, który jest uruchamiany na koncie zarządzanym przez system skojarzonym z pulą aplikacji. Jest to również domyślna tożsamość używana przez instalacje lokalne usług IIS. Ten test gotowości potwierdza, że dla aplikacji internetowej skonfigurowano uruchamianie w domyślnej tożsamości.
Typ uwierzytelniania Aplikacje usługi Azure App Service obsługują inny zestaw typów uwierzytelniania niż aplikacje hostowane w usługach IIS działających lokalnie. Ten test gotowości potwierdza, że dla aplikacji internetowej skonfigurowano korzystanie z uwierzytelniania anonimowego. Po migracji można ręcznie skonfigurować typ uwierzytelniania w usłudze Azure App Service.
Ustawienia aplikacji Ten test gotowości ostrzega użytkownika o niestandardowych ustawieniach aplikacji w pliku web.config, które powinny zostać przeniesione do obszaru Azure App Service>Konfiguracja>Ustawienia aplikacji.
Parametry połączeń Ten test gotowości sprawdza, czy parametry połączenia bazy danych przechowywane w pliku web.config wskazują lokalne bazy danych. Jeśli tak, Asystent migracji daje możliwość konfigurowania połączeń hybrydowych.
Platformy Narzędzie Migration Assistant obsługuje tylko platformy ASP.NET i PHP. Jeśli aplikacja korzysta z innej platformy, nie można przeprowadzić automatycznej migracji.
Błąd konfiguracji Asystent migracji gwarantuje, że lokalne wystąpienie usług IIS jest poprawnie skonfigurowane i nie zwraca błędu podczas skanowania. Ten test gotowości potwierdza, że nie ma problemów źródłowych z aplikacją internetową przed jej migracją.
Katalogi wirtualne Usługa Azure App Service przechowuje wszystkie pliki w stałej strukturze katalogów. Asystent migracji przenosi pliki do odpowiednich podkatalogów. Nie można jednak migrować aplikacji z katalogami wirtualnymi, które są wspierane przez udziały UNC.

Podsumowanie zawarte w tej tabeli przygotowano na podstawie witryny typu wiki narzędzia Azure App Service Migration Assistant.

Co zrobić, jeśli podczas oceny zostaną wykryte problemy?

Jeśli podczas oceniania aplikacji internetowej narzędzie Azure App Service Migration Assistant wykryje problemy, możesz wykonać następujące działania:

  • Zaktualizuj aplikację, zamieniając funkcje zależne od funkcji rozszerzalności niższych poziomów usług IIS. Może to być stosunkowo proste w zależności od danej funkcjonalności. Na przykład niestandardowe funkcje rejestrowania zależne od filtru ISAPI można zamienić na usługę Azure Application Insights. Usługa Application Insights udostępnia rozbudowane raporty umożliwiające podjęcie działań i wymaga dodania do aplikacji tylko kilku wierszy kodu.
  • Zaktualizuj aplikację, tymczasowo wyłączając funkcję blokującą migrację. Narzędzie Migration Assistant może przeprowadzić Cię przez ten proces.
  • Wdróż aplikację „w takim stanie, w jakim się znajduje” na maszynie wirtualnej platformy Azure. Chociaż nie zapewnia to korzyści związanych z używaniem usługi Azure App Service i wymaga obsługi systemu operacyjnego, nie będzie już trzeba obsługiwać sprzętu. Ponadto zapewnia to jeden punkt zarządzania dla wszystkich usług internetowych.

Witryna typu wiki narzędzia Azure App Service Migration Assistant zawiera zestawienie potencjalnych kroków zaradczych dotyczących wielu problemów znalezionych podczas oceny.

Podsumowanie

Najważniejsze informacje do zapamiętania z tej lekcji:

  • Usługa aplikacja systemu Azure Service Asystent migracji szuka niezgodności między lokalnymi aplikacjami internetowymi i tym, co jest obsługiwane w usłudze aplikacja systemu Azure Service. W razie wykrycia problemu zazwyczaj można go wyeliminować (lub wyłączyć powodującą go funkcję) w środowisku lokalnym. Następnie można ponowić próbę zastosowania narzędzia Migration Assistant.
  • Jeśli nie występują problemy z blokowaniem, Asystent migracji migruje aplikację internetową do usługi aplikacja systemu Azure Service.