From ee38833849ff689588160776461849b256789e54 Mon Sep 17 00:00:00 2001 From: Xuyang Cao Date: Thu, 3 Jul 2025 14:09:27 +0800 Subject: [PATCH 1/9] checkin empty files and faq --- docs/azure/migration/appmod/faq.md | 30 +++++++++++++++++++ docs/azure/migration/appmod/overview.md | 0 .../migration/appmod/predefined-tasks.md | 0 docs/azure/migration/appmod/quick-start.md | 0 docs/azure/migration/appmod/sample.md | 0 5 files changed, 30 insertions(+) create mode 100644 docs/azure/migration/appmod/faq.md create mode 100644 docs/azure/migration/appmod/overview.md create mode 100644 docs/azure/migration/appmod/predefined-tasks.md create mode 100644 docs/azure/migration/appmod/quick-start.md create mode 100644 docs/azure/migration/appmod/sample.md diff --git a/docs/azure/migration/appmod/faq.md b/docs/azure/migration/appmod/faq.md new file mode 100644 index 0000000000000..11f3dbb63fa78 --- /dev/null +++ b/docs/azure/migration/appmod/faq.md @@ -0,0 +1,30 @@ +--- +title: GitHub Copilot App Modernization for .NET FAQ +description: Frequently asked questions for the GitHub Copilot App Modernization for .NET +ms.topic: concept-article +ms.date: 07/03/2025 +--- + +# Frequently asked questions + +This page answers some of the most common questions about the GitHub Copilot App Modernization for .NET tool. + +### What is GitHub Copilot App Modernization for .NET ? + +GitHub Copilot App Modernization for .NET aims to help enterprises migrate their .NET applications to Azure with confidence and efficiency, covering assessment, code remediation and validation, powered by the intelligence of GitHub Copilot. + +Assessment of modernization issues +- App modernization for .NET evaluates the readiness of developer's application for migration to Azure, with an interactive experience on Visual Studio, powered by AppCAT for .NET. + +Solution recommendations +- App modernization for .NET recommends target Azure services for the resource dependencies of developer's application, for each category of assessed issues. + +Code remediation for common issues +- To accelerate code changes for common modernization issues, the developer may apply predefined tasks that represent best practices from Microsoft. + +Automatic fix for compilation errors +- After applying tasks, app modernization for .NET will automatically find and fix compilation errors introduced by the code changes. + +### Which Visual Studio version should I use? + +Please upgrade Visual Studio to the latest version to have better experience on both GitHub Copilot and App Modernization for .NET. \ No newline at end of file diff --git a/docs/azure/migration/appmod/overview.md b/docs/azure/migration/appmod/overview.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/docs/azure/migration/appmod/predefined-tasks.md b/docs/azure/migration/appmod/predefined-tasks.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/docs/azure/migration/appmod/quick-start.md b/docs/azure/migration/appmod/quick-start.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/docs/azure/migration/appmod/sample.md b/docs/azure/migration/appmod/sample.md new file mode 100644 index 0000000000000..e69de29bb2d1d From 31513a3e4adfcba64a4f83410870b5111cd2e9f4 Mon Sep 17 00:00:00 2001 From: yangtony90 Date: Mon, 7 Jul 2025 18:18:03 +0800 Subject: [PATCH 2/9] Initial draft for overview.md --- docs/azure/migration/appmod/overview.md | 62 +++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/docs/azure/migration/appmod/overview.md b/docs/azure/migration/appmod/overview.md index e69de29bb2d1d..c8492cef3bfdc 100644 --- a/docs/azure/migration/appmod/overview.md +++ b/docs/azure/migration/appmod/overview.md @@ -0,0 +1,62 @@ +# What is GitHub Copilot App Modernization for .NET? + +GitHub Copilot App Modernization for .NET aims to help enterprises migrate their .NET applications to Azure with confidence and efficiency, covering assessment, code remediation and validation, powered by the intelligence of GitHub Copilot. + +## Assessment of modernization issues + +App Modernization for .NET evaluates the readiness of developer's applications for migration to Azure, with an interactive experience on Visual Studio, powered by [AppCAT for .NET](../appcat/install.md). + +![Assessment](to_do_update_screenshot) + +## Solution recommendations + +App modernization for .NET recommends target Azure services for the resource dependencies of developer's application, for each category of assessed issues. + +![Solution](to_do_update_screenshot) + +## Code remediation for common issues +To accelerate code changes for [common modernization issues](predefined-tasks.md), the developer may apply predefined tasks (code change patterns) that represent best practices from experts. + +![Apply Task](to_do_update_screenshot) + +## Automatic fix for compilation errors + +After applying tasks, app modernization for .NET will automatically find and fix compilation errors introduced by the code changes. + + +# How do I get started? + +To use App Modernization for .NET, you need: +- [A GitHub account with GitHub Copilot enabled](https://github.com/features/copilot) + - Pro, Pro+, Business or Enterprise plan is needed +- [The GitHub Copilot extension](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) + - The latest version is recommended +- [AppCAT for .NET](../appcat/install.md) + - For the assessment feature of GitHub Copilot app modernization for .NET + +# Feedback + +We value your feedback — share [your thoughts here](https://aka.ms/AM4JFeedback) to help us continue improving the product. + +# License + +This extension is licensed under [GitHub Copilot Product Specifc Terms](https://github.com/customer-terms/github-copilot-product-specific-terms). + +# Trademarks + +This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies. + +# Privacy statement + +App Modernization for .NET uses GitHub Copilot just like how you modify code with GitHub Copilot, which does not retain code snippets beyond the immediate session. Telemetry metrics are collected and analyzed to track feature usage and effectiveness. Please review the [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkId=521839) if necessary. + +# Transparency note + +App Modernization for .NET uses GitHub Copilot to make code changes, and AI sometimes makes mistakes. Please carefully review and test the code changes made by the tool, before using them on your production environment. + +# More information + +Here is some documentation that may be helpful. +* [Common modernization issues with predefined tasks](predefined-tasks.md) +* [Quickstart on assessing an application and applying code changes](quick-start.md) +* [Frequently Asked Questions](faq.md) \ No newline at end of file From cedee51d0c8e720ef681ab756083afc72154f39d Mon Sep 17 00:00:00 2001 From: Xuyang Cao Date: Tue, 8 Jul 2025 16:30:22 +0800 Subject: [PATCH 3/9] add predefined tasks --- .../migration/appmod/predefined-tasks.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/azure/migration/appmod/predefined-tasks.md b/docs/azure/migration/appmod/predefined-tasks.md index e69de29bb2d1d..3185232123888 100644 --- a/docs/azure/migration/appmod/predefined-tasks.md +++ b/docs/azure/migration/appmod/predefined-tasks.md @@ -0,0 +1,20 @@ +# Predefined tasks for GitHub Copilot App Modernization for .NET + +This article describes the predefined tasks available for GitHub Copilot App Modernization for .NET. + +Predefined tasks capture industry best practices for using Azure services. Currently, App Modernization for .NET offers predefined tasks that cover common migration scenarios. These tasks address the following subjects, and more: + +- Secret management +- Message queue integration +- Database migration +- Identity management + +## Task list +- Managed Identity based Database migration to Azure, including Azure SQL DB and Azure PostgreSQL. + - migrate from DB2, Oracle DB to Azure PostgreSQL + - migrate from local/on-prem SQL server to Azure SQL DB +- Migrate to Azure Service Bus. + - migrate from Microsoft Message Queue (MSMQ) + - migrate from RabbitMQ +- Migrate to Confluent Cloud/Azure Event Hub for Apache Kafka + - migrate from local/on-prem Kafka \ No newline at end of file From ec33a9fd6027d70f6083b28fe10a59db9cd52cae Mon Sep 17 00:00:00 2001 From: Xuyang Cao Date: Tue, 8 Jul 2025 16:33:22 +0800 Subject: [PATCH 4/9] fix --- docs/azure/migration/appmod/predefined-tasks.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/azure/migration/appmod/predefined-tasks.md b/docs/azure/migration/appmod/predefined-tasks.md index 3185232123888..856f1ba3ec156 100644 --- a/docs/azure/migration/appmod/predefined-tasks.md +++ b/docs/azure/migration/appmod/predefined-tasks.md @@ -9,12 +9,23 @@ Predefined tasks capture industry best practices for using Azure services. Curre - Database migration - Identity management -## Task list -- Managed Identity based Database migration to Azure, including Azure SQL DB and Azure PostgreSQL. +## Predefined Task list +- Migrate to Managed Identity based Database migration to Azure, including Azure SQL DB and Azure PostgreSQL - migrate from DB2, Oracle DB to Azure PostgreSQL - migrate from local/on-prem SQL server to Azure SQL DB - Migrate to Azure Service Bus. - migrate from Microsoft Message Queue (MSMQ) - migrate from RabbitMQ - Migrate to Confluent Cloud/Azure Event Hub for Apache Kafka - - migrate from local/on-prem Kafka \ No newline at end of file + - migrate from local/on-prem Kafka +- Migrate to secured crendentials with Managed Identity and Azure KeyVault + - migrate from plaintext credentials in configuration or code +- Migrate to Azure Blob Storage + - migrate from on-prem or cross-cloud object storages + - migrate from file IO in local file system +- Migrate to Azure File Storage + - migrate from file IO in local file system +- Migrate to Microsoft Entra ID + - migrate from Windows AD +- Migrate to Azure Communication Service email + - migrate from using SMTP protocol to send emails \ No newline at end of file From a0fa3186a4650cc28ea4cd684ad34e64b7b43a97 Mon Sep 17 00:00:00 2001 From: Xuyang Cao Date: Tue, 8 Jul 2025 16:36:22 +0800 Subject: [PATCH 5/9] remove . --- docs/azure/migration/appmod/predefined-tasks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/migration/appmod/predefined-tasks.md b/docs/azure/migration/appmod/predefined-tasks.md index 856f1ba3ec156..00bdfc48a0617 100644 --- a/docs/azure/migration/appmod/predefined-tasks.md +++ b/docs/azure/migration/appmod/predefined-tasks.md @@ -13,7 +13,7 @@ Predefined tasks capture industry best practices for using Azure services. Curre - Migrate to Managed Identity based Database migration to Azure, including Azure SQL DB and Azure PostgreSQL - migrate from DB2, Oracle DB to Azure PostgreSQL - migrate from local/on-prem SQL server to Azure SQL DB -- Migrate to Azure Service Bus. +- Migrate to Azure Service Bus - migrate from Microsoft Message Queue (MSMQ) - migrate from RabbitMQ - Migrate to Confluent Cloud/Azure Event Hub for Apache Kafka From 975ee353757a2681efaeac740ea3dab4a7417fac Mon Sep 17 00:00:00 2001 From: Xuyang Cao Date: Wed, 9 Jul 2025 14:33:55 +0800 Subject: [PATCH 6/9] update --- docs/azure/migration/appmod/predefined-tasks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/migration/appmod/predefined-tasks.md b/docs/azure/migration/appmod/predefined-tasks.md index 00bdfc48a0617..11d53d85f196b 100644 --- a/docs/azure/migration/appmod/predefined-tasks.md +++ b/docs/azure/migration/appmod/predefined-tasks.md @@ -10,7 +10,7 @@ Predefined tasks capture industry best practices for using Azure services. Curre - Identity management ## Predefined Task list -- Migrate to Managed Identity based Database migration to Azure, including Azure SQL DB and Azure PostgreSQL +- Migrate to Managed Identity based Database migration on Azure, including Azure SQL DB and Azure PostgreSQL - migrate from DB2, Oracle DB to Azure PostgreSQL - migrate from local/on-prem SQL server to Azure SQL DB - Migrate to Azure Service Bus From c43dbd8d44f8378c6f7552188dd49fe354342992 Mon Sep 17 00:00:00 2001 From: Xuyang Cao Date: Wed, 9 Jul 2025 14:35:09 +0800 Subject: [PATCH 7/9] fix --- docs/azure/migration/appmod/predefined-tasks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/migration/appmod/predefined-tasks.md b/docs/azure/migration/appmod/predefined-tasks.md index 11d53d85f196b..9597eb14e4f7d 100644 --- a/docs/azure/migration/appmod/predefined-tasks.md +++ b/docs/azure/migration/appmod/predefined-tasks.md @@ -10,7 +10,7 @@ Predefined tasks capture industry best practices for using Azure services. Curre - Identity management ## Predefined Task list -- Migrate to Managed Identity based Database migration on Azure, including Azure SQL DB and Azure PostgreSQL +- Migrate to Managed Identity based Database on Azure, including Azure SQL DB and Azure PostgreSQL - migrate from DB2, Oracle DB to Azure PostgreSQL - migrate from local/on-prem SQL server to Azure SQL DB - Migrate to Azure Service Bus From ee8539881edd1045cfcaddb360d80b2ad9d06bf5 Mon Sep 17 00:00:00 2001 From: Xuyang Cao Date: Wed, 9 Jul 2025 18:18:04 +0800 Subject: [PATCH 8/9] update sample doc --- docs/azure/migration/appmod/sample.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/azure/migration/appmod/sample.md b/docs/azure/migration/appmod/sample.md index e69de29bb2d1d..8c7b91d17924c 100644 --- a/docs/azure/migration/appmod/sample.md +++ b/docs/azure/migration/appmod/sample.md @@ -0,0 +1,25 @@ +# Contoso University Management System Migration Sample for GitHub Copilot App Modernization for .NET + +To demonstrate GitHub Copilot App Modernization for .NET, we've provided a migration sample [Contoso University sample web app](https://github.com/Azure-Samples/dotnet-migration-copilot-samples/tree/main/ContosoUniversity). + +This fictional university management system is originally built with .NET Framework 4.8 and contains functionalities such as student enrollment, course management, and instructor assignments. It uses legacy Windows-based components, including: + +- **SQL Server LocalDB** for database storage +- **Local file system** for file management +- **Microsoft Message Queue (MSMQ)** for notification messaging + +## After Migration + +Using App Modernization for .NET, the sample can be updated to leverage modern, cloud-native Azure services, including: + +- **Azure SQL Database** replacing SQL Server LocalDB +- **Azure Blob Storage** replacing local file system access +- **Azure Service Bus** replacing MSMQ +- **Azure Key Vault** for secure secrets management + +This migration showcases how legacy on-premises applications can be transformed into scalable, maintainable cloud-native solutions using GitHub Copilot and Azure services. + +## See Also + +- [Contoso University sample web app](https://github.com/Azure-Samples/dotnet-migration-copilot-samples/tree/main/ContosoUniversity) + \ No newline at end of file From 6e840fa58c036ea89841c7cf9060d215ef54a44f Mon Sep 17 00:00:00 2001 From: Xuyang Cao Date: Wed, 9 Jul 2025 18:39:22 +0800 Subject: [PATCH 9/9] add todos in faq --- docs/azure/migration/appmod/faq.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/azure/migration/appmod/faq.md b/docs/azure/migration/appmod/faq.md index 11f3dbb63fa78..d0a30b70260a6 100644 --- a/docs/azure/migration/appmod/faq.md +++ b/docs/azure/migration/appmod/faq.md @@ -27,4 +27,8 @@ Automatic fix for compilation errors ### Which Visual Studio version should I use? -Please upgrade Visual Studio to the latest version to have better experience on both GitHub Copilot and App Modernization for .NET. \ No newline at end of file +Please upgrade Visual Studio to the latest version to have better experience on both GitHub Copilot and App Modernization for .NET. + +### TODO(wepa) MCP server related faq + config mcp server action + +### TODO(liang) AppCat related faq \ No newline at end of file