Application modernization services · .NET, VB6, Access, Azure

Modernize the old app one piece at a time.

Application modernization means moving an ageing business app onto a supported platform with the least change that removes the risk: retire it, rehost it, refactor it or rebuild it. QServices decides app by app, then moves VB6, Access, Web Forms and .NET Framework apps to current .NET and Azure in slices, so the business never stops for a big-bang rewrite.

.NET 8 and .NET 9 both lose support on 10 November 2026.

Order desk app · moving route by routePhase 3 of 6
Web Forms on .NET Framework 4.6.2ASP.NET Core on .NET 10
01Login and permissionsMoved
02Customer lookupMoved
03Order entryTesting
04Pricing rulesNext
05ReportsLegacy
06Admin screensLegacy
Users see one app the whole time. The old part shrinks each release.Illustrative
10 Nov 2026
.NET 8 and 9 end of support
DefinitionApplication modernizationnoun · IT
Also calledLegacy application modernization.NET modernizationApp migration

Application modernization is the work of moving a legacy business application onto a supported, secure and maintainable platform. Depending on the app, that means retiring it, moving it as it is to new infrastructure, upgrading its code, rebuilding it, or replacing it with an off-the-shelf product. Microsoft's guidance is to make the least change needed, and it is clear that moving an app to the cloud on its own isn't modernization.

Microsoft Cloud Adoption Framework, Modernize (updated October 2026): "A rehost migration alone isn't modernization."
Support dates

When the platform under your app stops getting fixes.

Day counts update when the page loads. Anything already ended is running without security fixes today.

System and versionWhat endsDateDays leftWhat stops
.NET 8 (LTS)Long-term support release
End of support10 Nov 2026…

No security patches. Move to .NET 10 LTS, supported to 14 Nov 2028.

.NET 9 (STS)Standard-term release
End of support10 Nov 2026…

Same day as .NET 8, because standard releases now get 24 months.

.NET 10 (LTS)Current long-term release
End of support14 Nov 2028…

Where we land most apps today.

.NET Framework 4.6.2Windows component
End of support12 Jan 2027…

Same day as Windows Server 2016. 4.7 to 4.8.1 follow the Windows they run on.

.NET 6 (.NET 7 ended May 2024)Earlier releases
End of support12 Nov 2024…

Already unsupported. Usually a short retarget to .NET 10.

Visual Basic 6.0 IDEDevelopment tools
Support ended8 Apr 2008…

The runtime still gets critical fixes on supported Windows, 32-bit only. Microsoft "strongly recommends" replacing VB6 apps.

Windows Server 2016Common app host
Extended support12 Jan 2027…

No security updates for the server the app runs on.

Windows Server 2012 / R2Extended Security Updates
Last ESU year13 Oct 2026…

Already over, on-premises and on Azure.

SQL Server 2016Database
Extended support14 Jul 2026…

Already ended. Paid security updates on-premises cost about 75% of the licence a year.

SQL Server 2014Database
Extended support9 Jul 2024…

Ended. Security updates continue to July 2027 for those who pay, or free on Azure.

From Microsoft's .NET support policy and lifecycle pages, checked October 2026. We don't list dates for Classic ASP or Access here because Microsoft's own pages for them weren't available to verify.

Decide app by app

Retire, rehost, refactor, rebuild or replace.

A typical estate, sorted. Microsoft and AWS both describe these options; the skill is putting each app in the right column and not rewriting what only needs moving.

RetireNobody uses it, or another system already does the job.
Old sales reportsAccess

Same numbers now come from Power BI. Archive the data and switch it off.

Intranet formsClassic ASP

Three pages, opened twice last year.

RehostStable code on an expiring server. Move it as it is, as a bridge.
Label printing service.NET Framework 4.8

Works fine; its server is the problem. Azure VM now, refactor later.

RefactorSound code on an unsupported runtime. Upgrade it.
Customer portal API.NET 8

Retarget to .NET 10 before 10 Nov. Days, not months.

Order desk appWeb Forms

Moved route by route behind a new front door.

