Hardware requirements

Before installing Puppet Enterprise, consider the architecture type that best suits your needs. Additionally, we provide hardware requirements based on internal testing.

Choosing a PE architecture

There are two base installation types for Puppet Enterprise: monolithic and split. In most cases, a monolithic installation should suit your needs.

  • Monolithic installation(Recommended): The Puppet master, the PE console, and PuppetDB (with PostgreSQL) are all installed on one node. Because all components are on one node, this installation type is easier to install, upgrade, and troubleshoot. You can expand this installation type, and manage up to 20,000 nodes, by adding compile masters to it.
  • Split installation: the Puppet master, the PE console, and PuppetDB (with PostgreSQL) are each installed on separate nodes. You should only use this installation type if you have a limit on the number of cores per server you can have, or if you are managing 20,000+ nodes and require a large environment installation (LEI).

As your deployment grows, your path will likely go something like this:

  1. You’ll install a monolithic installation on one node for managing tens to hundreds of nodes.
  2. As you expand and bring more nodes under PE management, you’ll increase the resources available to your monolithic installation by providing more CPUs and RAM.
  3. As you expand into managing thousands of nodes, you’ll add compile masters to distribute the agent catalog compilation workload.
  4. If your deployment grows even larger, you’ll migrate from a monolithic installation to a split/LEI.

Hardware requirements

We provide the following hardware requirements for Puppet Enterprise. These requirements may vary depending on the size and complexity of your PE infrastructure.

We provide recommendations for the following installation types:

  • Monolithic
  • Monolithic with compile masters
  • Split/LEI

Monolithic installation

To manage 10 or fewer nodes, we recommend the following minimum hardware:

Node volume Cores RAM /opt/ EC2
10 or fewer 2 6 GB 20 GB m3.xlarge instance

To manage more nodes you will need to upgrade your hardware. The default configuration of PE is tested to support up to 4000 nodes. To manage this many nodes, we recommend the following minimum hardware:

Node volume Cores RAM /opt/ /var/ EC2
10 - 4000 16 + 32 + GB 100 GB 10 GB m3.xlarge or c4.4xlarge

To take full advantage of progressively larger hardware, you’ll need to configure PE to make use of those resources. See our guide to configuring and tuning your PE infrastructure for more information.

Tuning monolithic installations (reference) provides tuning information for various sizes of monolithic installations.

Monolithic with compile masters installation

If you are managing more than 4000 nodes, you can add load-balanced compile masters to your monolithic installation to increase the amount of agents you can manage.

Each compile master increases capacity by approximately 1500 - 3000 nodes, until you exhaust the capacity of PuppetDB or the PE console, which run on the MoM. If you start to see performance issues around 8000 nodes, you can adjust your hardware or move to a larger base infrastructure.

Note: When you expand your deployment to use compile masters, you must also start using load balancers. It is simpler to upgrade your hardware in your monolithic installation, if you can, than to add compile masters and load balancers.

To manage more than 4000 nodes, we recommend the following minimum hardware:

Node volume Node Cores RAM /opt/ /var/ EC2
4000 - 20,000 Monolithic node 16 32 150 10 c4.4xlarge
Each compile master (1500 - 3000 nodes) 4 16 30 2 m3.xlarge

To take full advantage of progressively larger hardware, you’ll need to configure PE to make use of those resources. See our guide to configuring and tuning your PE infrastructure for more information.

Note: If you need to go beyond 20,000 nodes contact Puppet support or your sales team before setting up a large environment installation.

Large environment installation

A large environment installation is a high-capacity PE infrastructure. It runs on a split installation with additional compile masters and ActiveMQ message brokering. This installation is suitable for managing over 20,000 nodes.

We recommend, at minimum, the following hardware:

Node volume Node Cores RAM /opt/ /var/ EC2
over 20,000 Puppet master 4 16 10 42 m3.xlarge or m4.xlarge
PE console 4 4 30 22 m3.xlarge or m4.xlarge
PuppetDB 32 48 200 70 m3.2xlarge
(3) Compile master 4 16 30 42 m3.xlarge or m4.xlarge
ActiveMQ hubs 2 4 10 18 m3.large instance
ActiveMQ Spoke 2 4 10 18 m3.large

With this installation type, you will be able to support more nodes by adding more resources to PuppetDB and increasing the number of compile masters you have.

↑ Back to top