Skip to content

Sizing

Glossary:

User workloads: User applications (e-commerce frontend, backend APIs, etc.)

SAAP workloads: Supporting applications for software lifecycle

Summary

Resource requirements for a single SAAP cluster is as follows:

Resource Minimum Recommended
vCPUs (m) 60 76
Memory (Gib) 240 304
Storage Block (Gib) 2850 3450
Storage Snapshots (Gib) 330 330
Storage Buckets (Backups) 1 1
Load Balancers* 3 3
Public/Floating IPs 2 2

Note

  • Load Balancers are only required for AWS, Azure and GCP.

Minimum

The overall minimum resource requirements are:

Machine pool role Minimum size (vCPU x Memory x Storage) Minimum pool size Total vCPUs Total Memory (GiB) Total Storage (GiB)
Control plane 8 x 32 x 350 3 24 96 1050 (Provisioned IOPS 1000)
Infra 8 x 32 x 300 3 24 96 900 (General Purpose SSD)
Worker 4 x 16 x 300 3 12 48 900 (General Purpose SSD)
Grand Total 9 60 240 2850

The recommended resource requirements are:

Machine pool role Minimum size (vCPU x Memory x Storage) Minimum pool size Total vCPUs Total Memory (GiB) Total Storage (GiB)
Control plane 8 x 32 x 350 3 24 96 1050 (Provisioned IOPS 1000)
Infra 8 x 32 x 300 2 16 64 600 (General Purpose SSD)
Monitoring 8 x 32 x 300 1 8 32 300 (General Purpose SSD)
Logging 8 x 32 x 300 1 8 32 300 (General Purpose SSD)
Pipeline 8 x 32 x 300 1 8 32 300 (General Purpose SSD)
Worker 4 x 16 x 300 3 12 48 900 (General Purpose SSD)
Grand Total 11 76 304 3450

Compute

3 x Control plane

The control plane manages the SAAP cluster. The control plane nodes run the control plane.

Note

  • No user workloads run on control plane nodes.

2 x Infra

At least two infrastructure nodes are required for the SAAP infrastructure workloads:

SAAP component vCPU requirement (m) Memory requirement (GiB)
Stakater Forecastle 50 0.20
Stakater Ingress Monitor Controller 150 0.60
Stakater Kubehealth (SAAP components monitoring) 150 0.40
Stakater Multi Tenant Operator 600 1.20
Stakater Konfigurator 20 0.30
Stakater Reloader 20 0.50
Stakater Tronador 100 0.20
cert-manager 100 1.50
External Secrets operator 50 0.30
Kubernetes replicator 50 0.30
group-sync-operator 50 0.10
Helm operator 500 0.80
Nexus 200 1.60
OpenShift GitOps 530 0.50
OpenShift Image Registry 50 0.40
OpenShift Router 300 0.30
SonarQube 350 1.50
Vault 255 0.36
Velero 500 0.15
Volume Expander Operator 50 0.10
Total 4275 11.61

Note

  • No user workloads run on control plane nodes.

1 x Monitoring

Monitoring components to monitor SAAP workloads and user workloads are deployed on monitoring nodes. The monitoring stack includes the Prometheus stack (Prometheus, Grafana and Alertmanager).

Minimum one monitoring node must be used for all production deployments. For high availability consider using two monitoring nodes.

Type of monitoring SAAP component vCPU requirement (m) Memory requirement (GiB)
Infrastructure
Alertmanager 500 1.00
Grafana 50 0.10
Node exporter 50 0.50
Prometheus 2500 7.50
Thanos 50 0.20
User Workloads
Alertmanager 20 0.25
Grafana 20 0.10
Prometheus 100 2.50
Total 3290 12.15

For more details of monitoring, please visit Creating Application Alerts.

Note

  • No user workloads run on control plane nodes.

1 x Logging (optional)

Logging components aggregate all logs and store them centrally. These components run on logging nodes. The logging stack includes the EFK stack (Elasticsearch, Fluentd and Kibana).

The logging pool is optional, if there is no need for it, it will not be deployed. Logging infrastructure is still highly recommended for troubleshooting purposes.

Minimum one logging node is required. For high availability consider using three logging nodes.

SAAP component vCPU requirement (m) Memory requirement (GiB)
Collector 200 2.0
Elasticsearch 500 4.0
Fluentd 20 0.6
Kibana 300 0.5
Total 1020 7.1

Note

  • No user workloads run on control plane nodes.

1 x Pipeline (optional)

Pipeline nodes hold pods running for Tekton based CI/CD pipelines.

The pipeline pool is optional, if there is no need for it, it will not be deployed.

Minimum requirements for pipeline infrastructure is:

SAAP component vCPU requirement (m) Memory requirement (GiB)
OpenShift pipelines 100 0.2

Note

  • No user workloads run on control plane nodes.

3 x Worker

In a SAAP cluster, users run their applications on worker nodes. By default, a SAAP subscription comes with three worker nodes.

Storage

Block Storage

SAAP uses high performance disks i.e. SSDs for storage requirements which includes:

  • Boot Volumes (attached to nodes for OS)
  • Persistent Volumes (Additionally attached volumes for application consumption)

Following are the storage requirements used as Persistent Volumes consumed by SAAP workloads:

SAAP component Volume Size (GiB)
Elasticsearch Logging 300
Nexus 100
Prometheus - Infrastructure Monitoring 100
Prometheus - workload Monitoring 100
SonarQube 15
Vault 10
Total 625

Object Storage

1 x Object storage bucket is required for keeping Backups of Kubernetes Objects.

Volume Snapshot Requirements

Volume Snapshots are backups of volumes for critical SAAP workloads that only include Nexus and Vault

By default backups are taken daily and are retained for 3 days. So at a given instance 3 day old backups for SAAP workloads are kept.

SAAP component PV size backup frequency Backup size (GiB)
Nexus 100 3 300
Vault 10 3 30
Total 330

Network

Load Balancers

For AWS, Azure, GCP

Each SAAP cluster deploys 3 x Loadbalancers:

  • 2 x Public (for cluster API and cluster dashboard)

  • 1 x Private (for control plane communication)

For OpenStack

No LoadBalancers required.

Floating IPs

For AWS, Azure, GCP

No additional Floating IPs/Public IPs are required.

For OpenStack

2 x Floating IPs are required (for cluster API and cluster dashboard).

Copyright © 2023 Stakater AB – Change cookie settings