RepoMicrosoftMicrosoftpublished Jun 1, 2026seen 5d

microsoft/frontier-agentic-modernization-hackathon

JavaScript

Open original ↗

Captured source

source ↗

microsoft/frontier-agentic-modernization-hackathon

Language: JavaScript

License: MIT

Stars: 4

Forks: 0

Open issues: 1

Created: 2026-06-01T10:07:43Z

Pushed: 2026-06-08T19:46:46Z

Default branch: main

Fork: no

Archived: no

README:

Frontier Agentic Modernization

Introduction

Legacy applications are everywhere — applications built on .NET Framework 4.8, Spring Boot 2.x with Java 8, proprietary databases, and on-premises infrastructure. Modernizing them is one of the most common — and most complex — challenges software teams face today.

In this hackathon you will use the GitHub Copilot Modernization tools to assess, plan, and execute the migration of legacy applications across three parallel tracks:

  • ContosoUniversity (.NET track) — an ASP.NET MVC 5 application running on .NET Framework 4.8, with MSMQ messaging and local file system storage
  • PhotoAlbum (Java track) — a Spring Boot 2.7 application running on Java 8, backed by Oracle Database with photo BLOBs
  • Your own application (Customer track) — a real customer-owned legacy codebase from your portfolio, modernized using the same workflow

By the end of the event you will have migrated applications to modern runtimes (.NET 10 and Java 21), cloud-native Azure services, and containerized deployments on Azure Container Apps — including a working modernization of a real customer application.

Learning Objectives

By completing this hack you will be able to:

1. Use modernize assess to evaluate a legacy codebase and understand its migration complexity 2. Create AI-driven modernization plans with modernize plan create and execute them with modernize plan execute 3. Migrate a .NET Framework 4.8 ASP.NET MVC 5 app to .NET 10 ASP.NET Core 4. Replace MSMQ with Azure Service Bus and local file storage with Azure Blob Storage 5. Migrate a Spring Boot 2.x / Java 8 application to Spring Boot 3.x / Java 21 6. Replace an Oracle Database with Azure Database for PostgreSQL and Azure Blob Storage 7. Containerize both modernized applications and deploy them to Azure Container Apps using Terraform 8. Apply the same AI-driven workflow to a real customer application from your own portfolio

Challenges

Each challenge has a dedicated per-track guide. Pick `dotnet/`, `java/`, or `customer/` depending on which app you are modernizing. Teams can split across tracks and run all three in parallel.

  • Challenge 00: Prerequisites — Ready, Set, GO! — [.NET](Student/dotnet/Challenge-00.md) · [Java](Student/java/Challenge-00.md)
  • Prepare your workstation and verify access to all required tools and services.
  • Challenge 01: Assess the Legacy Application — [.NET](Student/dotnet/Challenge-01.md) · [Java](Student/java/Challenge-01.md)
  • Run the GitHub Copilot Modernization assessment and interpret the results.
  • Challenge 02: Modernize the Application — [.NET](Student/dotnet/Challenge-02.md) · [Java](Student/java/Challenge-02.md)
  • .NET: migrate ContosoUniversity from .NET Framework 4.8 to .NET 10 ASP.NET Core with Azure Service Bus and Azure Blob Storage.
  • Java: migrate PhotoAlbum from Spring Boot 2.7 / Java 8 / Oracle to Spring Boot 3.x / Java 21 / PostgreSQL + Azure Blob Storage.
  • Challenge 03: Containerize & Deploy to Azure Container Apps — [.NET](Student/dotnet/Challenge-03.md) · [Java](Student/java/Challenge-03.md)
  • Package the modernized app as a container and deploy it to Azure using Terraform.
  • Challenge 04: Migrate the Database to Azure — [.NET](Student/dotnet/Challenge-04.md) · [Java](Student/java/Challenge-04.md)
  • Migrate legacy production data to the managed Azure target database and validate row parity + app behavior.
  • Challenge 05: Observe & Secure — [.NET](Student/dotnet/Challenge-05.md) · [Java](Student/java/Challenge-05.md)
  • Integrate Application Insights, secure secrets with Azure Key Vault and Managed Identity.
  • Challenge 06: Infuse AI into the Application (Stretch) — [.NET](Student/dotnet/Challenge-06.md) · [Java](Student/java/Challenge-06.md)
  • Add Azure OpenAI (vision, gpt-4.1-mini) with Managed Identity so the app generates course/photo metadata on upload.

Your App Track

  • Challenge 00: Modernize a Customer Application — [Customer](Student/customer/Challenge-00.md)
  • Apply the full modernization workflow to a real customer-owned codebase from your portfolio. No sample apps or public repositories — this must be a production legacy application your team owns.

Application Selection Criteria

Choose an application that is:

  • Medium complexity — multi-layer, with an external database and at least one legacy dependency worth replacing (e.g. end-of-life runtime, on-premises messaging, local file storage)
  • Not the most critical or most complex app in the portfolio — representative enough to be meaningful, but realistic to modernize in a focused session
  • Buildable locally — even if the build has warnings or requires legacy tooling

Before starting, verify the following readiness checklist:

  • [ ] The repository is accessible to everyone on the team
  • [ ] The application builds locally
  • [ ] Docker and container tooling are available on the workstation
  • [ ] At least one team member understands what the application does

Workflow

1. Run modernize assess on the application folder and review the findings 2. Use modernize plan create to generate a migration plan targeting a modern runtime and a container platform (ACA or AKS) 3. Use modernize plan execute to apply the plan 4. Resolve remaining issues with GitHub Copilot Chat 5. Containerize and deploy the application to Azure

Success Criteria

1. A brief justification for the selected application — why it was chosen and why it is not the most complex or most critical app in the portfolio 2. An assessment report from modernize assess with the top findings summarized 3. The application builds and runs on a modern target runtime 4. The application is containerized and deployed to Azure 5. Coach discussion — what was the single hardest migration issue the automated tools could not resolve, and how did the team solve it?

Prerequisites

Assumed Knowledge

  • Basic understanding of software development and version control (Git)
  • Familiarity with either Java/Maven or .NET/C# (you don't need to know both — teams can split)
  • Conceptual knowledge of containers (Docker) is helpful but not required

Tools to Install Before the Event

| Tool…

Excerpt shown — open the source for the full document.

Notability

notability 2.0/10

Low-stars hackathon repo