// Module included in the following assemblies:
//
// * rosa-architecture-models.adoc

:_mod-docs-content-type: CONCEPT
[id="rosa-hcp-classic-comparison_{context}"]
= Comparing {hcp-title-first} and {rosa-classic-title}

.{hcp-title-first} and {rosa-classic-title} architectures comparison table

[cols="3a,8a,8a",options="header"]
|===
| {nbsp} +
| *Hosted Control Plane (HCP)*
| *Classic*

| *Control plane hosting*
| Control plane components, such as the API server etcd database, are hosted in a Red{nbsp}Hat-owned AWS account.
| Control plane components, such as the API server etcd database, are hosted in a customer-owned AWS account.

| *Virtual Private Cloud (VPC)*
| Worker nodes communicate with the control plane over link:https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html[AWS PrivateLink].
| Worker nodes and control plane nodes are deployed in the customer's VPC.

| *Multi-zone deployment*
| The control plane is always deployed across multiple availability zones (AZs).
| The control plane can be deployed within a single AZ or across multiple AZs.

| *Machine pools*
| Each machine pool is deployed in a single AZ (private subnet).
| Machine pools can be deployed in single AZ or across multiple AZs.

| *Infrastructure nodes*
| Does not use any dedicated infrastructure nodes to host platform components, such as ingress and image registry.
| Uses 2 (single-AZ) or 3 (multi-AZ) dedicated infrastructure nodes to host platform components.

| *OpenShift capabilities*
| Platform monitoring, image registry, and the ingress controller are deployed in the worker nodes.
| Platform monitoring, image registry, and the ingress controller are deployed in the dedicated infrastructure nodes.

| *Cluster upgrades*
| The control plane and each machine pool can be upgraded separately.
| The entire cluster must be upgraded at the same time.

| *Minimum EC2 footprint*
| 2 EC2 instances are needed to create a cluster.
| 7 (single-AZ) or 9 (multi-AZ) EC2 instances are needed to create a cluster.
|===