Sole-Tenant Nodes in Google Cloud: Dedicated Hardware for Your Virtual Machines
An intermediate-level guide to Compute Engine sole-tenancy: what a sole-tenant node is, how templates, groups, affinity and maintenance policies work, how licensing and billing behave, and how to design safely on dedicated hosts.
Imagine living in an apartment building. You share walls, hallways, and elevators with neighbors. Most days this is fine, and it is far cheaper than owning a house. But some people need a whole house: a musician who practices at midnight, a company that handles confidential documents, or a family whose rental contract says every room must be under one roof. A sole-tenant node is the whole house in Google Cloud. It is a physical server that hosts virtual machines from only your project, and nobody else’s.
This tutorial starts from zero. It explains how normal shared virtual machines work, why some organizations need dedicated hardware, and what Google Cloud gives you to manage it. Then it goes deeper into the topics that working engineers must master: node templates, node groups, affinity labels, maintenance policies, autoscaling, CPU overcommit, licensing, cost, security, monitoring, design patterns, and the mistakes that cause surprise bills and failed deployments.
1What Sole-Tenancy Is and Why It Exists
Sole-tenancy gives you exclusive use of a physical Compute Engine server, so your virtual machines never share that machine with anyone else’s.
The simple definition
Compute Engine is Google Cloud’s service for virtual machines. Normally, when you create a virtual machine, Google places it on a physical server that also runs virtual machines for other customers. This is called multi-tenancy, because many tenants share the same hardware. A sole-tenant node is a physical server dedicated to hosting virtual machines from only your project, or from projects you explicitly choose to share it with.
You still create ordinary virtual machines. They look and behave like any other Compute Engine instance, with the same disks, the same networking, and the same tools. The difference is the place they run: instead of landing on whichever server has room, they land on a server reserved for you.
Shared virtual machines are seats on a public bus. Sole-tenant nodes are a chartered bus. The road, the driver, and the engine are the same kind, but every seat on the charter belongs to your group, and you decide who sits where.
Why anyone needs it
Most workloads run perfectly well on shared hardware. Google isolates tenants strongly, and for typical applications there is no reason to pay for exclusivity. Sole-tenancy exists for a smaller set of situations where exclusivity is a requirement, not a luxury.
The first situation is regulation and policy. Some industries or internal security teams require that sensitive systems do not share physical machines with other organizations. The second is software licensing. Some vendors charge per physical socket or per physical core, and they expect you to prove which hardware runs their software. The third is performance isolation. If another tenant’s heavy workload can affect yours even slightly, and your latency targets are strict, a dedicated host removes that variable. The fourth is control: you want to decide which virtual machines sit together and which sit apart.
What you get and what you give up
You gain exclusivity, scheduling control, licensing options, and a clearer story for auditors. You give up the pay-only-for-what-you-run model of ordinary virtual machines: you pay for the whole node whether it is full or half empty. You also take on a new job, which is capacity planning, because a node is a fixed container and you decide how many nodes you need.
Sole-tenancy is about the host, not about the virtual machine. You manage the same kinds of instances as always. If you can create a virtual machine, you already know most of what runs on a sole-tenant node.
Where it sits in the Google Cloud family
Sole-tenant nodes belong to Compute Engine and are regional and zonal in the usual way: a node lives in one zone, and a group of nodes is created in one zone. Other Google Cloud services can use them too. For example, Google Kubernetes Engine can run node pools on sole-tenant nodes, which lets container platforms inherit the same physical isolation.
2Building Blocks: Virtualization, Tenancy and Noisy Neighbors
To understand why dedicated hosts matter, you first need to see how one physical machine becomes many virtual ones.
What virtualization does
A physical server has processors, memory, network cards, and storage connections. Virtualization is the technique of slicing those resources into several virtual machines, each of which believes it owns a complete computer. A special layer of software, called a hypervisor, sits between the hardware and the virtual machines. It decides which virtual machine gets processor time, keeps their memory separate, and prevents one from reading another’s data.
Google Cloud uses its own hypervisor technology and strong isolation boundaries. In everyday terms, one customer’s virtual machine cannot see into another’s. Sole-tenancy does not replace this isolation. It adds a second layer: the physical machine itself is reserved for you.
A hypervisor is a building manager. The manager splits one big floor into separate offices with locked doors and makes sure the electricity is shared fairly. With sole-tenancy, the whole floor is rented by one company, so the manager only separates that company’s own departments.
Tenancy in plain words
A tenant is a customer of a cloud platform. Multi-tenancy means many customers share the same physical infrastructure, and it is the reason cloud computing is affordable: the cost of a server is spread across many users. Single-tenancy means one customer has the infrastructure to themselves. It costs more because nobody else shares the bill, but it offers a stronger form of separation and more control.
The noisy neighbor problem
On shared hardware, a virtual machine that suddenly uses lots of processor cache, memory bandwidth, or input and output capacity can, in rare cases, slow down others on the same machine. People call this the noisy neighbor problem. Cloud providers work hard to limit it, and for most applications it is invisible. But for trading systems, real-time gaming servers, or latency-critical databases, even small variations matter.
On a sole-tenant node, the only neighbors are your own virtual machines. If a neighbor is noisy, you know who it is, and you can move it to another node using scheduling rules. This is both a performance benefit and a debugging benefit, because you control the whole population of the machine.
A dedicated host does not remove noise between your own virtual machines. If you place a heavy batch job and a latency-sensitive database on the same node without limits, they can still compete. Dedicated hardware gives you control, not automatic harmony.
Shared and dedicated compared
| Question | Shared (multi-tenant) VMs | Sole-tenant nodes |
|---|---|---|
| Who else runs on the physical server? | Other customers | Only your projects |
| How do you pay? | Per virtual machine | For the whole node, plus a premium |
| Who chooses the server? | The platform | You, through scheduling rules |
| Capacity planning | Mostly automatic | Your responsibility |
| Licensing by physical hardware | Hard to prove | Supported by design |
| Best fit | Most workloads | Compliance, licensing, strict isolation |
3Core Concepts and Vocabulary
Eight terms unlock the whole topic. Learn them in this order.
Sole-tenant node
One physical server dedicated to your project’s virtual machines. It has a fixed amount of processor and memory capacity.
Node type
The hardware shape of a node: its processor family, number of virtual processors, and memory size. The name usually encodes these numbers.
Node template
A reusable blueprint that says what kind of nodes to create, including node type and affinity labels. Templates are regional resources.
Node group
A set of nodes in one zone, all created from the same template. This is the unit you size, scale, and manage.
Affinity label
A key and value tag attached to nodes through the template. Virtual machines refer to these tags to say where they want to run.
Node affinity
The rules on a virtual machine that say it must run on nodes with certain labels, or must avoid nodes with certain labels.
Maintenance policy
A node group setting that decides what happens to virtual machines when Google performs maintenance on the host.
CPU overcommit
An option that lets virtual machines on a node share spare processor cycles, so more virtual processors can be scheduled than the node’s raw count.
How the words fit together
Think of building a parking garage for your cars. The node type is the size of a parking bay. The node template is the plan that says what bays look like and how they are labeled. The node group is the actual garage floor built from that plan, with a certain number of bays. Affinity labels are the signs on the bays, and node affinity is the instruction on each car that says which signs it may park under. The maintenance policy is the rule for what happens when the floor needs repairs.
The order of creation is always the same: choose a node type, create a node template, create a node group from it, and then create virtual machines that target the group. You cannot place virtual machines on a node group that does not exist yet.
How node types are named
Node type names are compact descriptions. They typically begin with the machine family, then include the word node, then the number of virtual processors on the node, and finally the amount of memory in gigabytes. A name like one of the N2 node types therefore tells you at a glance which family of virtual machines it can host, how many virtual processors exist in total, and how much memory the node carries. Always read the node type list for your zone before planning, because availability differs by zone and changes over time.
Assuming every machine family can run on every node type. A node hosts virtual machines of a compatible family only. Check that the machine type you want matches the node type before you buy capacity for it.
4When to Use Sole-Tenant Nodes and When Not To
Because exclusivity costs more, the first design decision is whether you truly need it.
Compliance and security policy
A regulation, contract, or internal policy requires that certain workloads do not run on hardware shared with other organizations. Sole-tenancy provides a clear, documentable answer for auditors: this server runs only our virtual machines.
Bring your own license
Some operating systems and enterprise databases are licensed per physical core or per physical socket. Sole-tenant nodes let you count and control physical hardware so you can reuse licenses you already own, which can save more than the sole-tenancy premium costs.
Performance isolation
Trading platforms, real-time multiplayer game servers, and latency-critical databases may need predictable behavior. Dedicated hosts remove outside variability, leaving only the contention you create yourself.
Placement control
You may want certain virtual machines to always share a host, such as tightly coupled components, or never share a host, such as two replicas of the same database. Affinity rules express this directly.
Migration of dedicated-host workloads
Organizations moving from on-premises servers often have licensing or governance rules tied to physical hosts. Sole-tenancy gives them a familiar model in the cloud.
Cost optimization through overcommit
For workloads with uncorrelated bursts, such as many lightly used development machines, overcommitting processors on a dedicated node can lower the cost per virtual machine and can reduce per-core license fees.
When you should not use it
If you have no compliance requirement, no licensing driver, and no measured performance problem, shared virtual machines are almost always the better choice. They cost less, scale more simply, and need no capacity planning. Adopting sole-tenancy because it sounds safer or faster, without a clear reason, is a common and expensive mistake.
A quick decision table
| Your situation | Recommendation | Reason |
|---|---|---|
| Regulator requires no shared physical hosts | Use sole-tenant nodes | Directly satisfies the requirement |
| Per-core or per-socket license you already own | Use sole-tenant nodes | Hardware visibility enables license reuse |
| Strict latency target with proven neighbor effects | Consider sole-tenant nodes | Removes outside contention |
| General web application with variable traffic | Use shared virtual machines or managed services | Cheaper and elastic |
| Small workload using a few virtual processors | Avoid sole-tenancy | A node is large; most capacity would sit idle |
| Short-lived experiments | Avoid sole-tenancy | Nodes bill from creation whether or not they are busy |
Write the reason you chose sole-tenancy at the top of the design document. If the reason disappears later, for example the license is retired or the rule is relaxed, the team will know the decision can be reviewed and the nodes can be removed.
5Architecture and Components
A sole-tenant deployment is a small hierarchy: templates define nodes, groups hold nodes, and virtual machines are scheduled onto nodes.
The big picture
flowchart TD
NT["Node type - hardware shape"] --> TPL["Node template - blueprint and labels"]
TPL --> NG["Node group - nodes in one zone"]
NG --> N1["Node 1 - physical server"]
NG --> N2["Node 2 - physical server"]
N1 --> VM1["VM A"]
N1 --> VM2["VM B"]
N2 --> VM3["VM C"]
POL["Maintenance policy"] --> NG
AUTO["Autoscaling settings"] --> NG
AFF["VM node affinity rules"] --> VM1
AFF --> VM3
The diagram reads from top to bottom. The node type describes the hardware. The template packages that choice with labels. The node group creates real nodes from the template in a particular zone. Virtual machines then land on specific nodes, guided by affinity rules, while the group’s maintenance policy and autoscaling settings govern how the group behaves over time.
Component by component
Physical node
The dedicated server. Its processors and memory are the fixed capacity that your virtual machines divide among themselves.
Node template
Defines the node type and the labels that identify nodes. Because it is a blueprint, changing your mind means creating a new template.
Node group
The managed collection of nodes in a zone. You set its size, maintenance policy, and autoscaling behavior.
Scheduler
Compute Engine’s placement logic. It reads each virtual machine’s affinity rules and finds a node with matching labels and enough free capacity.
Virtual machines
Ordinary instances that carry node affinity settings in their scheduling options.
Sharing settings
Optional rules that allow other projects in your organization to place virtual machines on your node group.
Regional templates, zonal groups
A node template belongs to a region, so one template can be used to build groups in several zones of that region. A node group belongs to one zone, because physical servers live in a specific data center building. This is why high availability on sole-tenant nodes means creating groups in more than one zone and placing replicas across them, just as you would with shared virtual machines.
A template is a standard blueprint for a small warehouse. A node group is a warehouse built in one particular city from that blueprint. If you want to survive a flood in one city, you build warehouses in two cities.
6Internal Working: How a Virtual Machine Lands on a Node
Understanding placement explains most of the errors and surprises that new users meet.
The placement journey
You request a virtual machine with affinity rules
The request names a machine type and includes node affinity: which labels the host must have, or must not have.
The scheduler filters nodes
Only nodes whose labels satisfy your rules are candidates. Nodes in other zones or without matching labels are ignored.
Capacity is checked
Among the candidates, the scheduler looks for a node with enough unused virtual processors and memory for the requested machine type and a compatible family.
The virtual machine is placed
If a node fits, the machine starts there. If none fits, the request fails with a message about insufficient capacity on matching nodes, unless autoscaling can add a node.
The node’s free capacity shrinks
The node now has less room. Later requests see the reduced capacity, so a full node simply stops being a candidate.
sequenceDiagram
participant U as Engineer
participant API as Compute Engine API
participant S as Placement scheduler
participant G as Node group
U->>API: Create VM with node affinity
API->>S: Find host matching labels
S->>G: Check free capacity on matching nodes
G-->>S: Node with room, or none
S-->>API: Chosen node, or capacity error
API-->>U: VM running on dedicated node
Capacity is a puzzle, not a pool
Each node has a fixed number of virtual processors and a fixed amount of memory. A virtual machine needs both at once, and it must fit entirely on one node; it cannot be split across two. This is the classic bin packing puzzle. Imagine suitcases of different sizes and trunks of fixed size: even when the trunks have enough total space, a large suitcase may not fit in any single trunk if the small suitcases are scattered poorly.
For that reason, a group with plenty of free capacity in total can still reject a large virtual machine. The fix is to place large machines first, to group machine sizes sensibly, or to add a node.
Fragmentation. Ten nodes each with two free virtual processors do not add up to a machine that needs sixteen. Total free capacity is not the same as usable capacity.
What a node problem looks like to your applications
Hardware can fail, even on dedicated servers. When a host has a serious fault, virtual machines on it may be restarted elsewhere or recreated, depending on the machine settings and the group policy. Your applications should expect this possibility just as they would on any cloud platform: restart cleanly, keep state on persistent disks or managed services, and run redundant copies on different nodes. Dedicated hardware improves isolation, but it does not make a single node immortal.
This is why the combination of affinity and anti-affinity matters. Rules that keep replicas apart ensure that one failing server removes at most one copy. Rules that keep dependent services together on the same group reduce network distance but increase shared fate. Decide consciously which risk you prefer for each service, and write the decision next to the rule so the next engineer understands it.
What is not different
Once running, a virtual machine on a sole-tenant node behaves like any other instance. Its persistent disks are network attached and independent of the node. Its network interfaces connect to the same virtual private cloud. Its identity, firewall rules, and monitoring work normally. This is an important design simplification: you are choosing a host, not changing the application model.
What happens during host maintenance
Physical servers need maintenance such as firmware updates and hardware repairs. On shared hardware, Google typically moves running virtual machines with live migration so users rarely notice. On sole-tenant nodes the question is trickier, because your whole point is to stay on controlled hardware and sometimes on specific physical hardware. That is why node groups carry an explicit maintenance policy, which Chapter 9 explains in detail.
7Designing Node Templates and Node Groups
Good sole-tenant design starts with choosing the right node shape and the right number of groups.
Choosing a node type
Start from the virtual machines you want to run. List their machine families, their virtual processor counts, and their memory sizes. Then look for a node type in your zone that matches the family and divides evenly by your typical machine size. If most of your virtual machines use eight virtual processors, a node with a number of virtual processors divisible by eight wastes little capacity. If your machines use odd sizes, leftover fragments will appear on every node, and you will pay for capacity that nobody can use.
Choosing a node type is like choosing a shipping container for boxes. If your boxes are all the same size and the container is a multiple of that size, every inch is used. If the boxes are odd shapes, you ship a lot of air.
What goes into a node template
Node type or requirements
Either a specific node type, or a set of requirements such as minimum processors and memory from which a type is selected.
Affinity labels
Key and value tags attached to every node made from this template. They are how virtual machines find the right nodes.
Server binding
For licensing-sensitive designs, a setting that influences whether a node stays on the same physical server after maintenance.
Overcommit and options
Optional settings such as processor overcommit and attached hardware options, depending on the node type.
Templates are blueprints, not live settings
A node template is not edited after creation. When you need different labels or a different node type, you create a new template and build a new node group from it. This may feel inconvenient, but it has a benefit: every node in a group is guaranteed to match one known blueprint, so labels and hardware never drift apart.
How many node groups?
Google’s own guidance frames this as a trade between availability and utilization. Fewer, larger groups pack virtual machines more tightly and cost less because there is less stranded space. More, smaller groups isolate failures and let you run different maintenance policies, different owners, or different licensing pools separately.
| Design choice | Benefit | Cost |
|---|---|---|
| One large group | High utilization, simple management | One maintenance policy and one failure domain |
| Several groups in one zone | Separate teams, policies, or licenses | More stranded capacity |
| Groups in several zones | Resilience to a zone problem | Duplicate capacity and cross-zone design work |
| Group per environment | Test and production stay apart | Test nodes often sit underused |
A step-by-step planning method
Inventory workloads
Record machine family, size, expected utilization, and why each needs dedicated hardware.
Pick node type and group boundaries
Match the family, minimize leftover fragments, and separate groups only when policy, ownership, or licensing demands it.
Add resilience
Decide how many zones you need and how much spare capacity to hold for failures and maintenance.
Define labels
Design a small, stable set of labels such as workload class, environment, and license pool.
Check quotas and availability
Confirm that your project has enough quota for nodes in the target region and that the chosen node type exists in the zone.
Keep label vocabularies small and documented. Three well-chosen labels are easier to reason about than a dozen ad hoc ones, and a typo in a label can silently send a virtual machine to the wrong place or leave it with no valid node.
8Node Affinity and Anti-Affinity: Controlling Placement
Affinity rules are the steering wheel of sole-tenancy. They decide which virtual machines share a node and which never do.
The basic idea
Every node carries labels from its template. Every virtual machine carries rules in its scheduling options. A rule has three parts: the label key, an operator, and one or more values. The operator is either in, meaning the node must have one of these values, or not in, meaning the node must not have these values. The scheduler obeys these rules strictly. If no node satisfies them, the machine is not created.
Built-in labels
Besides your own labels, Compute Engine automatically attaches labels that identify the node group name and the individual node name. These are helpful for simple cases: a virtual machine can be pinned to one node group by naming it, or to one exact node by naming that node. In shared-group designs, a label identifying the project can also help.
Three common placement goals
Pin to a group
All virtual machines for a regulated workload use a rule that says they must run in one specific node group. This is the simplest and most common pattern.
Keep workloads together
Components that talk to each other constantly, or that share a license, use the same label so they land on the same set of nodes. This can reduce network distance and keeps license counting straightforward.
Keep workloads apart
Two replicas of the same service use rules that send them to different labeled groups, or use a not in rule against each other’s labels, so a single node failure cannot remove both.
flowchart LR
subgraph G1["Node group A - label tier equals database"]
A1["Node A1 - DB primary"]
A2["Node A2 - DB analytics"]
end
subgraph G2["Node group B - label tier equals web"]
B1["Node B1 - web servers"]
B2["Node B2 - cache servers"]
end
R1["Rule: tier IN database"] --> G1
R2["Rule: tier IN web"] --> G2
Using affinity to isolate noisy workloads
Suppose a heavy reporting job runs at night and slows the transactional database it shares a node with. You can give the reporting machines a label that points to a separate group and move them. The database keeps a quiet host, and you still pay for dedicated hardware only where you need it. This is performance tuning by placement, not by code change.
Affinity labels are seating cards at a wedding. Each guest card names the table they may sit at. The seating manager follows the cards strictly: if a table is full, the guest waits rather than sitting at the wrong table.
Creating a virtual machine without any node affinity and expecting it to land on your dedicated nodes. A machine with no rules goes to shared hardware. Sole-tenancy applies only to machines that explicitly ask for it.
Controlling affinity as a policy
Because forgetting the affinity rule silently defeats the compliance goal, mature teams enforce it. They use instance templates that already contain the rules, deployment pipelines that reject machines without them, and organization policies or reviews that check that regulated projects only create machines with approved labels. Prevention beats auditing after the fact.
9Maintenance Policies and Host Events
The maintenance policy decides what happens to your virtual machines when Google must service the physical host.
Why maintenance matters more here
Physical servers occasionally require firmware updates, security fixes, and hardware replacement. For ordinary virtual machines, Google handles this quietly with live migration, which moves a running machine to another host without stopping it. On a sole-tenant node, your design might depend on staying on specific hardware or on a specific set of dedicated hosts. For that reason each node group has a maintenance policy that you choose deliberately.
The three policies
| Policy | What happens to virtual machines | Best for |
|---|---|---|
| Default | The platform keeps machines running by live migrating them during host maintenance, so they continue with little interruption | Most workloads that want continuity and do not care which physical server runs them |
| Restart in place | Machines are stopped and restarted on the same node after maintenance, causing a short interruption | Licensing tied to specific physical hardware, where moving to different servers is not allowed |
| Migrate within node group | Machines live migrate between nodes in your own group, which needs spare capacity you hold in reserve | Workloads that need continuity while staying inside a fixed set of nodes |
The precise mechanics, such as how many nodes of spare capacity a policy needs and how much notice you receive, are documented by Google and can change. Treat this chapter as the mental model, and read the current documentation for your chosen policy before you finalize capacity numbers.
Testing before trusting
Never discover how a maintenance policy behaves during a real incident. Build a small non-production node group with the same policy, run representative virtual machines on it, and observe what happens during simulated maintenance and during manual node events. Record how long interruptions last, whether applications reconnect cleanly, and whether licensing and monitoring tools still see the machines correctly. These rehearsals turn policy descriptions into operational knowledge and expose gaps such as applications that do not retry connections or scripts that assume a machine never restarts.
Choosing a policy with a simple question
Does a license tie you to physical hardware?
If yes, favor restart in place and the matching server binding behavior, and accept short planned interruptions.
Can the workload tolerate a restart?
If not, favor a policy that migrates machines live, and plan the capacity this requires.
Must machines stay within your own nodes?
If yes, use migration within the group and hold spare nodes for movement.
Otherwise use the default
It is the simplest option and requires the least capacity planning.
Maintenance windows and advanced control
Google provides controls that let you influence when planned maintenance happens, so you can steer it to a quiet time such as a weekend night. These controls are especially helpful with the restart in place policy, because you would rather schedule an interruption than receive it at peak traffic. Combine this with redundancy: if your service runs on two nodes in two groups, restarting one at a time never takes the service fully down.
Imagine your dedicated building needs its elevators serviced. One plan is to carry everyone to a neighboring building while the work is done. Another plan is to ask everyone to step outside for an hour and walk back in. The first costs more preparation, the second costs a short pause. Maintenance policies let you choose.
Choosing the migrating policy but sizing the group to be completely full. With no free room, there is nowhere for virtual machines to move, and the policy cannot work as intended. Reserve headroom whenever your policy relies on moving machines.
10Capacity, Autoscaling and Bin Packing
Because nodes are a fixed container you pay for, capacity planning is part of the job. Autoscaling helps, but it does not replace thinking.
Manual sizing
The simplest approach is to set a fixed number of nodes in a group and resize it when needed. This gives predictable cost and predictable placement. It works well for stable workloads, such as a database estate with a known number of servers, where growth is slow and planned.
Autoscaling node groups
For workloads that change in size, node groups can scale automatically. The autoscaler watches for virtual machines that cannot be placed because the group is full, and adds nodes up to a maximum you set. When nodes are empty it can remove them, down to a minimum. You choose a mode that matches how adventurous you want the automation to be.
Off
You manage the size of the group yourself. Nothing changes without your action.
On
The group may both add and remove nodes within your minimum and maximum limits.
Scale out only
The group may add nodes when needed but never removes them automatically, so you control when to shrink.
Removing a node can interrupt licensing assumptions or reduce reserved headroom. Many teams let the group grow automatically but shrink it deliberately during planned reviews, which keeps both capacity and bills under human control.
How a scale-out decision looks
flowchart TD
A["New VM requested with affinity"] --> B{"Matching node with enough room?"}
B -- "Yes" --> C["Place VM on that node"]
B -- "No" --> D{"Autoscaling allows growth?"}
D -- "Yes, below maximum" --> E["Add a node to the group"]
E --> C
D -- "No or at maximum" --> F["Request fails - capacity error"]
Bin packing in practice
To use nodes efficiently, create large virtual machines first and fill gaps with small ones afterward. Use a small number of standard machine sizes across the estate so that gaps left by one machine can be filled by another. Avoid placing many medium machines that leave awkward remainders. Review utilization regularly: if nodes sit at thirty percent usage, you are paying for unused hardware and should consolidate or consider overcommit.
A worked capacity example
Suppose a node offers eighty virtual processors and six hundred and forty gigabytes of memory, and your standard machine uses sixteen virtual processors and one hundred and twenty eight gigabytes. By processors, five machines fit exactly. By memory, five machines also fit exactly. The node is perfectly packed with five identical machines and nothing is wasted. Now imagine your teams create machines of twelve virtual processors instead. Six of them need seventy two virtual processors, leaving eight spare, which is not enough for another twelve-processor machine. Eight processors sit idle on every node, a ten percent loss that repeats across the whole estate.
The lesson is that small differences in machine size create large differences in cost. Before launch, agree on a short menu of approved sizes that divide your chosen node type neatly, and make that menu part of your templates. When a team requests an unusual size, the cost of the leftover space should be part of the conversation.
Spare capacity for failure and maintenance
A group with no free room is fragile. If a node is repaired or a policy needs to move machines, there is nowhere to go. A common rule of thumb is to keep enough headroom to absorb the loss or maintenance of one node, but the right amount depends on your policy, your service level goals, and your budget. Write down the rule so that future capacity reviews use the same standard.
11CPU Overcommit: Sharing Spare Cycles
Overcommit lets you schedule more virtual processors on a node than it physically has, betting that your virtual machines will not all be busy at once.
The idea in plain words
Many virtual machines are idle most of the time. A development server may use a few percent of its processors. When many such machines sit on a dedicated node, much of the hardware does nothing. Overcommit lets these machines share spare processor time, so you can place more of them on one node. The node’s cost is then divided among more machines, lowering the cost per machine.
An airline sells more seats than a plane holds, knowing that some passengers do not show up. Overcommit is the same bet for processor time: it works well when demand is spread out and fails when everyone arrives at once.
The minimum guaranteed allocation
For each overcommitted virtual machine, you set a minimum allocation: the number of underlying processor threads that are always guaranteed to that machine. If the machine has more virtual processors than guaranteed threads, the extra virtual processors share resources and may run slower when the node is busy. Different machines on the same node can have different ratios, so you can protect important machines with a higher guarantee and stretch less important ones further.
When overcommit helps
Uncorrelated bursts
Workloads whose busy moments do not line up, such as many small internal tools used by different teams at different times.
Per-core license savings
If you pay licenses by physical core, running more virtual machines on the same cores spreads that license cost across more machines.
Test and development estates
Environments with many mostly idle machines gain a large density benefit with little risk.
When overcommit hurts
If your workloads burst at the same time, such as everything running at month end, overcommitted machines compete for the same processors and slow down together. This is the risk the guaranteed minimum is meant to bound. Finding the right ratio is an experiment: start conservative, measure processor utilization and latency across busy periods, and tighten gradually.
Overcommitting latency-sensitive production databases to save money. The savings are small compared with the cost of an occasional slow period. Reserve overcommit for workloads that can tolerate variation.
12Licensing and Bring Your Own License
For many organizations, license savings are the single biggest financial reason to choose dedicated hosts.
Why licenses care about hardware
Some software vendors set prices by the physical resources that run their product: the number of sockets, which are the physical processor chips in a server, or the number of physical cores. In a normal shared cloud you cannot easily say which physical hardware ran your software, so vendors may restrict or price these licenses differently. On a dedicated node, the physical hardware is yours and countable, which can make existing licenses portable to the cloud.
How sole-tenancy helps
Hardware becomes visible
You know that a node is a specific physical server with a known core and socket count, so you can map licenses to it.
Virtual machines stay on licensed hardware
Affinity rules ensure licensed software only runs on nodes you have counted, so you stay inside your license terms.
Server binding supports stable hardware
When a license requires a node to stay on the same physical server, restart in place and server binding settings help keep it there after maintenance.
Reports prove compliance
Inventory and logging of where machines ran give you evidence if the vendor audits you.
Each vendor writes its own license rules, and those rules change. Sole-tenancy makes compliance possible, but it does not interpret your contract. Ask your vendor in writing whether the specific product and version is allowed in your design, and involve your licensing or legal team before you rely on the savings.
Counting licenses on dedicated hardware
License counting rules differ, but the habit of good record keeping is universal. Keep a simple register that lists each node, its physical core and socket count as published for the node type, the software licensed on it, and the date each virtual machine started and stopped there. When an auditor asks how many cores ran a database last quarter, the register and the platform logs together give an answer in minutes. Without a register, teams often over-license out of caution, wasting the very savings they moved to dedicated hosts to capture.
Doing the arithmetic
Compare the full cost of two options. The first is shared virtual machines with cloud-provided licenses. The second is dedicated nodes with your own licenses. Include the sole-tenancy premium, the cost of idle node capacity, the license fees you avoid, and the operations effort. For a large, steady, license-heavy estate, dedicated nodes often win. For a small or variable estate, the idle capacity usually erases the savings.
| Cost element | Shared VMs with cloud licenses | Sole-tenant with your licenses |
|---|---|---|
| Compute | Per machine | Whole node plus premium |
| License | Included in price or added per use | Already owned, you pay support only |
| Idle capacity | Nearly none | Possible if nodes are not full |
| Operations | Lower | Higher, capacity and affinity planning |
| Best for | Small, variable estates | Large, steady, license-heavy estates |
13Pricing and Cost Management
The pricing model differs from ordinary virtual machines, and understanding it prevents the most common budget surprise.
What you are charged for
You pay for all the virtual processors and all the memory on each node from the moment the node is created, whether or not any virtual machine is running on it. Virtual machines placed on the node do not add their own compute charge. Pricing depends on the node type’s size and the region. Other resources, such as persistent disks and premium operating system images, are billed separately.
The sole-tenancy premium
On top of the underlying processor and memory cost, Google charges a premium of ten percent for the exclusivity. Sustained use discounts apply to the premium. Flexible committed use discounts also apply to it, while resource-based committed use discounts cover the processor and memory but leave the premium payable. Because discounts and prices change, always confirm figures on the official pricing page.
Node compute
All virtual processors and memory on the node, charged continuously after creation.
Sole-tenancy premium
A percentage added on top of the node cost, for exclusivity.
Discounts
Sustained use and committed use discounts can reduce the bill significantly for long-running nodes.
Separate items
Disks, images, network egress, and other services are billed on their own.
A worked cost thought experiment
Imagine two ways to run twenty virtual machines of similar size. In the first, they run as shared virtual machines and each is billed only while it runs. In the second, they run on three sole-tenant nodes that are always on. The shared option scales its bill with the number of machines running, which is perfect if some of them are switched off at night. The dedicated option charges the same amount whether you run twenty machines or two, so its cost per machine is lowest when the nodes are nearly full and highest when they are mostly empty.
This means the break-even point depends on three numbers you can measure: how full your nodes will be on average, how much you save on licenses, and how much discount your commitments give. A design that fills nodes to eighty percent, avoids expensive per-core licenses, and uses a long commitment can beat the shared option. A design that fills nodes to thirty percent and has no licensing driver almost never does. Do this arithmetic with real numbers from the pricing page before you commit.
Minimum billing time
Node usage is charged for a minimum of one minute, and after the first minute it is billed in one-second increments. Short experiments are therefore not heavily penalized by the minimum itself, but remember that a node is large, so even a short test can cost real money if you forget to delete it.
Renting a dedicated warehouse is like paying rent for the whole building, not for each pallet stored. A half-empty warehouse costs the same as a full one, so the way to save money is to fill it wisely or to rent a smaller one.
Ways to reduce cost
Raise utilization
Pack virtual machines more tightly, standardize sizes, and consolidate half-empty nodes.
Use commitments for steady capacity
If you know you will run nodes for a year or more, committed use discounts reduce the rate considerably.
Use overcommit where safe
For idle-heavy workloads, overcommit lowers the number of nodes you need.
Delete unused nodes
Empty nodes still bill. Schedule reviews and remove groups that no longer serve a requirement.
Right-size the whole design
If a small workload sits on a very large node type, consider whether sole-tenancy is still the right choice.
Set budget alerts on projects that contain nodes and use labels to attribute cost to teams. Because node cost is lumpy, a single added node can change the monthly bill noticeably, and alerts catch that early.
14Networking, Storage, Access Control and Sharing
Everything around the virtual machine works as usual, but a few details deserve attention on dedicated hosts.
Networking is unchanged
Virtual machines on sole-tenant nodes attach to your virtual private cloud networks like any other instance. They receive internal addresses, follow your firewall rules, use your routes, and can reach private services. A dedicated host does not isolate a machine from your own network and does not by itself block the internet. You still design network security separately.
Storage is network attached
Persistent disks are independent of the node, so a virtual machine that restarts on a different node can reattach its disks. Some node types also offer local solid state storage, which is fast but tied to the machine’s life and behaves differently during maintenance. Treat local storage as temporary and keep important data on persistent disks or managed storage, and check the pricing page for how local storage is billed on your chosen node type.
Who may do what
Capacity owners
People who create templates and groups, resize them, and set maintenance policies. This is an infrastructure permission and should be limited.
Workload teams
People who create virtual machines on existing nodes using approved labels. They do not need power over the nodes themselves.
Auditors
Read-only access to inventory, logs, and configuration so that compliance can be verified without risk of change.
Finance
Access to billing data and labels, so that node cost can be attributed and reviewed.
Sharing a node group across projects
Because a node is expensive, one group is often more useful when several teams can use it. Compute Engine lets you share a node group with other projects in the same organization, either with the whole organization or with a named list of projects. Teams in those projects create virtual machines that target the shared group using affinity rules. The owner project pays for the nodes, which allows central capacity management and higher utilization.
A shared node group is a company-owned meeting room used by several departments. One department books and pays for the room, and everyone follows the same booking rules so that the room stays full and useful.
Sharing a group broadly without a chargeback model. Teams treat the capacity as free, use it carelessly, and the owner team is surprised by the bill. Use labels and reports to show each team its share.
15Security and Compliance
Dedicated hardware strengthens one layer of security, but it is only one layer among many.
What sole-tenancy adds
It removes other customers from the physical server. For some risk models and rules, that is a meaningful reduction in exposure and a clear statement to give auditors. It also gives you stronger control over which of your own workloads share a host, which helps to separate production from test, or sensitive data processing from general services.
What it does not do
It does not encrypt your data by itself, authenticate your users, patch your guest operating systems, or block misconfigured firewalls. It does not protect against a weak password or a leaked key. Think of it as a locked room: useful, but not a substitute for a good lock on every cabinet inside.
Layers to combine
| Layer | Control | Why it matters |
|---|---|---|
| Host | Sole-tenant node | No other customer shares the physical server |
| Guest | Hardened images, patching | Flaws inside the virtual machine remain your responsibility |
| Identity | Least privilege roles, service accounts | Limits what a compromised account can do |
| Network | Firewall rules, private addressing | Restricts which systems can talk |
| Data | Encryption, key management | Protects data at rest and in transit |
| Placement | Affinity rules, policy checks | Ensures regulated workloads actually land on dedicated hosts |
| Audit | Logs and inventory | Proves what ran where and who changed it |
Separation of duties
A well-run environment separates the people who manage the nodes from the people who run workloads on them, and both from the people who audit. The capacity team can create and resize groups but cannot read application data. Workload teams can create virtual machines on approved labels but cannot change maintenance policies or delete nodes. Auditors can read configuration and logs but cannot change anything. Each person has what they need and nothing more, which reduces both accidents and abuse.
Combine this with change review. Any change to a node group, a template, a label, or a sharing setting should pass through the same review process as application code. A single careless sharing change can open dedicated capacity to projects that should never have had it, and a single deleted label can leave critical machines without a valid host.
Proving compliance
Auditors ask for evidence. Useful evidence includes the configuration of your node groups, a list of virtual machines with their placement, change logs showing who created or moved machines, and a policy that prevents regulated machines from being created without affinity rules. Gather these regularly and store them with your compliance documents so that an audit is a calm retrieval, not a scramble.
Check what your specific regulation or contract actually demands. Some rules ask for dedicated hardware, others ask for logical isolation, and others ask for data location. Match the control to the requirement instead of buying the strongest option by habit.
16Monitoring, Logging and Troubleshooting
You need two views: how full your nodes are, and how healthy the virtual machines on them are.
Metrics worth watching
| Metric | What it tells you | Typical action |
|---|---|---|
| Allocated virtual processors per node | How full each node is by scheduling | Rebalance or add nodes when consistently high |
| Allocated memory per node | Memory fragmentation and pressure | Review machine sizes and standardize |
| Actual processor use | Real demand versus reserved capacity | Consider overcommit or consolidation if low |
| Node count per group | Cost trend and autoscaler behavior | Check that growth matches demand |
| Placement failures | Requests that could not find a node | Add capacity or fix labels |
| Maintenance events | Upcoming interruptions or migrations | Schedule around them |
Reading the logs
Administrative activity logs record who created, resized, or deleted nodes and groups, and who created virtual machines with which affinity. Use them to answer the questions that arise after surprises: who added that node, when did the group grow, which machine was moved. Send these logs to a central location and keep them as long as your compliance rules require.
Common problems and their usual causes
Problem
A new virtual machine fails with a message that no matching node has enough capacity.
Why It’s Harmful
Deployments stop, and teams may be tempted to remove affinity rules to get past the error, which silently defeats the isolation goal.
Correct Approach
Check free capacity per node, not only in total. Look for fragmentation, add a node, resize the group, or enable scale-out. Never remove the rule just to get the machine running.
Problem
A virtual machine cannot be created because no node matches its rules, even though nodes exist.
Why It’s Harmful
A misspelled label or wrong zone wastes time and may lead people to create duplicate groups unnecessarily.
Correct Approach
Compare the machine’s affinity rules with the labels on the template, confirm the zone, and check that the machine family is compatible with the node type.
Problem
Creating a node group or adding a node fails because of a quota or because the node type is unavailable in the zone.
Why It’s Harmful
Growth plans and disaster recovery plans can fail at the moment you need them.
Correct Approach
Request quota in advance for every region you may use, verify node type availability per zone, and test your failover design before you depend on it.
First confirm the labels and zone, then compatibility of family and size, then free capacity on individual nodes, then quotas and availability. This order moves from the cheapest checks to the most expensive ones.
17Design Patterns for Sole-Tenant Nodes
A few repeatable patterns cover most real designs.
Pattern 1: Regulated enclave
A dedicated node group holds every system that touches regulated data. Affinity rules pinned in instance templates and enforced by policy ensure nothing regulated runs elsewhere, and nothing unregulated is allowed in. The boundary is simple and easy to explain to auditors.
Pattern 2: Licensed pool
A group sized to match your licensed core or socket count hosts the licensed software. The label on the group becomes the license pool, and a count of nodes becomes the count of licenses in use.
Pattern 3: Quiet database tier
Latency-critical databases run on their own nodes with generous headroom and a conservative maintenance policy. Application servers and batch jobs run elsewhere, so they cannot disturb the database host.
Pattern 4: Dense development estate
Many small development and test machines share nodes with overcommit enabled. Cost per machine is low, performance variation is acceptable, and the group can be scheduled down outside working hours by your own automation.
Pattern 5: Multi-zone active pair
Two node groups in two zones host replicas of the same service. Affinity ensures replicas never share a node, and each zone has enough headroom to take over if the other is lost.
Pattern 6: Shared central capacity
A platform team owns a node group and shares it with product teams through sharing settings. Labels attribute usage, and the platform team manages growth centrally for better utilization.
flowchart LR
subgraph Z1["Zone one"]
G1["Node group - licensed pool"]
G2["Node group - database tier"]
end
subgraph Z2["Zone two"]
G3["Node group - licensed pool replica"]
G4["Node group - database replica"]
end
APP["Application tier on shared VMs"] --> G2
APP --> G4
G2 -. "replication" .-> G4
G1 -. "failover" .-> G3
Mixing shared and dedicated
You rarely need to place the entire estate on dedicated nodes. A common, cost-aware design keeps only the regulated or licensed components on sole-tenant nodes, and runs stateless application servers on ordinary shared virtual machines. The result satisfies the requirement while limiting the expensive footprint to what truly needs it.
18Anti-Patterns to Avoid
These mistakes appear repeatedly in real projects.
Problem
Choosing sole-tenancy by default for every project because it feels safer.
Why It’s Harmful
Costs rise, utilization is poor, and teams take on capacity planning they did not need. The security benefit is real only when a requirement or threat model justifies it.
Correct Approach
Require a written reason for each dedicated group, tied to compliance, licensing, or measured performance, and review it regularly.
Problem
Letting teams create virtual machines without affinity rules in a project that is meant to use dedicated hosts.
Why It’s Harmful
Machines silently land on shared hardware, so the compliance claim is false while everyone believes it is true.
Correct Approach
Bake affinity into instance templates and enforce it through pipelines, policy checks, and periodic placement reports.
Problem
Filling every node to the brim with no headroom.
Why It’s Harmful
Maintenance and failure events have nowhere to move machines, growth requires emergency purchases, and fragmentation blocks large machines.
Correct Approach
Reserve headroom according to your maintenance policy and availability goals, and review it with each capacity cycle.
Problem
Using one node group in one zone for a service that must be highly available.
Why It’s Harmful
A zone problem takes down the entire service, and dedicated hosts do not change the fact that a zone is a failure domain.
Correct Approach
Create groups in at least two zones, spread replicas, and test failover with realistic exercises.
Problem
Overcommitting critical workloads, or assuming license terms without checking them with the vendor.
Why It’s Harmful
Slowdowns appear at the worst moment, and an audit can turn assumed savings into large unexpected fees.
Correct Approach
Overcommit only tolerant workloads and confirm license terms in writing before design decisions depend on them.
19Best Practices and a Readiness Checklist
A compact guide to getting good results from the first deployment.
Planning practices
- Start with the requirement. Document the compliance rule, license term, or performance evidence that justifies dedicated hosts.
- Standardize machine sizes. Fewer sizes mean fewer fragments and better packing.
- Plan zones early. Decide how many zones and how much headroom you need before buying capacity.
- Check quotas and availability in every region you may use, including your recovery region.
Operating practices
- Keep labels small and documented so that placement rules are understandable and enforceable.
- Review utilization monthly and consolidate or shrink groups that are mostly idle.
- Prefer scale-out-only automation when licensing or headroom depends on a stable node count.
- Test maintenance behavior in a non-production group before relying on it for critical services.
- Describe infrastructure as code so templates, groups, and rules are reviewed like application changes.
A readiness checklist
Justification
A written reason exists, and an owner is named who will review it on a schedule.
Capacity
Node type matches machine family, sizes pack well, and headroom for maintenance is defined.
Placement enforcement
Instance templates carry affinity rules, and a policy or check blocks machines without them.
Resilience
Groups exist in more than one zone for critical services, and failover has been practiced.
Licensing
Vendor terms are confirmed in writing, and the mapping from nodes to licenses is documented.
Cost and visibility
Budgets, alerts, and cost attribution labels are active, and dashboards show node utilization.
Common mistakes at a glance
| Mistake | Consequence | Fix |
|---|---|---|
| No affinity on virtual machines | Machines land on shared hardware | Bake rules into templates and enforce them |
| Wrong machine family for the node type | Placement fails | Check compatibility before buying nodes |
| No headroom | Maintenance and growth stall | Reserve spare capacity |
| Forgotten empty nodes | Continuous charges for nothing | Schedule cleanup reviews |
| Single zone for critical service | Zone outage causes full outage | Spread across zones |
| Assumed license terms | Audit penalties | Confirm with the vendor |
20Sole-Tenant Nodes Compared with Other Options
Several Google Cloud options give more isolation or control. Knowing the differences prevents over-buying.
| Option | Isolation | Control | Typical use |
|---|---|---|---|
| Shared virtual machines | Strong logical isolation, shared hardware | Low, platform places machines | Most workloads |
| Sole-tenant nodes | Dedicated physical server, still virtualized | High, you control placement | Compliance, licensing, isolation |
| Bare metal style offerings | Dedicated server with direct hardware access | Very high, no hypervisor in between | Specialized software needing hardware access |
| Confidential computing options | Encrypted memory on shared or dedicated hardware | Moderate | Protecting data in use |
| Managed services | Provider managed, varies by service | Lowest, but least operations work | When you can avoid managing servers at all |
A simple escalation ladder
When a requirement appears, climb the ladder only as far as needed. Start with shared virtual machines and strong identity and network controls. If the requirement asks for physical separation, move that workload to sole-tenant nodes. If it also asks for protection of data while in use, add encrypted memory options. If software needs direct hardware access, consider bare metal style offerings. Each step costs more in money and in operations effort, so stopping at the lowest sufficient step is a sign of good engineering, not of weak security.
Combining options
These choices are not exclusive. A sensitive database may run on sole-tenant nodes with encrypted memory options, while the application tier uses shared virtual machines and managed services. Choose the strongest control for each layer only where the requirement demands it, and let the rest remain simple.
Containers on dedicated nodes
Kubernetes node pools in Google Kubernetes Engine can run on sole-tenant nodes. This allows container platforms to meet the same hardware isolation requirements. The design questions are similar: choose a node type that matches the machines your pool needs, use labels to steer pods or node pools, and plan capacity and maintenance for the underlying nodes.
Moving an existing dedicated-host estate
Inventory the current hosts
List physical servers, their core and socket counts, the software on them, and the license terms that apply.
Map to node types and groups
Choose node types that match the machine families, and group nodes by license pool, policy, and owner.
Confirm license portability
Ask each vendor whether the specific products may move, and under what counting rules.
Pilot and measure
Move a small workload, measure performance and cost, and adjust node counts and policies.
Migrate in waves
Move workloads in groups while keeping rollback options, and retire on-premises hardware only after stability is proven.
21Real-World Scenarios
These scenarios are illustrative composites of how organizations typically use sole-tenancy, not descriptions of any specific company.
A healthcare software provider
The provider’s contracts with hospitals require that systems processing patient records do not share physical servers with other organizations. The team builds a regulated enclave: two node groups in two zones, affinity rules baked into instance templates, and monthly placement reports for auditors. Marketing sites and internal tools stay on shared virtual machines.
A bank moving licensed databases
The bank owns per-core database licenses that it wants to reuse in the cloud. It uses sole-tenant nodes with a restart-in-place policy and server binding settings, and it documents the mapping between nodes and licenses. The license savings outweigh the premium and idle capacity, as long as the nodes are kept well filled.
A game studio’s match servers
Players notice small timing hiccups. The studio places latency-sensitive match servers on dedicated nodes with headroom, separates them from analytics and build jobs, and keeps the rest of its platform on shared infrastructure.
A software company’s development estate
Hundreds of rarely busy developer machines run on a few overcommitted nodes. The company tunes the guaranteed minimum after measuring busy periods, and automation shrinks the group in the evening to cut cost.
A public-sector agency’s shared platform
A central platform team owns a dedicated node group and shares it with several departments. Labels attribute usage, and quarterly reviews adjust capacity. Departments get dedicated hardware without each running a small underused group.
22Advantages, Disadvantages and Trade-offs
Every choice has a cost. Weigh both sides honestly.
Advantages
- Physical isolation from other customers’ workloads
- Clear story for compliance and auditors
- Supports per-core and per-socket license reuse
- Fine control of which virtual machines share hosts
- Predictable performance with fewer outside variables
- Same instances, disks, and networking as shared virtual machines
Disadvantages / Trade-offs
- You pay for the whole node plus a premium, even when it is half empty
- Capacity planning and bin packing become your job
- Large fixed units make small workloads inefficient
- Maintenance policies add design decisions and sometimes interruptions
- Quotas and node type availability can limit growth
- Strict affinity rules can cause placement failures
Questions to ask before you commit
Which exact rule, contract, or measurement requires dedicated hardware? Which workloads are covered, and which are not? How full will the nodes be after six months, and what happens if the estate shrinks? Who owns the capacity plan, and how often will it be reviewed? What is the exit plan if the requirement disappears? Teams that can answer these questions in a few sentences usually succeed with sole-tenancy. Teams that cannot often end up with expensive, half-empty nodes and no clear owner.
Reading the trade-offs correctly
The cost of sole-tenancy is mostly the cost of idle capacity and operations effort, not the ten percent premium. A well-packed node group with committed use discounts can be cost-competitive, especially with licensing savings. A poorly packed group, kept only out of habit, is a steady drain. The deciding factor is therefore not whether dedicated hardware is good, but whether your requirement justifies it and whether you can keep nodes busy.
23Frequently Asked Questions
No. A sole-tenant node is a dedicated physical server, but your workloads still run as virtual machines on top of a hypervisor. Bare metal style options give direct hardware access without that layer.
No. Only virtual machines from your project, or from projects you explicitly share the node group with, can run on it.
You pay for the node’s total processors and memory plus the premium. The virtual machines placed on it do not add separate compute charges, but their disks and other resources are billed normally.
It is placed on shared hardware, not on your dedicated nodes. Dedicated placement applies only when the machine asks for it through node affinity.
Yes, as long as the machines belong to a compatible family and fit together within the node’s processors and memory. Standardizing sizes improves packing.
Templates are blueprints and are not edited in place. To change labels or the node type you create a new template and build a new group from it.
Choose the default for simplicity, restart in place when licenses require staying on the same hardware, and migration within the group when you need continuity inside your own nodes and can hold spare capacity.
Yes. Node groups support autoscaling modes including off, on, and scale-out only. Many teams prefer scale-out only so they control when capacity is removed.
It improves host-level separation, but you still need patching, identity controls, network rules, and encryption. It is one layer, not the whole defense.
Yes, within your organization, through sharing settings. Use labels and reports so that each team sees its own usage and cost.
Pack machines tightly, use autoscaling carefully, review utilization on a schedule, and delete groups that no longer meet a requirement.
The official Compute Engine sole-tenancy documentation and pricing pages are the source of truth. Node types, prices, and policies change over time and differ by region and zone.
24Summary and Key Takeaways
Sole-tenant nodes give you a physical Compute Engine server that hosts only your virtual machines. You choose a node type, capture it in a template, build a node group in a zone, and steer virtual machines onto it with affinity rules. Maintenance policies, autoscaling, and overcommit let you balance continuity, capacity, and cost. The model pays off when a clear requirement exists, such as compliance, per-core licensing, or strict isolation, and when you can keep nodes well filled. It disappoints when it is adopted by habit. Keep dedicated hardware for what truly needs it, enforce placement through templates and policy, plan headroom and zones, and always verify current limits, prices, and license terms in official sources.
Key Takeaways
- A node is a dedicated physical server — only your projects, or projects you share with, run virtual machines on it, while the instances themselves stay ordinary.
- Template, group, then machines — node types define hardware, templates add labels, groups create nodes in a zone, and affinity rules place machines.
- Affinity must be enforced — a machine without rules lands on shared hardware, so bake rules into templates and verify placement.
- Pick the maintenance policy deliberately — default for simplicity, restart in place for hardware-bound licenses, migration within the group for continuity inside your nodes.
- You pay for the whole node — plus a ten percent premium, so utilization, commitments, and cleanup decide whether it is economical.
- Plan capacity as a packing problem — standardize sizes, keep headroom, use scale-out-only automation, and spread critical services across zones.
- Sole-tenancy is one layer of security — combine it with patching, least privilege, network controls, encryption, and written license confirmation from vendors.