AZ-305 Question 209
Single answerA company wants to migrate an on-premises .NET 4.7 web application and its SQL Server 2016 database to Azure. They seek to reduce operating system maintenance, retain their existing T-SQL stored procedures and SSIS packages, and minimize refactoring. They also want to enable near-seamless scaling for the web front end. Which single solution best meets these requirements?
- A
Migrate both the web application and database to Azure Virtual Machines
- B
Migrate the web application to Azure App Service and the database to Azure SQL Database
- C
Migrate the web application to Azure App Service and the database to Azure SQL Managed Instance
- D
Containerize the web application using Azure Container Instances and use Azure Database for PostgreSQL
Show answer and explanation
Correct answer: C
Explanation
Azure App Service is a fully managed platform that allows you to focus on app development rather than managing servers, while Azure SQL Managed Instance provides almost full parity with on-premises SQL Server. This combination meets the goal of reducing maintenance workload, retaining SQL Server features, and minimizing code changes. For details, refer to the official Microsoft documentation on Azure App Service (https://learn.microsoft.com/azure/app-service/) and Azure SQL Managed Instance (https://learn.microsoft.com/azure/azure-sql/managed-instance/).
- A. Incorrect.
Option 1: Rehosting everything on Azure Virtual Machines offers a straight lift-and-shift approach, but it does not significantly reduce the operating system maintenance overhead because you still have to manage the VM operating system patches and updates. This is not the best solution given the requirement to minimize operational overhead.
- B. Incorrect.
Option 2: Migrating the web app to Azure App Service is a good step to reduce OS management. However, using Azure SQL Database may not cleanly support SSIS packages or all SQL Server features without additional reconfiguration (e.g., setting up Azure Data Factory for SSIS). It can work for some components, but this setup could increase complexity given the need to maintain SSIS.
- C. Correct.
Option 3: Running the web application on Azure App Service reduces the need to manage the OS for the web tier, and migrating the database to Azure SQL Managed Instance provides near 100% compatibility with on-premises SQL Server, including support for T-SQL stored procedures and potential SSIS integration. This solution aligns well with minimal code changes and preserves needed SQL Server features.
- D. Incorrect.
Option 4: Containerizing the web application using Azure Container Instances and moving the database to Azure Database for PostgreSQL would require more extensive changes to the application code and database schema, which goes against the requirement to minimize refactoring. It also does not address the SSIS needs.