Infrastructure and Application Modernization
Modernizing infrastructure and applications lets organizations run software more efficiently and adapt faster. This chapter covers the cloud service models, Google Cloud compute options from virtual machines to serverless, the role of containers, hybrid and multicloud strategies, and common migration approaches. Choosing the right compute model for a workload is the central theme.
Service models: IaaS, PaaS, and SaaS
Cloud services are often grouped into three models. Infrastructure as a Service (IaaS) provides raw compute, storage, and networking that the customer builds on, managing the operating system and applications themselves. Platform as a Service (PaaS) manages the underlying platform so developers focus on code rather than servers. Software as a Service (SaaS) delivers ready-to-use applications over the internet, where the customer simply uses the software and the provider manages everything else. As you move from IaaS to SaaS, the provider takes on more responsibility and the customer manages less.
Compute options on Google Cloud
Google Cloud offers a spectrum of compute. Compute Engine provides virtual machines (IaaS) for maximum control. Google Kubernetes Engine (GKE) is a managed Kubernetes service that orchestrates containers at scale with automated scaling and self-healing. App Engine is a platform for deploying applications without managing servers. Cloud Run runs stateless containers serverlessly and can scale to zero when idle, while Cloud Functions runs small pieces of event-driven code. The general trade-off: virtual machines give the most control, containers add portability and density, and serverless removes the most operational overhead.
VMs, containers, and serverless
A virtual machine emulates a full computer, including its operating system, and is well suited to lift-and-shift migrations. Containers package an application with its dependencies but share the host operating system, making them lightweight, portable, and fast to start; GKE and Cloud Run run containers. Serverless computing lets developers run code or containers without provisioning or managing servers at all, scaling automatically with demand, including down to zero. Choosing among VMs, containers, and serverless depends on how much control, portability, and operational simplicity a workload needs.
Hybrid, multicloud, and migration approaches
Many organizations run workloads across their own data centers and one or more clouds. A hybrid strategy combines on-premises and cloud, while multicloud uses more than one cloud provider. Anthos is Google Cloud's platform for managing applications consistently across these environments. Migration approaches include lift-and-shift (rehost), which moves workloads with minimal changes for speed; move-and-improve, which modernizes during migration; and rip-and-replace (rebuild), which rewrites an application using cloud-native services. The right approach balances speed, cost, and how much modernization value the business wants from the move.