The case
The stock system lives in a computer in the storeroom. Moving it out without stopping sales is the challenge.
Isaac's store runs its stock system on an old computer in the storeroom. The backup is an external hard drive swapped every Friday. When the computer fails, the store stops. The team wants to move the system to the cloud, but cannot close the sales for a weekend to do it.
This post builds on Google Cloud: the starting point, which introduces the cloud's services. For what stays on the customer's side after the move, see Security and Shared Responsibility. And for the databases that move along, see Cloud Databases.
The problem
Moving location does not solve the problem by itself
Moving a system to the cloud without deciding what changes in it is like moving house without throwing anything out. The problem comes along, and the bill can grow.
Strategies
How much to change before changing location
Each system needs a different answer. The three most common strategies go from changing the least to changing the most.
Rehost (lift and shift)
Moves the application almost unchanged, to virtual machines in the cloud. It is the fastest path, and it does not take advantage of managed services.
Replatform (change the base)
Keeps the code, but swaps parts of the infrastructure for managed services, such as a managed database in place of the database installed on the machine.
Refactor (rewrite for the cloud)
Changes the architecture to use cloud-native services. It brings more gains, but takes longer and requires tests.
Not every system needs to move. Two other paths are also valid: retiring what nobody uses anymore (retire) and keeping in place what cannot change for now (retain). The names of these strategies vary by source, so check the certification's list.
Tools
One service for each kind of change
Google Cloud has specific tools for each part of a migration. They help you plan, copy the data and keep the system running during the switch.
| Tool | What it moves | When to use it |
|---|---|---|
| Migration Center | Inventory and planning | Before anything, to know what exists and what it costs |
| Migrate to Virtual Machines | Virtual machines | To move servers as they are, with little change |
| Database Migration Service | PostgreSQL, MySQL and SQL Server databases | To swap the database for a managed one with little downtime |
| Storage Transfer Service | Files and objects | To copy data from other places into Cloud Storage |
| Transfer Appliance | Large volumes of data | When the network would take too long, on a physical device sent to Google |
At the store, the storeroom inventory would go through the Migration Center, and the system's database would move with the Database Migration Service. That way, the switch happens with little downtime, and the Friday external drive stops being the backup.
Transformation
Migrating is the start, not the end
Digital transformation is the change in how people work: how the team delivers software, how it decides, how it handles failures. Migration changes where the system runs. Transformation changes how the team works with it.
In practice
Choosing the path
First ask whether the system is still needed. Then ask whether it can change. Only then choose the tool.
Nobody uses it anymore
Retire it. Migrating a dead system means spending money on it.
It cannot change now
Keep it in place for now, with a plan for later. This is not a failure: it is a decision.
It needs to grow
Refactor, if the gain from scale is worth the rewriting time.
Key terms
Five terms to remember
Tap a card to see the definition.
Quick test
Three questions, exam style
01
The store wants to move the stock system to the cloud with the smallest possible change to the code. Which strategy should it use?
02
The team needs to copy tens of terabytes of product photos, and the network would take weeks. Which tool solves this?
03
The store migrated the system, but publications are still made by hand and with no monitoring. Which problem does this show?
In any cloud exam, the migration question is usually the same: what to do with each system, and what to change beyond the server. On Google Cloud, the answer goes through the chosen strategy, the right tool and the way the team works after the change.