Cloud strategy & migration

One strategy per workload, not per estate

Moving an application is easy. Deciding which ones deserve to move, which ones must be rewritten first and which ones should simply be retired is the part that determines whether the bill goes down or up.

A migration is an arbitration, not a removal job.

Six migrations out of ten return less than expected, and the first reason is always the same: a monolith moved unchanged keeps its defects and pays for reserved capacity it used to get for free on already-amortised hardware.

We start from the inventory rather than from the target. Each workload gets its own strategy, retirement included, and each wave is followed for fourteen days after cutover. A migration that is not measured afterwards is a migration whose result nobody knows.

What we do

Four workstreams so what moves is decided by value rather than by ease.

WORKSTREAM 01Before anything moves

Inventory and strategy per workload

Each workload is assigned its own path: rehost, replatform, refactor or retire, with the reason written next to it. Retiring is a strategy, and it is often the cheapest one.

the arbitration is negotiated on the file, not discovered during the window

  • Stateful or stateless, and its dependencies
  • A strategy per workload, with its reason
  • What no longer has a use does not move
WORKSTREAM 02The ground first

Landing zone

Network, availability zones, encryption, logging and mandatory tags are laid down before the first workload arrives. What is not written there becomes an exception someone has to defend.

residency and guardrails set at creation, not audited afterwards

  • Guardrails refused at creation, not flagged later
  • Mandatory tags: team, environment, workload
  • Logging separated from the accounts it watches
WORKSTREAM 03Rehearsed twice

Waves and cutover

A wave is prepared like an operation: change freeze, rehearsal in pre-production including one rehearsal of the fallback, then a progressive DNS switch with checks at every tier.

the fallback plan is written before the window, never during

  • Change freeze and rehearsed rollback
  • Progressive switch: 10%, 50%, 100%
  • The old environment kept warm
WORKSTREAM 04Fourteen days

Post-cutover measurement

Latency, errors and cost are compared for fourteen days against the previous situation, workload by workload. The old environment is only switched off after that period.

a workload that costs more after the move goes back to arbitration

  • Latency and errors against the baseline
  • Cost attached to the workload, not the account
  • Switch-off only after the comparison

What you get

One project runs through the four deliverables below: the migration of a group's application base to managed Kubernetes, sixty-four workloads over nine months. Each line states what is actually handed over, in the order it is handed over.

01

The inventory, and one strategy per workload

The file that gets negotiated before anything moves: state, dependencies, chosen strategy and the reason for it. On this estate nine workloads leave the migration entirely, because they no longer have a use.

02

The landing zone, described as code

Regions, availability zones, private network, mandatory encryption, forbidden public storage and mandatory tags. A region outside the EU is refused at creation rather than reported in an audit three months later.

03

The wave and its fallback plan

Change freeze forty-eight hours ahead, cutover rehearsed twice in pre-production including once with the fallback, a progressive DNS switch, and a rollback trigger written as a threshold rather than as a judgement call.

04

The fourteen days that follow

Errors, latency and cost compared with the previous situation. This is where a workload moved unchanged shows what it really costs, while the old environment is still warm and the decision can still be reversed.

How we deliver

PHASE 012 to 6 weeks

Inventory

depending on the number of workloads, dependencies and residency constraints

  • Inventory and dependencies per workload
  • One strategy per workload, retirement included
  • Costed trajectory with hidden costs modelled
PHASE 024 to 10 weeks

First wave

depending on the landing zone to lay down and the workloads selected

  • Landing zone described as code
  • Cutover rehearsed, fallback proven
  • Fourteen days of comparison before switch-off
PHASE 033 to 6 months

Following waves

depending on the workloads left and how coupled they are

  • Following waves on the same template
  • Workloads rewritten where moving is not enough
  • Team upskilling
PHASE 04continuous

Operate

service commitment defined with you

  • Cost attached to the workload and tracked
  • Guardrails enforced at creation
  • Reversibility proven, not declared

What migrations actually return

60%
of migrations return less than the expected ROI, chiefly through lifting a monolith unchanged and never modelling the hidden costs
38%
of migrations exceed their budget, by an average of 23% above the planned figure
31%
miss their planned timeline, with the complexity of legacy applications as the leading cause

Migrations carried through

A digital factory rebuilt cloud-native on Azure
UP CoopSocial economy & retail
Kubernetes & IaC
Case(01)

A digital factory rebuilt cloud-native on Azure

100% Terraform IaC · −24% cloud bill

The challenge

A group of 7,000 people whose applications were deployed by hand, with environments that drifted from one another and a cloud bill nobody could attach to a team.

Our answer

A cloud-native factory on managed Kubernetes, with the whole infrastructure described in Terraform and spread across three availability zones. Deployment time divided by six, and a bill that went down rather than up.

Read the case study
A deployment chain that replays itself, on Azure
CatalinaRetail & distribution
Cloud & CI/CD
Case(02)

A deployment chain that replays itself, on Azure

230 industrialised pipelines · 0 critical vulnerability

The challenge

Deployments and data flows handled without a shared chain: every change replayed by hand, and nothing guaranteeing that two environments behaved the same way.

Our answer

A DevOps and DataOps chain built on Azure: environments described as code, pipelines industrialised, security checks wired into the chain rather than run at the end.

Read the case study
TALK TO AN EXPERT

Decide what moves before moving it

An inventory, one strategy per workload, a landing zone described as code, and a first wave measured for fourteen days.

By submitting this form, you agree to our privacy policy.

Frequently asked questions

Because a monolith moved unchanged keeps every one of its defects and now pays for reserved capacity. Six out of ten return less than the expected ROI, mainly for that reason and because hidden costs, egress, licences, support, were never modelled.

The ones that gain something from moving: variable traffic, an isolated dependency chain, a technology already supported by the target. A workload with heavy state and a monolithic core gains little and pays the most, so it goes into a later wave or gets rewritten first.

It sets the ground before the first workload arrives: network, zones, encryption, logging and mandatory tags. Its value is that it refuses at creation rather than reporting afterwards, which is the difference between a guardrail and an audit finding.

By rehearsing the rollback before the window, not by writing it down. The switch is progressive, the old environment is kept warm, and the rollback trigger is a threshold, an error rate or a latency, rather than a judgement made at three in the morning.

After fourteen days of comparison, not on cutover day. Those two weeks are what reveal a workload that costs more than before, and they are only useful while the previous environment is still available to fall back on.

No, and forcing it usually costs more than it saves. The placement of a workload follows its constraints, residency, latency, existing licences, rather than a preference for a single provider. What must stay uniform is the deployment chain, not the destination.

Framing takes 2 to 6 weeks depending on the number of workloads, dependencies and residency constraints, and produces the inventory, one strategy per workload and a costed trajectory. The first wave lands in 4 to 10 weeks, landing zone included, and it is what tells you whether the rest of the plan holds.