server, network, computer, computer science, it, data, digital, red, server, server, server, server, server
Photo by frabre on Pixabay

Cloud Planning

Cloud hosting and compute selection

Choose cloud compute by comparing application constraints, operating responsibility, demand, total cost and region fit.

Match cloud compute to the application's requirements, the control it needs and the work your team can operate. A virtual machine may suit software that needs guest operating system access. Managed application hosting may suit an application that fits a platform's runtime and deployment rules. Check the proposed configuration before drawing conclusions about performance, recovery or total cost.

Start with the application’s constraints

Record the runtime, operating system dependencies, background processes, local file use, external connections and demand pattern. Separate genuine requirements from habits inherited from the current server. If hosting instances can be replaced, application data needs a deliberately chosen place to persist.

Assign an owner for runtime updates, operating system patching where applicable, deployment, access, monitoring and incident response. The division of work varies by service; managed hosting does not remove responsibility for the application and its data.

Shortlist the hosting model

ModelConsider it whenCheck before selecting it
Virtual machinesThe application needs guest operating system control or software a managed platform cannot runPatching, images, scaling, health checks, disks and operator capacity
Managed application hostingThe application fits the supported runtime or container contractRuntime restrictions, request limits, background work, persistent data and plan billing
A task or worker serviceWork runs on a schedule or continues outside a user requestTrigger, execution limits, retries and worker capacity

These are starting points, not interchangeable product categories. Check the exact service, plan and region: limits and billing units differ even within one provider.

For a concrete IaaS example, AWS says customers using Amazon EC2 manage the guest operating system, including updates and security patches, installed application software and utilities, and the instance security group firewall. Use the chosen service's responsibility model to confirm which of these tasks your team must perform; service choice and integration affect the division of work.

Cloud Hosting Models: Key Considerations

  • Virtual Machines (IaaS)Best for apps needing OS control or custom software; requires patching, scaling, and security management by customer.
  • Managed Application Hosting (PaaS)Ideal for apps fitting runtime or container contracts; reduces OS and infrastructure management but limits customization.
  • Task or Worker ServiceSuitable for scheduled or long-running background tasks; supports retries and execution limits.

Pros and Cons of Managed Application Hosting (PaaS)

  • ProsReduced infrastructure management, faster deployment, built-in scaling, automatic updates.
  • ConsLimited OS access, runtime restrictions, potential vendor lock-in, less control over underlying resources.

Choose by execution shape

Some platforms offer distinct ways to run code. For example, Google Cloud Run services handle HTTP requests at a stable endpoint, while jobs run tasks manually or on a schedule until completion. Worker pools handle always-on background work, such as processing messages, and instances support long-lived workloads that need a single runtime environment.

Design for the demand pattern

Estimate quiet, normal and busy periods separately. A request-driven service with long idle periods may suit a platform that can scale down, if startup delay and execution rules are acceptable. Scaling the application tier also increases demand on its database and other dependencies. Set and monitor appropriate scaling limits.

Label new-workload traffic figures as assumptions. For an existing application, collect request volume, concurrency, memory use, CPU use and response times over a representative period. Use those observations for an initial configuration, then check an important user action at normal and busy load.

For example, Cloud Run services automatically adjust instance counts to incoming requests, events or CPU use, and by default scale to zero when a revision receives no traffic. A minimum-instances setting can keep capacity idle or warm. If the service uses CPU while it is not processing requests, Google advises setting minimum instances to one.

Key Cloud Compute Metrics to Monitor

Request Volume
Measure over a representative period for baseline planning.
Concurrency
Track peak concurrent users to size capacity appropriately.
Memory Use
Monitor per-request or per-instance usage to avoid over-provisioning.
CPU Use
Critical for scaling decisions and cost control.
Response Time
Test under normal and busy load to ensure SLA compliance.

Compare the whole operating arrangement

List running capacity, persistent storage, data transfer, load balancing, logs, support and any capacity kept ready during quiet periods. Include the work needed to maintain the chosen model. A running VM, an allocated application plan and a request-billed service have different billing units.

Choose a region after checking user and dependency locations, availability of the exact configuration and applicable data handling requirements. If Australian privacy obligations apply, review where personal information and its copies are held and who can access them. An Australian region name alone does not settle overseas handling questions.

Verify who operates each control

Cloud service models change the division of operational work. Microsoft describes IaaS as leaving the customer to manage virtual machines, operating systems and applications; with PaaS, the customer deploys applications without managing VMs or operating systems. Its examples include Azure Virtual Machines for IaaS and Azure App Service and Azure Functions for PaaS.

Check the platform contract

A container-based platform may accept code packaged as a container image; Cloud Run also offers source-based deployment for supported languages and frameworks. Check whether the application can meet the platform's request-handling and runtime requirements, and whether its work is request-driven, scheduled or continuously running. Those details help distinguish an application service from a job or worker model.

Keep data and identities in the decision

The provider's infrastructure responsibilities do not transfer ownership of application data or identities. Microsoft identifies customer data, configurations and settings, and identities and users as customer responsibilities across its cloud deployment types. Include the work to protect these, and to configure, operate and monitor the controls your selected service leaves in your hands.

Record a decision you can revisit

For each viable design, record required features, operational owners, region, workload assumptions, cost components and unanswered questions. Reject an option that cannot meet a required feature or operating responsibility. Compare remaining options using the same application action and demand scenario.

Update the decision record when the application or its demand changes.

In this guide

  1. Virtual machines versus managed application hostingCompare VMs and managed application hosting by OS control, application compatibility, scaling and operating responsibility.
  2. Comparing compute pricing units with realistic workloadsBuild a fair cloud compute estimate using workload scenarios, billing units, storage and data transfer.
  3. Choosing a region from latency and operational requirementsShortlist a cloud region using user latency, dependent services, service availability, data handling and operating capacity.

More from Cloud Planning

Cloud Planning

Cloud deployment workflows

Plan a cloud deployment workflow with release stages, environment checks, a controlled rollout and a response to failure.

Cloud Planning

Cloud networking

Cloud networking connects users, offices and workloads to services through defined routes, names and access controls.