Skip to content

Resource requirements for SAAP installation

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) 36 44
Memory (Gib) 208 240
Storage Block (Gib) 900 1100
Storage Snapshots (Gib) 330 330
Storage Buckets 1 1
Load Balancers * 3 3
Public IPs 2 2

* 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 vCPU Total Memory (GiB) Total Storage (GiB)
Master 4 x 32 x 100 3 12 96 300
Infra 4 x 16 x 100 2 8 32 200
Monitoring 4 x 32 x 100 1 4 32 100
Worker 4 x 16 x 100 3 12 48 300
Total 9 36 208 900

The recommended resource requirements are:

Machine pool role Minimum size (vCPU x Memory x Storage) Minimum pool size vCPU Total Memory (GiB) Total Storage (GiB)
Master 4 x 32 x 100 3 12 96 300
Infra 4 x 16 x 100 2 8 32 200
Monitoring 4 x 32 x 100 1 4 32 100
Logging 4 x 16 x 100 1 4 16 100
Pipeline 4 x 16 x 100 1 4 16 100
Worker 4 x 16 x 100 3 12 48 300
Total 11 44 240 1100

Compute

3 x Master

The control plane, which is composed of master nodes, also known as the control plane, manages the SAAP cluster. The control plane nodes run the control plane. No user workloads run on master 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

No user workloads run on infrastructure 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.

No user workloads run on monitoring 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

No user workloads run on logging 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

No user workloads run on pipelines 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. See Resource Requirements)
  • 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 © 2022 Stakater AB – Change cookie settings