# Turboscale architecture

**Zentitle will automatically scale to demand across the stack.**

* Initially, HPA adds new instances (pods) of individual applications (e.g., Licensing API and Core Service).&#x20;
* As the whole cluster reaches capacity, Karpenter adds new nodes.&#x20;
* The reverse is true as demand reduces.
* AWS RDS Aurora is used to auto-scale the database.

**HPA (Horizontal Pod Autoscaling)**

<div align="left"><figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2F4EraekZ9UyDhpGnjpS5n%2Fhpa.png?alt=media&#x26;token=266e20a2-7733-4dae-ad30-b415d417b85e" alt=""><figcaption></figcaption></figure></div>

• Observe services for CPU/Memory pressure and modify instances as needed

• Horizontal scaling means deploying more Pods to respond to increased load. This is different from vertical scaling, which for Kubernetes would mean assigning more resources (e.g., memory or CPU) to the Pods that are already running for the workload.

**Karpenter**

<figure><img src="https://2412542193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1tBhTGn5igyI6ECLHjpC%2Fuploads%2FRSRaUHeAXbIYu4XXHXCD%2Fkarpenter-overview.png?alt=media&#x26;token=f389854e-2250-4328-91d6-c2c7b7621547" alt=""><figcaption></figcaption></figure>

• Observe the whole Kubernetes cluster and add/remove nodes (AWS EC2 virtual machines) to the cluster as demand requires

• Karpenter automatically launches the compute to handle your cluster's applications.