RebuildNo supported tools left, or the process has changed.
Production schedulerVB6

No supported IDE. Rebuilt in Blazor over the same data.

Rebate calculatorAccess + Excel

Rebuilt as a Power App on Azure SQL with approvals.

ReplaceA standard product does the job better.
Helpdesk toolCustom .NET

A standard service desk product covers it.

Illustrative. Microsoft's Cloud Adoption Framework lists eight migration strategies, AWS lists seven; we use the five that cover most mid-market estates.

No big-bang rewrite

How the old app gets replaced in slices.

Martin Fowler on full rewrites: "we've seen this simple-sounding plan go down in flames most of the time." Microsoft calls its own ASP.NET Core migration path an implementation of the strangler fig pattern. Drag the slider.

Legacy appNew services
StartMonth 2Month 4Month 6Done
Start · 0% moved

A new front door, nothing moved yet.

We put a modern proxy in front of the old app. Users notice nothing, but every request now passes through a place we control.

Month 2 · 25% moved

The first screens move.

Login and lookups move to ASP.NET Core. Shared sign-in means users don't log in twice, and the old app keeps everything else.

Month 4 · 55% moved

The busy parts move next.

Order entry and pricing move once tests prove they match the old behaviour. Each release can be rolled back on its own.

Month 6 · 85% moved

Only the long tail is left.

Rarely used screens move or get retired. The old database is split as each part moves.

Done · 100% moved

The old app is switched off.

The proxy comes out, the old server is decommissioned and its data archived. A US GAO review of nine legacy modernization plans found only three fully covered how the old system would be disposed of. Ours does.

Where it lands on Azure

Seven landing spots, picked per app.

Everything sits inside an Azure landing zone with policies, identity, networking and monitoring set up once.

LandingBest forEffort to run
Azure Virtual MachinesA bridge for apps that must leave an old server nowHigh
App ServiceASP.NET and ASP.NET Core web apps and APIsLow
Managed Instance on Azure App ServiceOlder Windows web apps that need COM, the registry or MSI installersLow to medium
Azure Container AppsContainerised .NET APIs and background jobs, scaling to zeroLow
Azure Kubernetes ServiceMany services, with a platform team to run themHigh
Azure SQL Managed InstanceSQL Server moved with Agent jobs and cross-database queries intactLow
Azure SQL DatabaseRebuilt or refactored apps with a single databaseVery low

From Microsoft Learn architecture and service documentation, October 2026.

Banks and lenders

Keep the core. Modernize around it.

For banks, the core banking platform usually stays. What ages badly is everything around it, and that's where we work.

An API layer in front of the core

New services talk to the core through one controlled layer, so the core code never changes.

Read changes, don't touch code

Change data capture feeds new services from the core's data without modifying it.

Route per transaction

Old and new paths run side by side, and each payment takes the path that's ready for it.

The long tail of tools

VB6, Access and Web Forms back-office tools rebuilt on supported .NET.

Third-party risk in writing

OCC Bulletin 2023-17 treats the cloud and the modernization partner as third parties. We give you what your diligence needs.

Banking

Operational resilience

Rollback per release and tested failover, in line with the Basel Committee's resilience principles.

How QServices does it

Deadline first, then the plan.

Fixed price per phase. You see working slices in production every few weeks, not a demo at the end.

  1. 1
    Our team

    Triage the deadlines

    Every app checked against the dates above. .NET 8 and 9 apps get retargeted to .NET 10 first; servers that can't wait get a temporary move to Azure.

  2. 2
    Our team

    Decide app by app

    Discovery and dependency mapping with Azure Migrate, then a retire, rehost, refactor, rebuild or replace call for each app, with the business case.

  3. 3
    Your team

    Agree the order

    Your team ranks apps by business impact and cost of delay. We schedule around your busy periods.

  4. 4
    Our team

    Land the platform

    An Azure landing zone with identity, networking, policies and monitoring, set up once for every app.

  5. 5
    Our team

    Move in slices

    Two to four week slices behind a new front door, each one tested against the old behaviour and released on its own.

  6. 6
    Your team

    Switch off the old one

    Your team signs off the last slice; we decommission the old server and archive its data.

  7. 7
    Agent

    Agents on the new platform

    Once the app is on supported .NET and Azure, AI agents can work alongside it.

