Cloud Migration

Homeware Retailer: Server Room to Azure

An ERP, a web store, reporting and file shares moved from an ageing server room to Azure over one quiet weekend, with no downtime and a 31% lower monthly bill.

View live demo Opens a working demo with sample content in a new tab.
Marlow Homeware demo on desktop and phone

On location

  • Floral ceramic plate. Original Minneapolis — Marlow Homeware
    Floral ceramic plate. Original MinneapolisCC0 photo
  • Heart Art — Marlow Homeware
    Heart ArtPhoto: Jessica Ruscello (CC0)
  • Cup Saucer — Marlow Homeware
    Cup SaucerPhoto: vedanti (CC0)
  • Kitchenware ceramics — Marlow Homeware
    Kitchenware ceramicsCC0 photo
  • Restaurant Kitchen — Marlow Homeware
    Restaurant KitchenPhoto: Michael Browning (CC0)

About the Project

This case study follows an Azure cloud migration for a multi-store homeware retailer whose ERP, web store, reporting and file shares all lived in an ageing server room. The hardware was due for replacement, the room’s lease was ending, and every system the business depended on sat in one place with backups that relied on someone remembering to check them.

We moved all fourteen workloads to Azure over one quiet weekend. The ERP database went from an on-premises SQL Server to Azure SQL, the web store from IIS to Azure App Service, reporting to an Azure virtual machine and the file shares to Azure Files. Customers noticed nothing: there was no customer-facing downtime, and the new platform costs 31% less each month than the forecast for replacing the hardware.

About the Client

The client is a homeware retailer with several shops and an online store. Its ERP runs stock, purchasing and finance for every branch, the web store takes orders around the clock, and head office relies on a reporting server and shared drives for day-to-day work. A failure in any of them is felt immediately, in the shops and online.

The in-house team is small and practical. They wanted a platform they could look after without heroics, a bill they could predict, and a move that would not cost them a single trading day.

Project Goals

  • Move every workload out of the server room before the lease ended.
  • Keep the web store and the shops trading throughout, with no customer-facing downtime.
  • Put automated backups and geo-redundancy in place for the first time.
  • Land on a monthly cost below the price of replacing the hardware.
  • Leave the team with infrastructure that is documented and repeatable.

Project Overview

The Challenge and Our Solution

The Challenge

The retailer’s systems lived in a server room above one of its shops: an ERP on SQL Server, the web store on IIS, a reporting server and a NAS full of product images and documents. The hardware was past warranty, a power cut had already cost a day of trading, and the lease on the building was ending. The finance director wanted a cloud bill they could predict.

Our Solution

We inventoried fourteen workloads and their dependencies, then designed the Azure target: Azure SQL for the ERP database, App Service for the web store, a right-sized VM for the reporting tool that could not be re-platformed, and Azure Files for the shares. Data was replicated continuously for two weeks while we rehearsed the cutover twice on copies. The real switch happened on a Saturday night with DNS on a five-minute TTL and a written rollback that was never needed.

Mapping Every Dependency Before Moving Anything

Most migration surprises come from things nobody wrote down: a scheduled job that copies a file at 2am, a report that connects to a server by name, a supplier feed hard-coded to an IP address. Before a single workload moved, we mapped every integration, scheduled task and hard-coded server name across the estate, so problems were found on paper rather than on cutover night.

That map became the wave plan. Low-risk foundations and file shares went first, then reporting, then the ERP database and finally the web store, so each wave proved the next one was safe.

  • Integrations, scheduled jobs and server names inventoried
  • Workloads grouped into waves by risk and dependency
  • A landing zone built in Terraform so environments are repeatable

SQL Server to Azure SQL With a Minutes-Long Final Sync

The ERP database was the heart of the move. Using Azure Database Migration Service, we replicated the on-premises SQL Server to Azure SQL continuously in the weeks before the switch. By cutover weekend the copy in Azure was already current, so the final synchronisation took minutes rather than the hours a backup-and-restore would have needed.

Moving to a managed database also removed a list of chores from the team: patching, backups and high availability are now handled by the platform rather than by whoever is on call.

A Rehearsed, Zero-Downtime Cutover

We ran two full dry runs on real data before the live switch, timing every step and writing down what to do if any of them failed. On the night, the runbook was followed line by line on a Saturday evening: freeze, final sync, repoint the web store, switch DNS through Cloudflare, smoke-test and reopen. A rollback path was ready at every step and never needed.

Because the web store and the shops kept trading, the migration was invisible to customers. On Monday morning, staff simply carried on working.

Azure Cost Optimisation That Holds After Go-Live

A cloud bill can drift quickly if nobody owns it. We set up reserved capacity for the steady workloads, chose storage tiers to match how often files are actually opened, and configured budget alerts so the team hears about unexpected spend before the invoice arrives. The result is a monthly infrastructure cost 31% lower than the forecast for replacing the hardware.

With automated backups and geo-redundancy in place for the first time, the retailer is also better protected than it ever was in its own server room, which was emptied before the lease ran out.

Our Process

