GCP-190 · Lesson 6 of 12 · 24 min
Review: Infrastructure and application modernization
▶ Video coming soon A video version of this lesson is on the way.
For the third review, Farah brings in Birchline's own migration plan, a long spreadsheet listing every application in the old data centre with a column headed "approach". Some rows say rehost, some say replatform, some say refactor and a few say replace or retire. "This spreadsheet is section 4 of the exam," she tells Owen and Jules. "If you can explain why each row has the approach it has, you can answer most of the questions in this section." This lesson reviews section 4, modernizing infrastructure and applications with Google Cloud, which in the guide we read had three objectives: describe how Google Cloud helps organizations move to the cloud, describe the business value of Google Cloud's infrastructure offerings, and describe the business value of application programming interfaces.
Owen is most comfortable here, because he has spent years running the servers that are about to move. His risk is detail: the exam does not ask how to size a machine or configure a network. It asks which approach and which kind of compute fits a business need. Jules's risk is the opposite: the names of compute services sound alike, and the differences between virtual machines, containers and serverless need to be clear before exam day.
Migration approaches
Organizations rarely move everything the same way. A common set of approaches gives each application a sensible path. Rehosting, often called lift and shift, moves an application as it is onto cloud virtual machines; it is fast and low-risk but brings little modernization. Replatforming, sometimes called lift and optimize, makes small changes to take advantage of managed services, such as moving a self-managed database to Cloud SQL. Refactoring changes the application's architecture, for example breaking it into microservices that run in containers, to gain agility and scale; it takes longer and costs more up front. Replacing means switching to a SaaS product instead of running your own software. Retiring means switching off what is no longer needed. Some organizations also retain certain systems on premises for a time.
| Approach | What changes | Typical reason | Birchline example |
|---|---|---|---|
| Rehost (lift and shift) | Nothing in the application | Speed; data centre exit deadline | Staff scheduling app moved to Compute Engine |
| Replatform (lift and optimize) | Small changes to use managed services | Less maintenance with limited change | Shop database moved from self-managed MySQL to Cloud SQL |
| Refactor | Architecture redesigned | Agility, scale, faster releases | Order API rebuilt as containers on Cloud Run |
| Replace | Switch to SaaS | A product does the job better | Old email server replaced by a SaaS suite |
| Retire | Switched off | No longer used | A disused reporting tool |
The exam often asks which approach fits a stated priority. If the priority is to leave a data centre by a fixed date with minimal risk, rehosting is usually the first step, with modernization later. If the priority is releasing new features faster, refactoring is the long-term answer. If an off-the-shelf product meets the need, replacing removes the burden of running software at all. Google Cloud offers tools and programs to help, such as Migration Center for discovering and assessing what you run today and planning the move, and Migrate to Virtual Machines for moving virtual machines. For organizations heavily invested in VMware, Google Cloud VMware Engine runs VMware environments in Google Cloud so that they can move without converting their virtual machines. Bare Metal Solution provides dedicated hardware for specialized workloads such as some large databases.
Compute choices
Google Cloud offers several ways to run code, and the main exam skill is matching them to needs. Compute Engine provides virtual machines: maximum control and compatibility, but you manage the operating system and software. Google Kubernetes Engine, or GKE, runs containers on managed Kubernetes clusters, suited to organizations running many containerized services that need orchestration. Cloud Run runs containers without managing servers or clusters, scaling automatically, including down to zero when there are no requests. Cloud Run functions, formerly called Cloud Functions, run small pieces of code in response to events. App Engine is a platform for web applications where you deploy code and Google manages the environment.
Containers are central to modernization. A container packages an application with everything it needs to run, so it behaves the same on a laptop, a test system and production. Containers start quickly and use resources efficiently, which makes them a good fit for microservices: small services that each do one job and can be updated independently. Kubernetes is open-source software that schedules and manages containers across many machines, and GKE is Google's managed version. For organizations that want the benefits of containers without managing clusters, Cloud Run is often the better fit. Google also offers ways to run and manage containers across on-premises and multicloud environments, which suits organizations that must keep some workloads outside Google Cloud for a time.
| Business need | Usually fits | Why |
|---|---|---|
| Move a legacy app unchanged | Compute Engine | Full compatibility with existing software |
| Many microservices needing orchestration | GKE | Managed Kubernetes for large container estates |
| A containerized API with spiky traffic and a small team | Cloud Run | Serverless, scales automatically, no clusters |
| Run code when a file is uploaded | Cloud Run functions | Event-driven, pay per use |
| A web app where the team only wants to deploy code | App Engine or Cloud Run | Managed platform |
| VMware estate to move quickly | Google Cloud VMware Engine | Run VMware workloads without conversion |
Serverless and the value of managed services
Serverless does not mean there are no servers; it means you do not manage them. You deploy code or containers, the platform scales them with demand, and you usually pay only for what you use. For Birchline's order API, which is quiet at night and very busy on sale days, Cloud Run means the team does not plan capacity for the busiest hour of the year. The business value is lower operational effort, faster delivery and costs that follow demand. The trade-off is less control over the environment and, for some workloads, different cost patterns at constant high load.
Infrastructure questions also cover the value of Google's global network, regions and zones for performance and resilience, and of storage and networking services for modern applications. You learned these in GCP-101. For section 4, connect each to a benefit: global load balancing serves users from the nearest healthy location, multiple zones keep an application running when one fails, and managed services reduce the work of patching and upgrades.
The business value of APIs
An application programming interface, or API, is a defined way for software to talk to other software. APIs let organizations expose data and services to partners, mobile apps and other teams in a controlled, reusable way, and they let modern applications be built from smaller parts. Birchline's new order API lets the website, the mobile app and the stores' tablets all use the same order logic, and it will let a delivery partner check order status without access to Birchline's database. The business value is reuse, faster development, new partner channels and, sometimes, new revenue from offering services to others.
Managing APIs well needs security, monitoring and control over who uses them and how much. Apigee is Google Cloud's API management platform: it lets organizations publish, secure, monitor and analyse their APIs, and set limits and plans for consumers. Questions may describe a company that wants to offer its data to partners securely and measure usage, which points toward API management with Apigee.
Practice scenarios
Planning a migration
Google Cloud and other providers describe migration in phases. Assessment comes first: discover what you run today, how the applications depend on each other, what they cost and how they perform. Planning follows: decide the approach for each application, design the landing zone in the cloud, which means the projects, networks, identity and security controls that workloads will land in, and set the order of moves. Then come the moves themselves, usually in waves, starting with simpler, lower-risk applications to build skills and confidence. Finally comes optimization, in which teams tune costs and performance and modernize further. Birchline's plan follows this pattern: the staff scheduling app and the file shares move first, the online shop and data warehouse follow, and the store systems come last.
Questions may ask which phase an activity belongs to, or what should happen before a large migration starts. Discovering dependencies is a classic answer, because moving an application without the database it depends on causes outages. Building cloud skills in the team and agreeing on security and identity foundations before the first workload moves are also common answers. Farah describes the landing zone as the foundations of a house: invisible once the walls go up, but impossible to fix cheaply afterwards.
More practice scenarios
Three more original scenarios. First: a bank runs a large estate of VMware virtual machines and wants to leave its data centre quickly while keeping its existing operational tools. Which option fits? Google Cloud VMware Engine. Second: a media company wants to process each uploaded video automatically, for example creating a thumbnail, and pay only when uploads happen. Which option fits? Cloud Run functions triggered by the upload event. Third: an insurer wants to rebuild its quoting system so that teams can release changes independently several times a week. Which approach fits? Refactoring into microservices in containers, run on GKE or Cloud Run depending on the team's size and skills.
In the third scenario, both GKE and Cloud Run could be right, and the scenario would need a further clue to decide. If it mentioned a platform team with Kubernetes skills and many services, GKE would be the better fit. If it mentioned a small team that does not want to manage infrastructure, Cloud Run would be. This is a good example of why constraints, not the general need, decide between plausible options.
A final point on business value: modernization is a means, not an end. A refactored application that releases changes daily is only valuable if the business can use those changes, for example by testing new features with customers and acting on the results. When a question asks for the business value of an infrastructure or application decision, the strongest answers mention outcomes such as faster time to market, lower operational effort, better reliability for customers or costs that follow demand. Answers that only restate technical features, such as using containers or Kubernetes, are usually weaker unless the question asks specifically about the technology. Farah asks Owen to rewrite each row of Birchline's migration spreadsheet with a business benefit alongside the technical approach, and he finds that a few rows have no clear benefit at all. Those rows become candidates for retiring rather than moving.
Worked problem
Choosing an approach under a deadline
A logistics company must leave its data centre in four months because its lease ends. It has 200 virtual machines, a small IT team and plans to modernize later. Which approach should it use first, and which Google Cloud capability supports it?
Show solution
- The deciding constraint is time, with a small team.
- Refactoring 200 applications in four months is unrealistic.
- Rehosting onto Compute Engine, using Google Cloud's migration tools to assess and move the virtual machines, meets the deadline.
- Modernization can follow once the data centre is closed.
Answer: Rehost first, using Google Cloud's migration tools, then modernize later.
Worked problem
Serverless or Kubernetes?
A start-up runs three containerized services, has two developers and no operations staff, and sees traffic jump during evening promotions. Which compute option fits best?
Show solution
- Constraints: tiny team, no operations staff, spiky traffic.
- GKE would work but needs cluster management.
- Cloud Run runs containers without clusters and scales automatically with traffic.
Answer: Cloud Run.
Owen goes through Birchline's migration spreadsheet one more time and writes, beside every row, the one-line business reason for its approach. Jules makes a one-page chart of the compute spectrum and pins it above the desk at home.
Common mistakes
MistakeChoosing refactoring when the priority is a fast exit.
InsteadRehost first to meet a deadline, then modernize.
MistakeAssuming serverless means no servers exist.
InsteadServerless means the provider manages the servers.
MistakePicking GKE for every container workload.
InsteadCloud Run often fits small teams without the need for cluster management.
MistakeTreating APIs as a purely technical detail.
InsteadAPIs create business value through reuse, partners and new channels.
MistakeConfusing Cloud Run functions with Compute Engine.
InsteadFunctions run small pieces of code on events; Compute Engine provides virtual machines.
Summary and key terms
- Migration approaches include rehost, replatform, refactor, replace and retire.
- Rehosting is fast and low-risk; refactoring brings agility but costs more up front.
- Compute ranges from Compute Engine virtual machines through GKE to Cloud Run, App Engine and Cloud Run functions.
- Containers and microservices support faster, independent releases.
- Serverless reduces operational work and lets costs follow demand.
- APIs, managed with Apigee, create value through reuse and partner access.
- Rehost
- Moving an application unchanged onto cloud infrastructure.
- Refactor
- Redesigning an application's architecture to use cloud-native patterns.
- Container
- A package containing an application and everything it needs to run.
- GKE
- Google Kubernetes Engine, Google's managed Kubernetes service.
- Cloud Run
- A serverless platform for running containers.
- Apigee
- Google Cloud's API management platform.
Practice problems
Work each problem on paper first, then reveal the answer to check.
What is lift and shift?
Show answer
Rehosting an application unchanged on cloud virtual machines.
Which option runs containers without managing clusters?
Show answer
Cloud Run.
When is rehosting a good first step?
Show answer
When there is a deadline, such as a data centre exit, and modernization can follow.
What does Apigee do?
Show answer
Publishes, secures, monitors and analyses APIs.
What is a microservice?
Show answer
A small service that does one job and can be updated independently.
Which service helps move VMware workloads without conversion?
Show answer
Google Cloud VMware Engine.
What does serverless mean?
Show answer
The provider manages the servers; you deploy code or containers.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.