Assess web apps for migration to Azure Kubernetes Service (preview)

This article shows you how to assess ASP.NET web apps for migration to Azure Kubernetes Service (AKS) using Azure Migrate. Creating an assessment for your ASP.NET web app provides key insights such as app-readiness, target right-sizing, and cost to host and run these apps month over month.

This article shows you how to assess Java web apps for migration to Azure Kubernetes Service (AKS) using Azure Migrate. Creating an assessment for your Java web app provides key insights such as app-readiness, target right-sizing, and cost to host and run these apps month over month.

In this tutorial, you learn how to:

  • Choose a set of discovered ASP.NET web apps to assess for migration to AKS.
  • Provide assessment configurations such as Azure Reserved Instances, target region etc.
  • Get insights about the migration readiness of their assessed apps.
  • Get insights on the AKS Node SKUs that can optimally host and run these apps.
  • Get the estimated cost of running these apps on AKS.
  • Choose a set of discovered Java web apps to assess for migration to AKS.
  • Provide assessment configurations such as Azure Reserved Instances, target region etc.
  • Get insights about the migration readiness of their assessed apps.
  • Get insights on the AKS Node SKUs that can optimally host and run these apps.
  • Get the estimated cost of running these apps on AKS.

Note

Tutorials show you the simplest deployment path for a scenario so that you can quickly set up a proof-of-concept. Tutorials use default options where possible and don't show all possible settings and paths.

Prerequisites

  • Follow these steps to discover ASP.NET web apps running on your environment.
  • Follow these steps to discover Java web apps running on your environment.

Create an assessment

  1. Sign into the Azure portal and search for Azure Migrate.

  2. On the Azure Migrate page, under Migration goals, select Servers, databases and web apps.

  3. On the Servers, databases and web apps page, under Assessments tools, select Web apps on Azure from the Assess dropdown menu.

    Screenshot of selecting web app assessments.

  4. On the Create assessment page, under Basics tab, do the following:

    1. Scenario: Select Web apps to AKS.

    Screenshot of selecting the scenario for web app assessment.

    1. Select Edit to modify assessment settings. See the table below to update the various assessment settings.

    Screenshot of changing the target settings for web app assessment.

    Setting Possible Values Comments
    Target Location All locations supported by AKS Used to generate regional cost for AKS.
    Environment Type Production
    Dev/Test
    Allows you to toggle between pay-as-you-go and pay-as-you-go Dev/Test offers.
    Offer/Licensing program Pay-as-you-go
    Enterprise Agreement
    Allows you to toggle between pay-as-you-go and Enterprise Agreement offers.
    Currency All common currencies such as USD, INR, GBP, Euro We generate the cost in the currency selected here.
    Discount Percentage Numeric decimal value Use this to factor in any custom discount agreements with Microsoft. This is disabled if Savings options are selected.
    EA subscription Subscription ID Select the subscription ID for which you have an Enterprise Agreement.
    Savings options One year reserved
    Three years reserved
    One year savings plan
    Three years savings plan
    None
    Select a savings option if you opted for Reserved Instances or Savings Plan.
    Category All
    Compute optimized
    General purpose
    GPU
    High performance compute
    Isolated
    Memory optimized
    Storage optimized
    Selecting a particular SKU category ensures we recommend the best AKS Node SKUs from that category.
    AKS pricing tier Standard Pricing tier for AKS
  5. After reviewing the assessment settings, select Next: Select servers to assess.

  6. Under the Select servers to assess tab, do the following:

    • Assessment name: Specify a name for the assessment.
    • Select or create a group: Select Create New and specify a group name. You can also use an existing group.
    • Appliance name: Select the appliance.
    • Web app type: Select ASP.NET.
    • Web app type: Select Java.
    • Select the servers, which host the web apps to be assessed from the table.

    • Select Next to review the high-level assessment details.

      Screenshot of selecting servers containing the web apps to be assessed.

  7. Under Review + create assessment tab, review the assessment details, and select Create assessment to create the group and run the assessment.

    Screenshot of reviewing the high-level assessment details before creation.

View assessment insights

The assessment can take around 10 minutes to complete.

  1. On the Azure Migrate page, under Migration goals, select Servers, databases and web apps.

  2. On the Servers, databases and web apps page, under Assessment tools > Assessments, select the number next to the Web apps on Azure assessment.

  3. On the Assessments page, select a desired assessment name to view from the list of assessments.

    Screenshot of clicking the hyperlink to see the list of web app assessments.

  4. Use the search bar to filter for your assessment. It should be in the Ready state.

    Screenshot of filtering for the created assessment.

    Assessment State Definition
    Creating The assessment creation is in progress. It takes around 10 minutes to complete.
    Ready The assessment has successfully been created.
    Invalid There was an error in the assessment computation.

Assessment overview

Screenshot of the assessment overview.

Screenshot of the assessment overview for Java.

On the Overview page, you're provided with the following details:

  1. Assessed entities: This section provides the count of servers, web servers, and web apps that are part of this assessment.

  2. Migration readiness: The assessed web apps have one of the following statuses:

    Status Definition
    Ready The web app is ready to be migrated
    Ready with conditions The web app needs minor changes to be ready for migration
    Not ready The web app needs major/breaking changes to be ready for migration
    Unknown The web app discovery data was either incomplete or corrupt to calculate readiness

Note

Web apps that are either Ready or Ready with conditions are recommended for migration.

  1. Monthly cost estimate: This section provides the month over month cost projection of running your migration-ready web apps on AKS.

You can update the Settings of the assessment after it's created. This triggers a recalculation.

Selecting the Export assessment option exports the entire assessment to an Excel spreadsheet.

Assessment details

Readiness

On the Readiness tab, you see the list of web apps assessed. For each web app, you see the readiness status, the cluster, and the recommended AKS Node SKU.

Screenshot of the readiness tab in the assessment details page.

Select the readiness condition of an app to see the migration warnings or issues. For apps that are Ready with conditions, you'll only see warnings. For apps that are Not ready, you see errors and potentially warnings.

For each issue or warning, you're provided the description, cause, and mitigation steps along with useful documentation/blogs for reference.

Screenshot of the readiness errors and warnings for a web app.

Selecting the recommended cluster for the app opens the Cluster details page. This page surfaces details such as the number of system and user node pools, the SKU for each node pool and the web apps recommended for this cluster. Typically, an assessment will only generate a single cluster. The number of clusters increases when the web apps in the assessment start hitting AKS cluster limits.

Screenshot of the recommended cluster page.

Cost details

On the Cost details tab, you see the breakdown of the monthly cost estimate distributed across AKS node pools. AKS pricing is intrinsically dependent on the node pool costs.

For each node pool, you see the associated node SKU, node count, and the number of web apps recommended to be scheduled, along with the cost. By default, there will be at least two node pools:

  1. System: Used to host critical system pods such as CoreDNS.
  2. User: As ASP.NET framework apps need a Windows node to run, the assessment recommends at least one additional Windows-based node pool.

Screenshot of the cost breakup of the assessment.

Next steps