# Architecture Overview

This article describes the overall architecture for Platform9 Self Managed Cloud Platform (SMCP).

Platform9 SMCP consists of three major components that make up the product:

* **The Management Server**: This is the main element that provides component management
* **Host Components**: These are cluster elements that make management of the Kubernetes cluster possible.
* **Utilities:** The CLI that aids in setting up the management server

The illustration below is an approximate overview of the configured architecture. It is divided into two main types of hardware:

* A Management Cluster
* The cluster machines

<figure><img src="https://1579257908-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgOAZI28gS3Bp6LuO0Qjs%2Fuploads%2Fgit-blob-8996cd5677a9ec6e6b1ffe925333c77b63d68a56%2Fk05hrv570pm2pqa97y529rz412jlxxxmt0hnkdm505fq915kd43o8eeffzmh7r0a.jpg?alt=media" alt=""><figcaption></figcaption></figure>

## Management Cluster

One of the key prerequisite is a place to install different utilities and the management plane. A management station or deployment host assumes that responsibility. The management cluster is a machine where the management plane can run and also has the necessary connectivity from which users can access all the Kubernetes nodes. This host can be a small workstation like an Intel (Next Unit of Computing) NUC.

## The Management Plane

The **Platform9 Management Plane**, is a unit of deployment that typically represents a region for a given customer. It provides APIs for managing PMK clusters. The management plane runs as a group of containerized services on a Kubernetes cluster. The Management plane is the component that contains various functions like the following:

* Authentication services
* Cluster management services
* Host management services
* Security and tunneling services
* Data services, including message queues and databases
* Monitoring services like Grafana or Prometheus

Further details can be found on the [auto$](https://github.com/platform9/pcd-docs-gitbook/blob/main/PEC/management-plane/README.md) page.

## Cluster Components

Each management service controls one or more Kubernetes clusters, each cluster contains not only the Kubernetes services but also the services/components needed to help manage the Kubernetes cluster itself and other add-ons. These include:

* Kubernetes components like the api-server, scheduler, etcd, kubelet etc.
* CNIs: Calico, Flannel, SRIOV etc.
* Monitoring: Prometheus
* Supporting services to manage and upgrade the Kubernetes cluster.

Further details on the cluster internals can be found on the [auto$](https://github.com/platform9/pcd-docs-gitbook/blob/main/kubernetes/host-internals/README.md) and [Cluster Internals](https://github.com/platform9/pcd-docs-gitbook/blob/main/platform9-docs/5.10/kubernetes/cluster-internals/README.md) page.
