Key facts
- Re-hosting fixes where the code runs and removes a host's deadline; it does not change what the software does.
- Rebuilding makes sense when workarounds outnumber features or small changes have stopped being small.
- A half-funded rebuild, abandoned at eighty per cent, is usually the worst outcome.
- Data migration and undocumented business rules are the costs rebuild quotes most often miss.
- Middle routes include piece-by-piece replacement, moving payments to a hosted page, or freezing the old system as a read-only archive.
- Compare keeping and replacing over three years, not one or five.
- dijihost migration is free, and hosting starts at £1 a day + VAT.
Two different fixes for two different problems
The rebuild or re-host question is usually asked the wrong way round. It gets framed as which option is better, when the two fix entirely different problems. Re-hosting changes where the code runs. Rebuilding changes what the code does. Work out which of those is broken and the decision mostly makes itself.
Our bias belongs on the table: we are a hosting company, so re-hosting is the option that pays us. We still tell people to rebuild fairly often, because taking money to keep alive a system that should have been replaced two years ago is a bad way to earn a living.
Moving an old bespoke system to a host that will keep it gives you a stable place to run and takes away somebody else's deadline. What it cannot do is change the software. If the system was awkward on the old server it will be awkward on the new one, and if it cannot produce the report finance keeps asking for, moving it will not teach it how.
When rebuilding is the right answer
- The business has changed shape and the system has not. It was built for one branch and you have four, and every process has a spreadsheet bolted on. When the workarounds outnumber the features, you are running two systems and paying for the worse one.
- Small changes have stopped being small. A change that took a day in 2016 now comes back at a week, because there are no tests, no documentation and no safe way to alter one thing without breaking another.
- What you need next cannot be bolted on. A proper API, a two-way stock feed, an accounts integration. Some old systems take a new limb well; others make assumptions about data so firm that any addition means rewriting the middle.
- The platform is dead rather than old. Old bespoke PHP can be picked up by any competent developer. A product whose vendor has gone, with a proprietary data format, often cannot.
- The data handling cannot be made acceptable. Containment reduces exposure. It does not change what the code does with personal or financial data once it has it.
- Nobody will work on it, and you have genuinely tried.
When re-hosting is the right answer
- The system does its job and the job has not changed. Plenty of internal tools were built once, correctly, for a process that still works the same way. Old is not the same as wrong.
- Few users, all internal and trained. A stock system used by six people who know where everything is costs far more to replace than it looks.
- You cannot fund the rebuild properly. A half-funded rebuild runs out of money at eighty per cent, leaves you running old and new side by side, and both get worse. If the full number is not there, keep what you have and save up.
- The business is in transition. A sale, merger, retirement or move. Spending heavily on software a future owner may bin is rarely wise.
- Nobody has written down what the system does. Re-host, spend three months documenting it, then rebuild from something real.
- A deadline is forcing the decision. A rebuild chosen in the fortnight before a host switches something off is made in a panic. Move it and decide calmly.
What rebuild quotes leave out
Rebuilds that go badly nearly always go badly for the same reasons, and none of them is the coding.
Data migration is the big one. Twelve years of records from a system that never quite enforced its own rules will hold duplicates, half-finished orders and three date formats. Somebody has to decide what happens to all of it, and that somebody works for you, not the developer.
Then the undocumented rules. The old system is the specification, and much of it is invisible: the discount that only applies to trade accounts opened before a certain year, the invoice numbered a particular way for the accountant, the email to a supplier under one condition. These surface one at a time after go-live, always at the worst moment.
After that: keeping old web addresses working so search traffic survives, rebuilding every integration rather than the obvious ones, running both systems in parallel, and training people who have used the old screens for a decade. Budget for those properly and the quote starts to look like the real number.
The options in between
It is rarely as binary as two headings suggest. You can replace a system piece by piece, putting new code in front of the old and moving one function across at a time, so the address stays the same and the risk arrives in small doses. You can lift out only the frightening part, usually by moving payments onto a gateway's hosted page. Or you can freeze the old system as a read-only archive staff can still search, and start the new one clean with new business only, which removes the data migration argument at a stroke.
One warning. Moving an old shop onto the current version of the same product gets described and priced as an upgrade, when the newer version has restructured its code and changed how themes and extensions work. Ask for it to be scoped as a rebuild. Our guide to keeping an old OpenCart shop running explains why.
Putting numbers on it, and what we would say
Take three years, because one year flatters keeping and five flatters replacing. On the keeping side: hosting, the developer time a normal year eats, the workarounds costed at what those hours are worth, and a fair estimate of one bad week. On the replacing side: the build, data migration, parallel running, training, the productivity dip, and hosting for the new thing.
Then ask what the numbers miss. If the rebuild were finished tomorrow, what could the business do that it cannot today? A decent list makes the rebuild an investment. "The same things, on newer code" makes it insurance, which can still be the right purchase if it is argued as insurance.
On the phone we usually say one of three things. The system is fine and wants a proper home, in which case our legacy PHP hosting is the answer, and how an old site should be set up lets you hold us to it. It needs replacing, in which case we host it while that happens and our sister agency dijitul can quote for the rebuild. Or move it first and decide later, which is the answer more often than either. Call 01623 650333. Hosting starts at £1 a day + VAT, a bespoke system is quoted once we have looked at it, and moving it here is free.
Frequently asked questions
Should I rebuild my old PHP system or move it to a new host?
Ask which problem you have. Re-hosting fixes where the code runs and buys you time. Rebuilding fixes what the code does. If the system still does its job properly and simply has nowhere to live, move it. If the business has outgrown it and every change now needs a workaround, moving it only postpones the real decision.
How much does it cost to rebuild an old bespoke system?
Nobody can give a figure without seeing it, and be wary of anyone who tries. The costs that usually get missed are cleaning and migrating years of messy data, the business rules that only exist inside the old code, keeping web addresses alive, rebuilding integrations, running both systems in parallel and retraining staff.
Is it ever sensible to keep running an old bespoke system?
Often. Internal tools built once for a process that has not changed are reasonable to keep, particularly with a small trained group of users. The condition is that the system runs somewhere it is properly contained and backed up, and that the decision is revisited on a date you choose rather than one a host chooses for you.
Can I replace an old system gradually instead of all at once?
Yes, and it is usually the calmer route. New code goes in front of the old system and takes over one function at a time, so the address stays the same and the risk arrives in small pieces. Lifting out only the payment side, or freezing the old system as a read-only archive, are variations on the same idea.
Does dijihost charge to move an old bespoke system?
No. Migration is free with dijihost hosting, which starts at £1 a day + VAT. Bespoke systems with unusual needs are quoted once we have looked at the code and the server it runs on. Moving more than five email accounts may be charged, and we will tell you before anything starts.
Related
Tell us what you need to run
We spec it, build it, host it and look after it. Clear quote, no jargon.