Timeline and effort

What decides how long it takes.

PhaseTypical rangeWhat decides it
Assessment2 weeksHow many apps, servers and databases, and how well they're documented.
.NET 6 to 9 to .NET 10Days to 2 weeks per appThird-party packages and how much test coverage exists.
.NET Framework to .NET 101 to 4 months per appWeb Forms, WCF or AppDomains in the code, and app size.
VB6 or Access rebuild2 to 6 months per appScreens, reports and business rules buried in the code.
Rehost to Azure2 to 6 weeksServer count and dependencies on other systems.
Your team's time2 to 4 hours a weekTesting each slice and confirming business rules.

We price per phase after the assessment. Microsoft funding programmes can offset assessment and deployment costs for eligible projects.

From the blog

Read more on this.

Publishing 1 NovCore banking modernization: what to fix around the core before you touch it
Publishing 26 OctLegacy application modernization: a phased plan for the apps nobody wants to touch
Publishing 16 NovApplication modernization cost: what drives it and how to phase the spend
Publishing 1 DecHiring a .NET modernization partner: questions to ask before you sign
Publishing 6 NovApplication modernization strategy: rehost, refactor, rebuild or retire, app by app
Publishing 11 NovRewrite vs refactor: how to decide for a legacy business app
FAQ

What IT leaders ask about application modernization.

How much does application modernization cost?

It depends on how many apps, how large and how tangled they are, and which option each one needs: a retarget from .NET 8 to .NET 10 takes days, a VB6 rebuild takes months. Weigh it against the cost of staying: paid security updates for SQL Server 2016 on-premises run at about 75% of the licence a year. We price each phase after a two-week assessment.

How do I choose an application modernization strategy?

Decide per app, not for the whole estate. Start with hard deadlines, then pick the least change that removes the risk: retire what nobody uses, rehost what's stable, refactor sound code on old runtimes, and rebuild only where there are no supported tools left or the process has changed.

How should a bank modernize the systems around its core banking platform?

Keep the core and modernize around it. Put an API layer in front of it, feed new services with change data capture instead of changing core code, route each transaction to the old or new path, and rebuild the long tail of back-office tools. Treat the cloud and the partner as third parties under OCC 2023-17.

Should I rewrite or refactor my legacy app?

Refactor when the code is sound but the runtime is unsupported. Rebuild when there's no supported toolchain, as with VB6, or the business process has changed. Either way, deliver it in slices behind a new front door; Martin Fowler notes that big-bang rewrites fail most of the time.

When does .NET 8 support end?

On 10 November 2026, the same day as .NET 9. Move to .NET 10, a long-term support release supported until 14 November 2028.

Does the .NET Upgrade Assistant still work?

Microsoft has deprecated it in favour of GitHub Copilot's modernization chat agent, which upgrades .NET Framework apps to current .NET. It speeds up the mechanical work; testing, design decisions and anything Web Forms or WCF still need people.

Two weeks · fixed price · you keep the plan

Start with the app that's closest to its date.

Find out which apps need moving now, which can wait, and which you can simply switch off.

Book Appointment
Sahil kataria (1)
Sahil Kataria

Founder and CEO

amit Kumar
Amit Kumar

Chief Sales Officer

Talk To Sales

USA

+1 270-550-1166

flag

+1 270-550-1166

Phil J.
Phil J.Head of Engineering & Technology​
QServices Inc. undertakes every project with a high degree of professionalism. Their communication style is unmatched and they are always available to resolve issues or just discuss the project.​

Turn the Microsoft Licenses
You Already Own Into an
AI Workplace

Join our live webinar on Sept 24 and see five
ways to automate meetings, approvals, and

document search with  tools already in your

tenant.

Assured

Thank You

Your details has been submitted successfully. We will Contact you soon!