- DevOps
- Cloud
DevOps: how to migrate on-premise environments to the cloud
8 min read
Panera is a digital services company specialising in software development and DevOps, with competence centres in Sweden and Madagascar. Here are our lessons learned from infrastructure migrations.
A successful migration starts with an honest inventory: applications, dependencies, data volumes, network flows and acceptable downtime windows. That inventory determines the path of each component — not the other way round.
For each application, four paths are possible. Rehost (lift and shift) moves the machine as it is: fast and low-risk, but it carries the technical debt along. Replatform replaces a component with a managed service — a database, for example — and immediately reduces the operating workload. Refactor splits the application to take advantage of elasticity. Retire removes what is no longer used — often the biggest saving of the project.
Infrastructure as code is the technical prerequisite. Describing networks, machines and permissions in a versioned repository makes the environment reproducible, reviewed like code and rebuildable after an incident. The continuous integration and deployment pipeline then takes over to ship without manual intervention.
The cutover itself is prepared like a dress rehearsal: data replication ahead of time, load testing on the target environment, a written and tested rollback plan, and active monitoring on both sides during the transition period. The migration is only complete once the old environment has been shut down and the real costs have been measured.