Web application modernization, migration and maintenance

For the application your business already depends on: an assessment first, then improvements and migration in small, reversible steps, then maintenance that keeps it secure.

modernization / order-management viewing as project
Modules of a legacy order-management application with their target, state and routing
moduletodaytargetstate traffic
Customers PHP 5 · MySQL 5.5 Laravel 11 · PostgreSQL modern /customers → new
Orders PHP 5 · stored procs Laravel 11 · PostgreSQL migrating /orders → new (reads), old (writes)
Invoicing PHP 5 · cron scripts queue jobs + accounting API next old
Reporting nightly SQL exports reporting views legacy old
User admin custom auth SSO via identity provider modern new
FTP price feed nightly FTP upload - retired replaced by ERP API

3 of 6 modules moved · business running throughout · next cut-over: invoicing

Fig. 1 A legacy order-management application being modernized module by module. Illustrative example · fictional data

symptoms

Signs an application needs attention

None of these means the application must be replaced. Each means it needs a plan.

  1. slow change

    Small changes take weeks

    Every change touches code nobody fully understands, so the team tests by hand and releases rarely.

  2. outdated

    The framework or language is out of support

    Security patches have stopped, hosting providers are retiring the runtime, and libraries can’t be upgraded.

  3. key person

    One person understands it

    The original developer has left or is overloaded, and there is little documentation or test coverage.

  4. integration

    It can’t connect to newer systems

    Data moves by CSV exports and FTP because the application has no usable API.

  5. reliability

    It breaks under load or on updates

    Month-end, seasonal peaks or any server update are a risk to the business.

start here

Start with an assessment

Our web application modernization services always start here. Before recommending anything, we read the code, the data and the infrastructure, and talk to the people who use and run the application. You get a written report you can act on with us or without us. For older systems that are not web applications, see legacy software modernization.

assessment / findings viewing as report
  • dependenciesPHP 5.6 and 41 packages past end of lifehigh
  • securityPasswords hashed with MD5; no rate limiting on sign-inhigh
  • dataOrder totals duplicated in 3 tables, 0.4% disagreemedium
  • operationsManual FTP deployment, no staging environmentmedium
  • knowledgeNo tests; business rules only in code commentsmedium
  • architectureCustomers and orders modules separable; invoicing tightly couplednote

you receive

  • Findings rated by risk
  • Options with effort and trade-offs
  • A sequenced plan, smallest safe step first
Fig. 2 An excerpt of assessment findings, rated by severity, with the architecture note that shapes the migration plan. Illustrative example · fictional data

options

Modernization options, from least to most change

People ask about the “7 Rs” of modernization. In practice, the decision is usually among these six, often a different one per module.

Modernization options: what each means, when it fits, and its risk
optionwhat it meansfits whenrisk
Keep and stabilise Patch security issues, add monitoring, tests and documentationThe application works and will be needed for a while yetLow
Rehost Move to new infrastructure or cloud with minimal code changeThe hosting is the problem, not the codeLow
Replatform Upgrade the runtime, framework or database, and adopt managed servicesThe code is sound but its foundations are out of supportMedium
Refactor Restructure code to make it testable and changeable, behaviour unchangedBusiness rules are right but change is slow and riskyMedium
Rebuild Write a module again on a modern stack, behind a routing layerThe structure prevents change or the platform is a dead endHigher, controlled per module
Replace Retire the module in favour of a product or another systemThe capability is now a commodityVaries: data and process migration

migration

Migrating without stopping the business

Good web application migration services run the old and new systems side by side, because that is when migration is safest. A routing layer decides which code answers each part of the application; modules move one at a time, each cut-over reversible, until the old system has nothing left to do.

  1. before

    Everything runs on the legacy application.

  2. during

    The router sends /customers and /orders to new code; data synced both ways.

  3. after

    Legacy switched off after a last reconciliation; one data store.

