Documentation

Plan your Capacity and Pricing

Successful capacity planning for CI/CD infrastructure is crucial to make sure that when your continuous delivery workflows grows, you can still deliver production-ready platform and best developer experience. This also includes cost-effective infrastructure at scale.

The Operator Service for Jenkins® on Azure utilizes Kubernetes autoscaling capability to deal with horizontal scaling in case of increasing number of configured jobs or more frequent builds. However, when it comes to vertical scaling, you need to consider a few important aspects first:

  • Technology stack and typical build size – is it compute-heavy JVM performance testing job or just low-footprint compile process?
  • Number of concurrent builds – how many jobs you expect to be running at the same time?
  • Multi-tenant Jenkins instance – how many teams need to run their CI/CD processes within a single Jenkins instance

Infrastructure Capacity

Taking these things into consideration you need to decide on the initial settings when installing Operator Service for Jenkins. This involves Azure Kubernetes Service (AKS) instance size, Virtual Network (VNet) address space, etc.

The Operator Service for Jenkins infrastructure consists of the following Azure resources:

  • Virtual Machine Standard_D1_v2
  • Azure Storage Account Standard_LRS File Storage
  • Azure Kubernetes Service (AKS) – instance size is fully configurable
  • Azure Virtual Network, Subnet and Route Table – IP address space size is fully configurable

According to the typical deployment size, we advise our customers to use the example plans below.

Proof-of-Concept

Virtual Network CIDR: /26

Maximum Kubernetes nodes: 2

VM Size: Standard_D2s_v3 (2 x CPU and 8GB RAM)

Average Azure infrastructure costs 91 $ per month.

Small

Virtual Network CIDR: /25

Maximum Kubernetes nodes: 3

VM Size: Standard_D2s_v3 (2 x CPU and 8GB RAM)

Average Azure infrastructure costs 109 $ per month.

Medium & Production-Ready

Virtual Network CIDR: /24

Maximum Kubernetes nodes: 5

VM Size: Standard_D2s_v3 (2 x CPU and 8GB RAM)

Average Azure infrastructure costs 147 $ per month.

Large & Multi-Tenant

Virtual Network CIDR: /23

Maximum Kubernetes nodes: 10

VM Size: Standard_D4s_v3 (4 x CPU and 16GB RAM)

Average Azure infrastructure costs 241 $ per month.

All infrastructure costs above are based on Azure Pricing Calculator assuming full AKS utilization during working hours (roughly 160h per month).

Costs Optimisation

To prevent the customer from charging for idle cloud resources, the built-in cluster autoscaler will scale down unused Jenkins agent nodes accordingly. In case of an additional compute resources needed for new builds, the cluster autoscaler will add new Jenkins agent nodes.