How We Delivered It

  1. Discovery and Dependency Mapping

    Every workload, integration, scheduled job and hard-coded server name inventoried before planning began.

  2. Landing Zone in Terraform

    Networking, identity, monitoring and backups defined as code, so the Azure environment is documented and repeatable.

  3. Wave-by-Wave Migration

    File shares and reporting first, then continuous replication of the ERP database to Azure SQL.

  4. Two Full Dry Runs

    The cutover rehearsed twice on real data, with timings and rollback steps recorded in a runbook.

  5. Weekend Cutover and Handover

    A Saturday-night switch with no customer-facing downtime, followed by cost governance and a documented handover.

Key Features

What We Delivered

  • Dependency mapping

    Every integration, scheduled job and hard-coded server name found before the move, not after.

  • Managed database

    SQL Server moved to Azure SQL with continuous replication and a minutes-long final sync.

  • Rehearsed cutover

    Two full dry runs on real data, then a Saturday-night switch with rollback ready.

  • Cost governance

    Reserved capacity, storage tiers and budget alerts set up so the bill stays where it was forecast.

Outcome

Results and Impact

  • All fourteen workloads live on Azure with zero customer-facing downtime.
  • Monthly infrastructure cost 31% lower than the forecast for replacing the hardware.
  • Automated backups and geo-redundancy in place for the first time.
  • The server room was emptied before the lease ended.

Services

Services Behind This Project

The Cloud Migration (AWS, Azure & Google Cloud), Hosting, Server & DNS Management expertise we used to build this cloud migration — and can bring to yours.

  • Cloud Migration (AWS, Azure & Google Cloud)

    Move websites, applications and databases from shared hosting, a VPS or another cloud to AWS, Azure or Google Cloud — with a rehearsed cutover and a bill you understand.

  • Hosting, Server & DNS Management

    Nginx, Apache, Docker and cloud servers configured, secured and kept running — plus DNS, SSL and Cloudflare set up correctly the first time.

FAQ

Frequently Asked Questions

How long does a migration like this take?

It depends on how many systems are involved and how well they are documented. Discovery and dependency mapping usually take the longest, because they decide how safe the rest of the project is. The cutover itself can often be a single weekend once the data has been replicating in the background and the runbook has been rehearsed.

Can a retailer move to Azure without closing the web store?

Yes. Continuous database replication keeps the cloud copy current, so the final synchronisation takes minutes. Combined with a rehearsed DNS switch and a holding page for the brief freeze, customers can keep shopping and the shops can keep trading while the systems move underneath them.

Should every server become a virtual machine in the cloud?

Not necessarily. Lifting servers unchanged is quick, but managed services such as Azure SQL and App Service remove patching and backup work. We choose per workload: here the ERP database and web store moved to managed services, while reporting stayed on a virtual machine because that was the sensible fit.

How do you stop the Azure bill growing after go-live?

By deciding who owns cost from day one. Reserved capacity for steady workloads, storage tiers that match real usage and budget alerts make spending predictable. We also review the first months of billing with the team, so the forecast and the invoice stay close together.

What happens if something goes wrong during cutover?

Every step in the runbook has a tested rollback. Because the on-premises systems stay intact until the new platform is proven, switching back means pointing traffic at the old environment again. Rehearsing the cutover twice on real data is what makes that decision quick and calm if it is ever needed.

Do you only work with Azure?

No. We work with Azure, AWS and Google Cloud and recommend the platform that fits your systems, skills and licensing. For this retailer, Azure made sense because the ERP ran on SQL Server and the team already used Microsoft tools, which simplified both the migration and the day-to-day running costs.

Similar Work

Related Projects

Case studies built with the same technologies or for similar needs.

  • Student School — Learnwell
    • Docker
    • GitHub Actions
    • Nginx

    Cloud & DevOps

    Learning Platform Cloud Migration

    A containerised rebuild of a fragile single-server deployment: 4-minute releases and 58% lower hosting cost.

  • Stretching Exercises — Bridgeway Physio
    • .NET 9
    • C#
    • ASP.NET Core

    Enterprise Web Application

    Clinic Group Scheduling System

    An ASP.NET Core scheduling system across nine clinics, with Entra ID sign-in and automated patient reminders.

  • Health Care — ShiftPlan
    • Docker
    • Kubernetes (GKE)
    • Helm

    Cloud & DevOps

    Kubernetes Deployment Platform for a Rostering SaaS

    Twelve services moved from hand-managed virtual machines to Kubernetes with CI/CD, autoscaling and zero-downtime releases — forty deployments a week instead of one.

  • Chair Dentist — Bright Dental Group
    • WordPress
    • Custom theme
    • Wix & Squarespace export

    Website Migration

    Dental Group Website Migration

    Nine practice sites on Wix and Squarespace consolidated into one WordPress site — organic clicks up 74%.

  • Red Tractor — Field & Furrow Supplies
    • WordPress
    • WooCommerce
    • PHP

    WooCommerce eCommerce

    Tractor Cleaning & Equipment Care – WooCommerce Store

    A WooCommerce online store for tractor cleaning, equipment maintenance, paint correction, oxidation removal and foam cleaning products.

  • Dark Chocolate — Cocoa & Co. Gifts
    • Shopify
    • Liquid
    • Online Store 2.0

    Shopify eCommerce

    Chocolate Gift Baskets – Shopify Store for Every Occasion

    A Shopify store for chocolate gift baskets, organised by occasion — birthdays, weddings, anniversaries, holidays and corporate gifting.

Let’s Connect

Want Results Like These?

Share your project details and our experts will get back to you within one business day with the best solution — free consultation, no obligation.