EPISODE · Nov 29, 2025 · 21 MIN
Legacy Java Modernization: Stop Fixing Legacy Java by Hand and Let AI Do It
from M365.FM - Modern work, security, and productivity with Microsoft 365 · host Mirko Peters - Founder of m365.fm, m365.show and m365con.net
(00:00:00) The Case for AI-Powered Java Modernization (00:00:26) The Legacy Java Dilemma (00:01:47) AI-Driven Modernization Process (00:04:22) The Assessment Phase: Exposing Technical Debt (00:12:39) Cloud Migration and Cost Optimization (00:17:06) The Results and Benefits of Automated Modernization (00:20:53) Closing Thoughts and Call to Action In this episode of M365.fm, Mirko Peters shows why manually upgrading legacy Java apps is unpaid penance — and how AI‑driven modernization can take you from Java 8 on AWS to Java 21 on Azure with receipts instead of heroics.WHAT YOU WILL LEARNWhy manual Java modernization is slow, error‑prone, and always behind on CVEs and tech debtHow to inventory a legacy Java 8 Spring/Maven stack with drifted POMs, pinned dependencies, and brittle CIWhat Java 21 actually buys you: virtual threads, better GC, and a more stable platform for concurrency and performanceHow an AI agent builds a concrete plan: CVE remediation, dependency upgrades, OpenRewrite recipes, and cloud‑readiness checksHow to move from AWS to Azure (App Service or Azure Spring Apps + Azure SQL) with proper bindings, Key Vault, and managed identitiesWhy every action must land in Git as small, reviewable commits with SBOMs, scanner outputs, and full audit trailTHE CORE INSIGHTMost teams think they “know” their legacy stack; the AI assessment proves they don’t. Forked parent POMs, transitive dependency roulette, duplicate logging bridges, and quiet CVEs all hide in plain sight until a structured agent inventories them. The real shift is from heroic, manual fixes to a loop where the agent proposes code changes, dependency bumps, and infra tweaks — and you approve them in Git with evidence attached.Mirko walks through how the agent: scans code, build files, plugins, Docker bits, and config; maps CVEs to real reachability; runs OpenRewrite recipes for Java 21; flags cloud anti‑patterns like stateful disk writes and hard‑coded secrets; and produces a plan that security, platform, and finance can all live with. You’ll hear why the most powerful slide in the deck was the cost and risk baseline: compute waste, CVE counts, and migration impact all quantified before a single line of code changed.Once the plan is approved, the agent stops talking and starts doing: applying recipes, fixing APIs, resolving dependency hell, regenerating SBOMs, and rerunning scanners in a tight loop until builds are green. From there, it containers the app, wires Azure hosting, connects to Azure SQL, and sets up CI/CD with staged rollouts and policy gates — all as traceable commits instead of 2 a.m. shell scripts.WHO THIS EPISODE IS FORThis episode is ideal for Java leads, platform engineers, cloud architects, and security owners who live with noisy legacy Java apps on AWS or other platforms. If your organization keeps postponing modernization because “it’s too risky” or “we don’t have time,” this conversation will give you a concrete, AI‑assisted pattern to upgrade, secure, and move your stack to Azure with evidence instead of anecdotes.ABOUT THE HOSTMirko Peters is a Microsoft 365 and cloud consultant who helps organizations turn fragile, legacy workloads into governed, modern applications on Azure. Through M365.fm, Mirko shares real modernization stories, governance patterns, and platform designs that let teams replace manual Java heroics with repeatable, AI‑assisted modernization.Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.
What this episode covers
(00:00:00) The Case for AI-Powered Java Modernization (00:00:26) The Legacy Java Dilemma (00:01:47) AI-Driven Modernization Process (00:04:22) The Assessment Phase: Exposing Technical Debt (00:12:39) Cloud Migration and Cost Optimization (00:17:06) The Results and Benefits of Automated Modernization (00:20:53) Closing Thoughts and Call to Action In this episode of M365.fm, Mirko Peters shows why manually upgrading legacy Java apps is unpaid penance — and how AI‑driven modernization can take you from Java 8 on AWS to Java 21 on Azure with receipts instead of heroics.WHAT YOU WILL LEARNWhy manual Java modernization is slow, error‑prone, and always behind on CVEs and tech debtHow to inventory a legacy Java 8 Spring/Maven stack with drifted POMs, pinned dependencies, and brittle CIWhat Java 21 actually buys you: virtual threads, better GC, and a more stable platform for concurrency and performanceHow an AI agent builds a concrete plan: CVE remediation, dependency upgrades, OpenRewrite recipes, and cloud‑readiness checksHow to move from AWS to Azure (App Service or Azure Spring Apps + Azure SQL) with proper bindings, Key Vault, and managed identitiesWhy every action must land in Git as small, reviewable commits with SBOMs, scanner outputs, and full audit trailTHE CORE INSIGHTMost teams think they “know” their legacy stack; the AI assessment proves they don’t. Forked parent POMs, transitive dependency roulette, duplicate logging bridges, and quiet CVEs all hide in plain sight until a structured agent inventories them. The real shift is from heroic, manual fixes to a loop where the agent proposes code changes, dependency bumps, and infra tweaks — and you approve them in Git with evidence attached.Mirko walks through how the agent: scans code, build files, plugins, Docker bits, and config; maps CVEs to real reachability; runs OpenRewrite recipes for Java 21; flags cloud anti‑patterns like stateful disk writes and hard‑coded secrets; and produces a plan that security, platform, and finance can all live with. You’ll hear why the most powerful slide in the deck was the cost and risk baseline: compute waste, CVE counts, and migration impact all quantified before a single line of code changed.Once the plan is approved, the agent stops talking and starts doing: applying recipes, fixing APIs, resolving dependency hell, regenerating SBOMs, and rerunning scanners in a tight loop until builds are green. From there, it containers the app, wires Azure hosting, connects to Azure SQL, and sets up CI/CD with staged rollouts and policy gates — all as traceable commits instead of 2 a.m. shell scripts.<a...
NOW PLAYING
Legacy Java Modernization: Stop Fixing Legacy Java by Hand and Let AI Do It
No transcript for this episode yet
Similar Episodes
Mar 26, 2026 ·1m
Mar 19, 2026 ·34m
Feb 18, 2026 ·11m
Feb 11, 2026 ·45m