Back to Articles
puppet April 17, 2017

Scaling Puppet Enterprise — Introduction

JS
Jerald Sheets

Over the years of consulting with Puppet, I've had the pleasure of seeing quite a number of different configurations and setups from multiple clients. I've seen small environments, large environments, and everything in between. For some years now, Puppet Labs has put out a wonderful reference architecture for building a "Large Environment Installation" or LEI.

In this series, we'll walk through a full Puppet Enterprise split installation step-by-step — from the initial install through adding compilers, configuring ActiveMQ hubs and spokes, setting up GitLab for code management, and finally configuring Code Manager for deployment workflows.

Why Scale Puppet Enterprise?

As your infrastructure grows, a single monolithic Puppet master becomes a bottleneck. Catalog compilation, certificate signing, file serving, and report processing all compete for the same resources. Puppet's Large Environment Installation splits these responsibilities across multiple nodes:

  • CA/Master of Masters (MoM) — Certificate authority and primary configuration server
  • PuppetDB — Centralized storage for node data, catalogs, and reports
  • Console — Web-based management interface
  • Compilers — Additional catalog compilation capacity
  • ActiveMQ Hub/Spokes — Scaled MCollective messaging

Series Overview

  • Part I — Introduction (this article)
  • Part II — Installation
  • Part IIIa — Additional Compilers
  • Part IIIb — Additional Compilers (continued)
  • Part IV — ActiveMQ Hub and Spokes
  • Part V — GitLab
  • Part VI — Code Manager
Each part includes real-world configurations and lessons learned from production deployments. Whether you're managing 500 or 50,000 nodes, these patterns will help you build a robust, scalable Puppet infrastructure.

Related Articles

Need Help With Your Infrastructure?

We can help you implement the patterns and practices discussed in our articles.

Get in Touch