Migrowanie aplikacji do Azure App Service i SQL Database
W tym artykule pokazano, w jaki sposób fikcyjna firma Contoso refaktoryzuje dwuwarstwową aplikację platformy .NET z systemem Windows działającą na maszynach wirtualnych VMware w ramach migracji na platformę Azure. Zespół firmy Contoso migruje maszynę wirtualną frontonu aplikacji do aplikacji internetowej Azure App Service i bazy danych aplikacji w celu Azure SQL Database.
Aplikacja SmartHotel360 używana w tym przykładzie jest dostarczana jako oprogramowanie typu open source. Jeśli chcesz go użyć do własnych celów testowych, możesz pobrać go z usługi GitHub.
Biznesowa siła napędowa
Zespół liderów IT firmy Contoso w ścisłej współpracy z partnerami biznesowymi firmy ustalił, co firma będzie chciała osiągnąć dzięki migracji:
- Reagowanie na rosnące potrzeby biznesowe. Firma Contoso rośnie i wywiera presję na swoje systemy lokalne i infrastrukturę.
- Zwiększenie wydajności. Firma Contoso musi usunąć niepotrzebne procedury i usprawnić procesy dla deweloperów i użytkowników. Firma chce, aby dział IT był szybki i nie tracił czasu ani pieniędzy, co pozwoli szybciej realizować wymagania klientów.
- Zwiększenie elastyczności. Aby umożliwić ich sukces w gospodarce globalnej, dział IT firmy Contoso musi być bardziej reagujący na potrzeby firmy. Musi być w stanie szybciej reagować na zmiany na platformie handlowej. It nie może dostać się w drogę lub stać się blokadą biznesową.
- Skalowanie. W miarę pomyślnego rozwoju firmy dział IT firmy Contoso musi zapewnić systemy, które będą mogły rosnąć w tym samym tempie.
- Redukcja kosztów. Firma Contoso chce zminimalizować koszty licencjonowania.
Cele migracji
Aby ułatwić określenie najlepszej metody migracji, zespół ds. chmury firmy Contoso przypiął następujące cele:
Wymagania | Szczegóły |
---|---|
Aplikacja | Aplikacja na platformie Azure pozostanie tak krytyczna, jak obecnie lokalna. Powinna ona mieć takie same możliwości związane z wydajnością, jak w przypadku programu VMware. Zespół nie chce inwestować w aplikację. Na razie administratorzy po prostu bezpiecznie przeniosą aplikację do chmury. Zespół chce zatrzymać obsługę systemu Windows Server 2008 R2, na którym obecnie działa aplikacja. Zespół chce również odejść od SQL Server 2008 R2 do nowoczesnej bazy danych paaS (platformy jako usługi), co minimalizuje potrzebę zarządzania. Firma Contoso chce skorzystać z inwestycji w licencjonowanie programu SQL Server Licencjonowanie i pakiet Software Assurance, o ile jest to możliwe. Ponadto firma Contoso chce wyeliminować pojedynczy punkt awarii w warstwie internetowej. |
Ograniczenia | Aplikacja składa się z aplikacji ASP.NET i usługi Windows Communication Foundation (WCF) uruchomionej na tej samej maszynie wirtualnej. Chcą rozpowszechnić te składniki w dwóch aplikacjach internetowych przy użyciu Azure App Service. |
Azure | Firma Contoso chce przenieść aplikację na platformę Azure, ale nie chce jej uruchamiać na maszynach wirtualnych. Firma Contoso chce korzystać z usług Azure w warstwie internetowej i warstwie danych. |
DevOps | Firma Contoso chce przejść do modelu DevOps, który używa usługi Azure DevOps na potrzeby potoków kompilacji i wydań. |
Projekt rozwiązania
Po przypięeniu swoich celów i wymagań firma Contoso projektuje i przegląda rozwiązanie wdrożeniowe. Identyfikują również proces migracji, w tym usługi platformy Azure, które będą używane do migracji.
Bieżąca aplikacja
- Aplikacja lokalna SmartHotel360 jest oparta na dwóch maszynach wirtualnych i
WEBVM
SQLVM
. - Maszyny wirtualne znajdują się na hoście
contosohost1.contoso.com
VMware ESXi w wersji 6.5. - Środowisko VMware jest zarządzane przez program vCenter Server 6.5 (
vcenter.contoso.com
), który działa na maszynie wirtualnej. - Firma Contoso ma lokalne centrum danych (
contoso-datacenter
) i lokalny kontroler domeny (contosodc1
). - Lokalne maszyny wirtualne w centrum danych firmy Contoso zostaną zlikwidowane po zakończeniu migracji.
Proponowane rozwiązanie
- W przypadku warstwy bazy danych aplikacji firma Contoso porównała bazę danych Azure SQL do SQL Server, odwołując się do porównania funkcji: Azure SQL Database i Azure SQL Managed Instance. Firma Contoso zdecydowała się korzystać z bazy danych Azure SQL z kilku powodów:
- Azure SQL Database to zarządzana usługa relacyjnej bazy danych. Zapewnia ona przewidywalną wydajność na wielu poziomach usługi z niemal zerową liczbą czynności administracyjnych. Zalety obejmują dynamiczną skalowalność bez przestojów, wbudowaną inteligentną optymalizację oraz globalną skalowalność i dostępność.
- Firma Contoso może użyć uproszczonej Data Migration Assistant do oceny migracji lokalnej bazy danych do Azure SQL Database.
- Firma Contoso może używać Azure Database Migration Service do migrowania lokalnej bazy danych do bazy danych Azure SQL Database.
- Dzięki pakietowi Software Assurance firma Contoso może wymienić istniejące licencje na obniżone stawki w bazie danych w SQL Database przy użyciu Korzyść użycia hybrydowego platformy Azure dla SQL Server. Takie podejście może zapewnić oszczędności w wysokości do 30 procent.
- SQL Database zapewnia funkcje zabezpieczeń, takie jak Always Encrypted, dynamiczne maskowanie danych, zabezpieczenia na poziomie wiersza i wykrywanie zagrożeń SQL.
- W przypadku warstwy internetowej aplikacji firma Contoso zdecydowała się używać Azure App Service. Ta usługa PaaS umożliwia wdrożenie aplikacji z zaledwie kilkoma zmianami konfiguracji. Firma Contoso użyje programu Visual Studio do wprowadzenia zmiany i wdroży dwie aplikacje internetowe, jedną dla witryny internetowej i jedną dla usługi WCF.
- Aby spełnić wymagania dotyczące potoku DevOps, firma Contoso będzie używać usługi Azure DevOps do zarządzania kodem źródłowym za pomocą repozytoriów Git. Będą używać automatycznych kompilacji i wydań do kompilowania kodu i wdrażania go w Azure App Service.
Przegląd rozwiązania
Firma Contoso ocenia proponowany projekt, łącząc listę zalet i wad, jak pokazano w poniższej tabeli:
Kwestie do rozważenia | Szczegóły |
---|---|
Zalety | Kod aplikacji SmartHotel360 nie wymaga zmian migracji na platformę Azure. Firma Contoso może skorzystać z inwestycji w pakiet Software Assurance przy użyciu Korzyść użycia hybrydowego platformy Azure zarówno dla SQL Server, jak i Windows Server. Po migracji system Windows Server 2008 R2 nie będzie musiał być obsługiwany. Aby uzyskać więcej informacji, zobacz zasady cyklu życia firmy Microsoft. Firma Contoso może skonfigurować warstwę internetową aplikacji z wieloma wystąpieniami, dzięki czemu warstwa internetowa nie jest już pojedynczym punktem awarii. Baza danych nie będzie już zależeć od wieku programu SQL Server 2008 R2. Baza danych SQL Database obsługuje wymagania techniczne. Firma Contoso oceniła lokalną bazę danych przy użyciu Data Migration Assistant i stwierdziła, że jest zgodna. Azure SQL Database ma wbudowaną odporność na uszkodzenia, która nie musi być skonfigurowana przez firmę Contoso. Gwarantuje to, że warstwa danych nie jest już pojedynczym punktem awarii. Jeśli firma Contoso używa Azure Database Migration Service do migracji bazy danych, będzie ona gotowa do migracji baz danych na dużą skalę. |
Wady | Azure App Service obsługuje tylko jedno wdrożenie aplikacji dla każdej aplikacji internetowej. Oznacza to, że należy aprowizować dwie aplikacje internetowe, jedną dla witryny internetowej i jedną dla usługi WCF. |
Proponowana architektura
Proces migracji
Firma Contoso aprowizuje bazę danych Azure SQL, a następnie migruje do niej bazę danych SmartHotel360 przy użyciu Azure Database Migration Service.
Firma Contoso aprowizuje i konfiguruje aplikacje internetowe oraz wdraża w nich aplikację SmartHotel360.
Usługi platformy Azure
Usługa | Opis | Koszty |
---|---|---|
Asystent migracji usługi Azure App Service | Bezpłatna i prosta ścieżka do bezproblemowego migrowania aplikacji internetowych platformy .NET ze środowiska lokalnego do chmury z minimalnymi zmianami w kodzie. | Jest to narzędzie do pobrania, bezpłatne. |
Data Migration Assistant | Firma Contoso będzie używać Data Migration Assistant do oceny i wykrywania problemów ze zgodnością, które mogą mieć wpływ na funkcjonalność bazy danych na platformie Azure. Data Migration Assistant ocenia parzystość funkcji między źródłami i elementami docelowymi SQL oraz zaleca poprawę wydajności i niezawodności. | Jest to narzędzie do pobrania, bezpłatne. |
Azure Database Migration Service | Azure Database Migration Service umożliwia bezproblemową migrację z wielu źródeł baz danych do platform danych platformy Azure z minimalnym przestojem. | Dowiedz się więcej o obsługiwanych regionach i cenniku usługi Database Migration Service. |
Azure SQL Database | Usługa inteligentnej, w pełni zarządzanej relacyjnej bazy danych w chmurze. | Koszt jest oparty na funkcjach, przepływności i rozmiarze. Dowiedz się więcej. |
Azure App Service | Ułatwia tworzenie zaawansowanych aplikacji w chmurze korzystających z w pełni zarządzanej platformy. | Ceny są oparte na rozmiarze, lokalizacji i czasie trwania użycia. Dowiedz się więcej. |
Azure Pipelines | Zapewnia potok ciągłej integracji i ciągłego wdrażania (CI/CD) na potrzeby tworzenia aplikacji. Potok rozpoczyna się od repozytorium Git do zarządzania kodem aplikacji, systemu kompilacji do tworzenia pakietów i innych artefaktów kompilacji oraz systemu zarządzania wydaniami w celu wdrożenia zmian w środowiskach deweloperskich, testowych i produkcyjnych. |
Wymagania wstępne
Aby uruchomić ten scenariusz, firma Contoso musi spełnić następujące wymagania wstępne:
Wymagania | Szczegóły |
---|---|
Subskrypcja platformy Azure | Firma Contoso utworzyła subskrypcje wcześniej w tej serii artykułów. Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto. Jeśli bezpłatne konto właśnie zostało utworzone, jesteś administratorem subskrypcji i możesz wykonywać wszystkie akcje. Jeśli używasz istniejącej subskrypcji i nie jesteś jej administratorem, musisz skontaktować się z administratorem w celu uzyskania uprawnień właściciela lub współautora. |
Infrastruktura platformy Azure | Firma Contoso skonfigurowała infrastrukturę platformy Azure zgodnie z opisem w artykule Azure infrastructure for Migration (Infrastruktura platformy Azure wymagana do migracji). |
Etapy scenariusza
Firma Contoso przeprowadzi migrację w następujący sposób:
- Krok 1. Ocena i migracja aplikacji internetowych. Firma Contoso używa narzędzia Azure App Service Migration Assistant do przeprowadzania kontroli zgodności przed migracją i migrowania aplikacji internetowych do Azure App Service.
- Krok 2. Aprowizuj bazę danych w bazie danych Azure SQL. Firma Contoso aprowizuje wystąpienie bazy danych Azure SQL. Po przeprowadzeniu migracji witryny internetowej aplikacji na platformę Azure aplikacja internetowa usługi WCF wskaże to wystąpienie.
- Krok 3. Ocena bazy danych. Firma Contoso ocenia bazę danych pod kątem migracji przy użyciu Data Migration Assistant, a następnie przeprowadza migrację za pośrednictwem Azure Database Migration Service.
- Krok 4. Konfigurowanie usługi Azure DevOps. Firma Contoso tworzy nowy projekt usługi Azure DevOps i importuje repozytorium usługi Git.
- Krok 5. Konfigurowanie parametrów połączenia. Firma Contoso konfiguruje parametry połączenia tak, aby aplikacja internetowa warstwy internetowej, aplikacja internetowa usługi WCF i wystąpienie programu SQL mogły się komunikować.
- Krok 6. Konfigurowanie potoków kompilacji i wydawania w usłudze Azure DevOps. W ostatnim kroku firma Contoso konfiguruje potoki kompilacji i wydawania w usłudze Azure DevOps w celu utworzenia aplikacji, a następnie wdraża je w dwóch oddzielnych aplikacjach internetowych.
Krok 1. Ocena i migracja aplikacji internetowych
Administratorzy firmy Contoso oceniają i migrują swoją aplikację internetową przy użyciu narzędzia Azure App Service Migration Assistant. Używają one aplikacji Migrate ASP.NET do ścieżki szkoleniowej platformy Azure jako przewodnika podczas procesu. Administratorzy wykonują następujące czynności:
Używają narzędzia do oceny migracji usługi Azure App Service, aby ocenić wszelkie zależności między aplikacjami internetowymi i określić, czy istnieją niezgodności między lokalnymi aplikacjami internetowymi a tym, co jest obsługiwane w Azure App Service.
Pobierają Azure App Service Migration Assistant i logują się na swoje konto platformy Azure.
Wybierają subskrypcję, grupę zasobów i nazwę domeny witryny internetowej.
Krok 2. Aprowizuj bazę danych w bazie danych Azure SQL
Administratorzy firmy Contoso decydują się utworzyć wystąpienie bazy danych Azure SQL.
Określają nazwę bazy danych zgodną z bazą danych ,
SmartHotel.Registration
uruchomioną na lokalnej maszynie wirtualnej. Umieszczają bazę danych wContosoRG
grupie zasobów. Jest to grupa zasobów, której używają na potrzeby zasobów produkcyjnych na platformie Azure.Konfigurują nowe wystąpienie SQL Server ,
sql-smarthotel-eus2
w regionie podstawowym.Ustawiają warstwę cenową, aby odpowiadała potrzebom dotyczącym serwera i bazy danych. Następnie wybierają opcję oszczędzania pieniędzy dzięki korzyści użycia hybrydowego platformy Azure, ponieważ mają już licencję programu SQL Server.
W przypadku określania rozmiaru używają zakupów opartych na rdzeniach wirtualnych i ustawiają limity dla oczekiwanych wymagań.
Tworzą wystąpienie bazy danych.
Otwierają bazę danych i zanotują potrzebne szczegóły podczas korzystania z Data Migration Assistant na potrzeby migracji.
Potrzebujesz dodatkowej pomocy?
- Uzyskaj pomoc w aprowizacji bazy danych SQL.
- Dowiedz się więcej o limitach zasobów rdzeni wirtualnych.
Krok 3. Ocena bazy danych
Administratorzy firmy Contoso oceniają bazę danych przy użyciu Data Migration Assistant, a następnie migrują ją przy użyciu Azure Database Migration Service, korzystając z samouczka migracji krok po kroku. Mogą wykonywać migracje online, offline i hybrydowe (wersja zapoznawcza).
Krótko mówiąc, administratorzy wykonują następujące czynności:
- Używają Data Migration Assistant do odnajdywania i rozwiązywania problemów z migracją bazy danych.
- Tworzą wystąpienie Azure Database Migration Service za pomocą jednostki SKU Premium połączonej z siecią wirtualną.
- Zapewniają one, że wystąpienie może uzyskać dostęp do zdalnego SQL Server za pośrednictwem sieci wirtualnej. Wiąże się to z zapewnieniem, że wszystkie porty przychodzące są dozwolone z platformy Azure do SQL Server na poziomie sieci wirtualnej, sieci VPN i maszyny, która hostuje SQL Server.
- Konfigurują wystąpienie:
- Utwórz projekt migracji.
- Dodaj źródło (lokalną bazę danych).
- Wybierz element docelowy.
- Wybierz bazy danych do migracji.
- Konfigurowanie ustawień zaawansowanych.
- Uruchom replikację.
- Usuń wszelkie błędy.
- Wykonaj ostatnią operację przecięcia.
Krok 4. Konfigurowanie usługi Azure DevOps
Firma Contoso musi utworzyć infrastrukturę metodyki DevOps i potoki dla aplikacji. W tym celu administratorzy firmy Contoso tworzą nowy projekt DevOps, importują kod, a następnie konfigurują potoki kompilacji i wydania.
Na koncie usługi Azure DevOps firmy Contoso tworzą nowy projekt ,
ContosoSmartHotelRefactor
a następnie wybierają pozycję Git w celu kontroli wersji.Importują repozytorium Git, które obecnie przechowuje kod aplikacji. Pobierają je z publicznego repozytorium GitHub.
Łączą program Visual Studio z repozytorium, a następnie klonują kod na maszynę dewelopera przy użyciu programu Team Explorer.
Otwierają plik rozwiązania dla aplikacji. Aplikacja internetowa i usługa WCF mają oddzielne projekty w pliku.
Krok 5. Konfigurowanie parametrów połączenia
Administratorzy firmy Contoso upewnią się, że aplikacje internetowe i baza danych mogą komunikować się ze sobą. W tym celu konfigurują parametry połączenia w kodzie i w aplikacjach internetowych.
W aplikacji internetowej dla usługi WCF w
SHWCF-EUS2
obszarze Ustawienia>ustawienia aplikacji dodają nowe parametry połączenia o nazwie DefaultConnection.Pobierają parametry połączenia z
SmartHotel-Registration
bazy danych, a następnie aktualizują je przy użyciu poprawnych poświadczeń.W programie Visual Studio administratorzy otwierają
SmartHotel.Registration.wcf
projekt z pliku rozwiązania. W projekcie aktualizują sekcjęconnectionStrings
web.config
pliku za pomocą parametrów połączenia.Zmieniają sekcję
client
pliku,web.config
SmartHotel.Registration.Web
aby wskazać nową lokalizację usługi WCF. Jest to adres URL aplikacji internetowej WCF, która hostuje punkt końcowy usługi.Po wprowadzeniu zmian w kodzie administratorzy zatwierdzają je i synchronizują przy użyciu programu Team Explorer w programie Visual Studio.
Krok 6. Konfigurowanie potoków kompilacji i wydania w usłudze Azure DevOps
Administratorzy firmy Contoso konfigurują teraz usługę Azure DevOps w celu wykonania procesu kompilacji i wydania.
W usłudze Azure DevOps wybierają pozycję Kompiluj i zwalniają>nowy potok.
Wybierają Azure Repos git, a na liście rozwijanej Repozytorium wybierają odpowiednie repozytorium.
W obszarze Wybierz szablon wybierają
ASP.NET
szablon dla swojej kompilacji.Używają nazwy
ContosoSmartHotelRefactor-ASP.NET-CI
kompilacji, a następnie wybierają pozycję Zapisz & kolejkę, która rozpoczyna pierwszą kompilację.Wybierają numer kompilacji, aby obserwować proces. Po zakończeniu administratorzy mogą zobaczyć opinię dotyczącą procesu i wybrać pozycję Artefakty , aby przejrzeć wyniki kompilacji.
Zostanie otwarte okienko Eksplorator artefaktów , a folder drop wyświetla wyniki kompilacji.
- Dwa pliki .zip to pakiety zawierające aplikacje.
- Te pliki .zip są używane w potoku wydania do wdrożenia w celu Azure App Service.
Wybierają pozycję Wydania>+ Nowy potok.
Wybierają szablon wdrożenia dla usługi Azure App Service.
Nazwa potoku
ContosoSmartHotel360Refactor
wydania i w polu Nazwa etapu podająSHWCF-EUS2
nazwę aplikacji internetowej WCF.W obszarze etapów wybierają opcję 1 zadanie, 1 zadanie podrzędne w celu skonfigurowania wdrożenia usługi WCF.
Sprawdzają, czy subskrypcja została wybrana i autoryzowana, a następnie wybierają nazwę usługi App Service.
W potoku >Artefakty wybierają pozycję + Dodaj artefakt, a następnie wybierają opcję skompilowania przy użyciu potoku
ContosoSmarthotel360Refactor
.Aby włączyć wyzwalacz ciągłego wdrażania, administratorzy wybierają ikonę błyskawicy na artefaktie.
Ustawiają wyzwalacz ciągłego wdrażania na włączone.
Administratorzy wracają do etapu 1 zadania, 1 zadanie, a następnie wybierz pozycję Wdróż Azure App Service.
W obszarze Wybierz plik lub folder rozwiń folder upuszczania , wybierz
SmartHotel.Registration.Wcf.zip
plik utworzony podczas kompilacji, a następnie wybierz pozycję Zapisz.Wybierająpozycję Etapypotoku>, a następnie wybierają pozycję + Dodaj, aby dodać środowisko dla
SHWEB-EUS2
elementu . Wybierają inne wdrożenie usługi Azure App Service.Powtarzają proces publikowania
SmartHotel.Registration.Web.zip
pliku w odpowiedniej aplikacji internetowej, a następnie wybierają pozycję Zapisz.Potok wydania jest wyświetlany, jak pokazano poniżej:
Wracają do pozycji Kompilacja, wybierają pozycję Wyzwalacze, a następnie zaznacz pole wyboru Włącz ciągłą integrację . Ta akcja umożliwia potok, aby po zatwierdzeniu zmian w kodzie nastąpiła pełna kompilacja i wydanie.
Wybierają pozycję Zapisz & kolejkę , aby uruchomić pełny potok. Zostanie wyzwolona nowa kompilacja, która z kolei utworzy pierwszą wersję aplikacji do Azure App Service.
Administratorzy firmy Contoso mogą wykonywać kroki procesu potoku kompilowania i wydawania z poziomu usługi Azure DevOps. Po zakończeniu kompilacji zostanie uruchomiona wersja.
Po zakończeniu potoku obie lokacje zostały wdrożone, a aplikacja jest uruchomiona w trybie online.
Aplikacja została pomyślnie zmigrowana na platformę Azure.
Czyszczenie zasobów po migracji
Po migracji firma Contoso wykonuje następujące kroki oczyszczania:
- Usuwają lokalne maszyny wirtualne ze spisu programu vCenter.
- Usuwają maszyny wirtualne z lokalnych zadań tworzenia kopii zapasowych.
- Aktualizują dokumentację wewnętrzną, aby wyświetlić nowe lokalizacje aplikacji SmartHotel360. W dokumentacji przedstawiono bazę danych działającą w usłudze Azure SQL Database i fronton jako uruchomiony w dwóch aplikacjach internetowych.
- Przejrzyją wszystkie zasoby, które wchodzą w interakcję z zlikwidowanymi maszynami wirtualnymi, i aktualizują wszelkie odpowiednie ustawienia lub dokumentację, aby odzwierciedlić nową konfigurację.
Przegląd wdrożenia
Gdy zasoby są teraz migrowane na platformę Azure, firma Contoso musi w pełni zoperacjonalizować i zabezpieczyć nową infrastrukturę.
Zabezpieczenia
- Firma Contoso pomaga zapewnić bezpieczeństwo nowej
SmartHotel-Registration
bazy danych. Dowiedz się więcej. - W szczególności firma Contoso aktualizuje aplikacje internetowe do używania protokołu SSL z certyfikatami.
Tworzenie kopii zapasowych
- Zespół firmy Contoso sprawdza wymagania dotyczące tworzenia kopii zapasowych bazy danych Azure SQL. Dowiedz się więcej.
- Dowiesz się również, jak zarządzać SQL Database kopiami zapasowymi i przywracaniem. Dowiedz się więcej o automatycznych kopiach zapasowych.
- Rozważą zaimplementowanie grup trybu failover w celu zapewnienia regionalnego trybu failover dla bazy danych. Dowiedz się więcej.
- W celu uzyskania odporności należy rozważyć wdrożenie aplikacji internetowej w regionie głównym (
East US 2
) i regionie pomocniczym (Central US
). Zespół może skonfigurować usługę Traffic Manager w celu zapewnienia przejścia w tryb failover podczas regionalnych awarii.
Licencjonowanie i optymalizacja kosztów
- Po wdrożeniu wszystkich zasobów firma Contoso przypisuje tagi platformy Azure na podstawie planowania infrastruktury.
- Wszystkie koszty licencjonowania są wliczone w koszt usług PaaS używanych przez firmę Contoso. Ten koszt jest odliczany od Enterprise Agreement.
- Firma Contoso będzie używać usługi Azure Cost Management + Billing , aby upewnić się, że pozostaną w budżetach ustanowionych przez kierownictwo IT.
Podsumowanie
W tym artykule firma Contoso refaktoryzowała aplikację SmartHotel360 na platformie Azure, migrując maszynę wirtualną frontonu aplikacji do dwóch aplikacji internetowych Azure App Service. Baza danych aplikacji została zmigrowana do bazy danych Azure SQL.