Fig. 3 Old and new side by side behind a routing layer: before, during and after migration.

data migration

Moving the data, and proving it moved

Data migration is where most migrations go wrong. Every step has a check that has to pass before the next one.

  1. 01 map

    Map

    Every source table and field mapped to the target model, including the rules hidden in old code.

  2. 02 clean

    Clean

    Duplicates, orphans and invalid values found and resolved with the business owners.

    If not: ambiguous record → owner decides

  3. 03 rehearse

    Rehearse

    Full dry runs on copies of production data, timed and repeated until they are boring.

  4. 04 reconcile

    Reconcile

    Counts, totals and samples compared between old and new, per entity.

    If not: mismatch → stop and fix

  5. 05 cut over

    Cut over

    Final sync in a planned window, with the routing switched module by module.

  6. 06 rollback

    Keep a way back

    The old system stays available read-only until the new one has run cleanly through a full business cycle.

maintenance

Web application maintenance services

Maintenance is a service of its own, whether we built the application, modernized it, or are taking it over. The scope is agreed in writing, and requests move through visible states.

What web application maintenance covers
areawhat’s includedhow often
Security Patches for the runtime, framework and libraries; vulnerability scanningContinuously; critical issues as they appear
Dependencies Planned upgrades so the stack never falls out of support againQuarterly review
Monitoring Uptime, errors, performance and queue health, with alerts routed to the agreed on-call contactAlways on
Backups Automated backups and restore tests that prove they workDaily backups, regular restore drills
Fixes Bugs triaged by severity with agreed response timesAs reported
Improvements Small changes from a backlog you prioritiseEach cycle
Reporting Health, incidents, work done and recommendationsMonthly

Taking over an application from another team

  • Access to code, infrastructure, domains and third-party accounts transferred to your ownership.
  • A first assessment and a stabilisation list before new features.
  • Tests added around the paths that would hurt most if they broke.
  • Business rules written down as they are discovered.

faq

Frequently asked questions

What does application modernization mean?

Application modernization means improving an existing application so it is secure, maintainable and able to change again: upgrading or replacing outdated frameworks, restructuring code, moving infrastructure, migrating data, adding APIs, or rebuilding parts of it, usually in stages while the business keeps using it.

Should we rewrite the application or refactor it?

It depends on the assessment. If the business rules are sound and the code can be made testable, refactoring and upgrading in place is lower risk. If the platform is a dead end or the structure prevents change, rebuilding module by module behind a routing layer avoids a risky big-bang rewrite.

Can you work on code another team wrote?

Yes. Most modernization work starts with code written by someone else. We begin with an assessment, add tests around the critical paths before changing them, and document the business rules we find so the knowledge no longer lives in one person.

How long does a web application migration take?

It depends on the size of the application, the quality of the data and how many integrations it has. Because migration happens module by module, the first improvements usually reach production long before the whole application is migrated.

Will there be downtime during migration?

The goal is none for users. Old and new run side by side behind a routing layer, data is synchronised and reconciled, and each cut-over is reversible. Where a short maintenance window is unavoidable, it is planned and rehearsed.

What do web application maintenance services include?

Security patches and dependency upgrades, monitoring and alerting, backups with tested restores, bug fixes, small improvements, hosting management and an agreed response time for incidents, plus a regular report on the application’s health.

How much does a cloud migration cost?

It depends on whether the application is moved as-is, adapted to managed cloud services, or partly rebuilt, and on the volume of data and the number of environments. An assessment produces options with effort for each, so the decision is made on evidence.

project brief

Request an application assessment

Tell us what the application does, what it runs on and what worries you about it. We reply with questions and a proposal for the assessment.

  1. 01

    We read it and reply with the questions that decide scope.

  2. 02

    A working session mapping records, roles, rules and integrations.

  3. 03

    A written proposal with phases, assumptions and what each phase delivers.

What are you building?
Who signs in?

We use your details only to reply to this brief.