Building a business case for a cloud migration has real benefits. The most visible one is ROI: put provider A’s prices next to provider B’s and the saving looks obvious. In my experience, the number you first write down rarely survives in real life.
Before trusting any such numbers, a few questions deserve an honest answer. How well does the target cloud scale? Will it let you take on customers you can’t serve today? How dependent do you want to be on the companies behind the public cloud, or would you rather run in a sovereign private cloud? And what hidden costs will surface after go-live? None of these show up in a price comparison, yet they often decide whether a migration pays off.
Four migrations, four starting points
Since 2021, I have coordinated four large cloud migrations, and none looked like the others. One ran on Puppet-managed VMs with no control over the hypervisor. Another had every component on a single server, unpatched for three years yet perfectly stable. A third started with choosing a container orchestrator (Nomad or Kubernetes).
The single server migration taught me the most: stable is not the same as safe, and that risk never appeared in anyone’s cost model. What they all shared was the approach. The five-phase framework Yonder recommends for these projects gave us the right foundation every time. The most recent case shows what that means in numbers.
From vendor-managed to self-run
The client is a Western European software provider in the government space, with one dedicated environment per customer. Its hosting was fully managed by a private cloud vendor, which had the following bottlenecks:
- costs grew with every customer,
- a single year brought a major outage,
- and onboarding a new customer took about three weeks.
Together with the client’s Operations team, we moved the application to a new, automated private cloud. Since go-live in January 2025, infrastructure costs are down by about 50%, a new customer environment takes 45 minutes instead of three weeks, and no incidents have been recorded. Much of the saving came from consolidating shared services, which halved the server footprint, not from a cheaper price list.
The more interesting gains are the ones no spreadsheet would have shown. Each new customer now goes live about three weeks earlier, so its revenue starts sooner, and that isn’t counted in the 50%. Onboarding is no longer a bottleneck for growth, and the client runs on infrastructure it controls. The honest trade-off: self-hosting moves some operational responsibility to the team, so automation and ongoing maintenance were planned from day one.
How we got there
Each phase builds on the previous one, and nothing reaches production without a joint Go/No-Go decision.
- We, the Yonder team, mapped how the application works, what it depends on, and every service the vendor provided. Running these sessions on-site, face-to-face, made them noticeably more productive.
- We designed the target setup around the application’s needs, including sharing common infrastructure across customers.
- Before touching production, we validated every core component in test environments, including a purpose-built database backup to replace the original vendor’s database.
- After the Go decision, we promoted the changes and prepared go-live with the client’s Operations team.
- We still run, secure, and improve the platform. AI-assisted cloud development helped merge the setup scripts into a single reusable template, so a new environment can now be created from a single request.
Beyond the framework, the factor that shapes the outcome most is the team. Each phase needs the right roles: people who know the business in discovery, architects in envisioning, Cloud engineers in inception and performing, and an operations mindset for the long run.
Who is this for?
There’s no strict size threshold. As a rule of thumb, once you have a few dozen virtual machines or around a dozen customer environments, consolidation and automation start paying for themselves. A few questions help you check:
- Do you run one environment per customer? Then savings and faster onboarding grow with every customer you add.
- Are your hosting fees growing faster than your customer base? An outgrown managed service usually means rising fees, less control, and incidents your customers notice first.
- Does data sovereignty matter to your customers? Public sector, healthcare, finance, education and utilities often prefer a private cloud they control.
- Is a rewrite of your application years away? Re-platforming changes where and how it runs, not its code.
Living the dream
A migration is worth dreaming about, as long as the dream rests on the right questions, a structured path and the right people. The price list is where a business case starts, not where it ends. If you’re preparing one of your own, I’m happy to compare notes.’
Article by Marius Chirila, Cloud Delivery Manager, and
Leading the technical realization, Cosmin Stan, DevOps Engineer

STAY TUNED
Subscribe to our newsletter today and get regular updates on customer cases, blog posts, best practices and events.