Skip to content

Commit f6838d2

Browse files
authored
Merge pull request #53518 from MicrosoftDocs/NEW-introduction-github-copilot-app-modernization
New introduction GitHub copilot app modernization module
2 parents 4dd450d + 7fffe8f commit f6838d2

18 files changed

Lines changed: 458 additions & 0 deletions
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.introduction-code-modernization
3+
title: Introduction to code modernization
4+
metadata:
5+
title: Introduction to Code Modernization
6+
description: This unit introduces the concept of code modernization and its importance in maintaining and upgrading legacy applications.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 4
12+
content: |
13+
[!include[](includes/1-introduction-code-modernization.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.github-copilot-app-modernization
3+
title: GitHub Copilot app modernization
4+
metadata:
5+
title: GitHub Copilot App Modernization
6+
description: Learn how GitHub Copilot can assist in app modernization efforts, including refactoring legacy code and modernizing architecture and frameworks.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 7
12+
content: |
13+
[!include[](includes/2-github-copilot-app-modernization.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.modernization-workflow-works
3+
title: How the modernization workflow works
4+
metadata:
5+
title: How the Modernization Workflow Works
6+
description: Learn how GitHub Copilot can assist in app modernization efforts, including refactoring legacy code and modernizing architecture and frameworks.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 9
12+
content: |
13+
[!include[](includes/3-modernization-workflow-works.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.refactor-legacy-code-modernization-agent
3+
title: Refactoring legacy code with the modernization agent
4+
metadata:
5+
title: Refactoring Legacy Code with the Modernization Agent
6+
description: Learn how to use the modernization agent in GitHub Copilot to refactor legacy code.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 3
12+
content: |
13+
[!include[](includes/4-refactor-legacy-code-modernization-agent.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.modernize-architecture-frameworks
3+
title: Modernizing architecture and frameworks
4+
metadata:
5+
title: Modernizing Architecture and Frameworks
6+
description: Learn how to use GitHub Copilot to modernize application architecture and frameworks.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 4
12+
content: |
13+
[!include[](includes/5-modernize-architecture-frameworks.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.app-modernization-case-study
3+
title: App modernization case study
4+
metadata:
5+
title: App Modernization Case Study
6+
description: Learn how GitHub Copilot can assist in app modernization efforts, including refactoring legacy code and modernizing architecture and frameworks.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/6-app-modernization-case-study.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.considerations-ai-assisted-modernization
3+
title: Considerations for AI-assisted modernization
4+
metadata:
5+
title: Considerations for AI-Assisted Modernization
6+
description: Understand the key considerations when using AI-assisted tools like GitHub Copilot for app modernization, including best practices, potential challenges, and strategies for successful implementation.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 4
12+
content: |
13+
[!include[](includes/7-considerations-ai-assisted-modernization.md)]
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.knowledge-check
3+
title: Knowledge check
4+
metadata:
5+
title: Knowledge Check
6+
description: Check your knowledge.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 11
12+
content: Choose the best response for each question.
13+
quiz:
14+
questions:
15+
- content: "Which of the following best describes GitHub Copilot app modernization?"
16+
choices:
17+
- content: "A general-purpose code completion tool that suggests code as you type."
18+
isCorrect: false
19+
explanation: "This describes the standard GitHub Copilot autocompletion feature, not the specialized app modernization agent."
20+
- content: "A specialized agent that provides structured, end-to-end workflows for upgrading and migrating Java and .NET applications."
21+
isCorrect: true
22+
explanation: "GitHub Copilot app modernization is a dedicated AI agent (built on Copilot's agent mode) that guides developers through a comprehensive modernization process (including assessment, planning, code transformation, build validation, and deployment) for Java and .NET apps."
23+
- content: "A tool that only generates Dockerfiles for containerization."
24+
isCorrect: false
25+
explanation: "While containerization (for example, generating Dockerfiles) is part of its capabilities, the app modernization agent does more than that, offering a full suite of upgrade and migration workflows beyond just creating Dockerfiles."
26+
- content: "A portfolio assessment tool for scanning enterprise applications."
27+
isCorrect: false
28+
explanation: "The app modernization agent isn't merely a scanning or portfolio assessment tool; it focuses on actively upgrading and migrating applications through structured workflows, rather than just scanning them."
29+
- content: "What happens during the assessment stage of the modernization workflow?"
30+
choices:
31+
- content: "The agent immediately starts modifying code."
32+
isCorrect: false
33+
explanation: "The assessment stage doesn't involve changing code. At this point, the agent is just analyzing the application; it only modifies code in later stages."
34+
- content: "The agent analyzes the project's code, configuration, and dependencies, and generates a report identifying breaking changes, compatibility issues, and upgrade scope."
35+
isCorrect: true
36+
explanation: "In the assessment stage, the agent inspects your codebase (including configurations and dependencies) and produces a report highlighting breaking changes, compatibility issues, and the scope of required upgrades. This happens before any code modifications, allowing you to review and plan next steps."
37+
- content: "The agent deploys the application to Azure."
38+
isCorrect: false
39+
explanation: "Deployment to Azure isn't part of the assessment stage. Assessment is focused on analysis and planning. Deployment occurs later, after code has been upgraded and tested."
40+
- content: "The agent deletes all deprecated code."
41+
isCorrect: false
42+
explanation: "The agent doesn't delete any code during assessment. It identifies outdated or problematic elements and notes them in a report. Actual code changes happen during later execution/transformation stages."
43+
- content: "What are predefined tasks in GitHub Copilot app modernization?"
44+
choices:
45+
- content: "Tasks that require the developer to manually write every line of migration code."
46+
isCorrect: false
47+
explanation: "Predefined tasks are meant to automate migration steps using AI and known patterns, so the developer doesn't have to write all migration code manually."
48+
- content: "Expert-encoded migration patterns for common Azure scenarios (such as migrating from MSMQ to Azure Service Bus) that the agent applies automatically."
49+
isCorrect: true
50+
explanation: "Predefined tasks are expert-designed migration patterns for frequent Azure modernization scenarios (for example, updating code to move from MSMQ to Azure Service Bus). The agent uses these tasks to apply best-practice code changes consistently and automatically. Developers can also create custom tasks based on prior migrations."
51+
- content: "Generic Copilot code suggestions based on comments."
52+
isCorrect: false
53+
explanation: "Generic inline code suggestions from Copilot aren't the same as predefined tasks. Predefined tasks are guided migration actions encoded with expert knowledge for common scenarios, rather than on-the-fly suggestions."
54+
- content: "Tasks that can only be created by Microsoft engineers."
55+
isCorrect: false
56+
explanation: "While many predefined tasks are provided out-of-the-box, developers can also create custom tasks. It's not limited to Microsoft engineers."
57+
- content: "After accepting the agent's code transformations, what should you do next?"
58+
choices:
59+
- content: "Consider the task done since the agent's output is always correct."
60+
isCorrect: false
61+
explanation: "You shouldn't assume the job is finished. The agent's output isn't guaranteed to be perfect, so verification is necessary."
62+
- content: "Review the changes, run tests, and verify behavior before merging to production."
63+
isCorrect: true
64+
explanation: "After code transformations and automated checks, you should manually review changes, run your test suite, and confirm the application behaves correctly before merging into production."
65+
- content: "Immediately deploy to production."
66+
isCorrect: false
67+
explanation: "Deploying without thorough testing and review can introduce regressions or unexpected issues in production."
68+
- content: "Delete the assessment and plan files to save space."
69+
isCorrect: false
70+
explanation: "There's no need to delete assessment and plan files. They can be valuable references and aren't part of the modernization workflow to remove."
71+
- content: "Which of the following is a supported way to interact with GitHub Copilot app modernization?"
72+
choices:
73+
- content: "Writing inline code comments and waiting for Copilot autocomplete suggestions."
74+
isCorrect: false
75+
explanation: "This describes the basic Copilot code completion feature, not the dedicated app modernization tool."
76+
- content: "Using the extension sidebar in VS Code, typing @modernize in Visual Studio's Copilot Chat, or running natural-language prompts in Copilot CLI."
77+
isCorrect: true
78+
explanation: "GitHub Copilot app modernization can be accessed via the VS Code extension (sidebar UI), invoked in Visual Studio Copilot Chat with @modernize, or run through Copilot CLI using natural-language commands."
79+
- content: "Sending an email to Microsoft support with your source code."
80+
isCorrect: false
81+
explanation: "The tool is intended to be used within developer environments and CLI tools, not by emailing code to support."
82+
- content: "Uploading a ZIP file of your project to an Azure portal."
83+
isCorrect: false
84+
explanation: "This isn't a supported interaction method. The app modernization agent is used through tools like VS Code, Visual Studio, or CLI."
85+
- content: "Which languages does GitHub Copilot app modernization currently support?"
86+
choices:
87+
- content: "Java only."
88+
isCorrect: false
89+
explanation: "It supports more than just Java, including .NET scenarios and specific Python migration support."
90+
- content: "Java, .NET (C#), and Python (for Agent Framework migration), plus language-agnostic containerization and deployment."
91+
isCorrect: true
92+
explanation: "It's focused on Java and .NET (C#) upgrade/migration scenarios, supports Python for a specific Agent Framework migration scenario, and also provides language-agnostic containerization and deployment tasks."
93+
- content: "All programming languages equally."
94+
isCorrect: false
95+
explanation: "Support isn't equal across all languages; advanced capabilities are focused on specific languages and scenarios."
96+
- content: "Only languages that run on Azure."
97+
isCorrect: false
98+
explanation: "Support isn't defined as 'all Azure-supported languages.' It targets specific languages (notably Java and .NET, plus a Python migration scenario) while offering some language-agnostic tasks."
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.introduction-github-app-modernization.summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: Module summary.
7+
ms.date: 02/17/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 1
12+
content: |
13+
[!include[](includes/9-summary.md)]
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Legacy code refers to code that's old, outdated, or built with technologies no longer current. This could mean the codebase uses deprecated libraries, older language versions, or hasn't been updated in a long time. Legacy code might still work, but it often has issues that make it hard to maintain for the following reasons:
2+
3+
- **Technical debt.** Over time, quick fixes and outdated practices accumulate. The code may have convoluted logic or temporary patches that became permanent, making new features risky and time-consuming to add.
4+
- **Compatibility and integration challenges.** Legacy systems may be difficult to integrate with modern systems. Data formats or APIs might not match current standards.
5+
- **Performance limitations.** Older code might not be optimized for modern hardware or larger scales, leading to slow performance or inability to scale up.
6+
- **Security vulnerabilities.** Legacy code might lack modern security practices. It could be susceptible to attacks because it was written before today's security standards or relies upon components with known vulnerabilities (CVEs).
7+
- **Lack of tests and documentation.** Legacy projects often have minimal tests or docs. New developers find it hard to understand or change the code without breaking things.
8+
9+
Application modernization is the process of updating a legacy application to improve its technology stack, architecture, and performance to meet current standards. Modernization can take many forms, including refactoring code for clarity, updating libraries or runtime versions, redesigning components into microservices, and migrating on-premises applications to the cloud.
10+
11+
Key benefits of modernizing legacy code include:
12+
13+
- **Better performance and scalability.** Modern code can take advantage of current frameworks and hardware, making the application run faster and handle more users or data.
14+
- **Easier maintenance.** Code that follows modern best practices, such as modular design, is easier for developers to understand and modify.
15+
- **Improved security and reliability.** Updating to supported frameworks and addressing CVEs reduces vulnerabilities and crashes.
16+
- **Faster development of new features.** With a cleaner, modern codebase, teams can add features or integrate with new systems more quickly.
17+
- **Compatibility with new tech.** Modernized apps work with current operating systems, browsers, databases, and can integrate with cloud services and APIs.
18+
19+
Modernizing a large legacy system requires substantial effort. You need to assess the current state, plan the upgrade path, transform code, validate builds, address security vulnerabilities, and deploy the resulting application to modern infrastructure. GitHub Copilot app modernization is a tool that you can use to automate and streamline many of these steps, making the modernization of code a less effort intensive process.

0 commit comments

Comments
 (0)