Book Image

Troubleshooting Puppet

By : Thomas Uphill
Book Image

Troubleshooting Puppet

By: Thomas Uphill

Overview of this book

Table of Contents (14 chapters)

Chapter 6. PuppetDB and Puppet Server

In the early days of Puppet, the only mechanism that could be used to store node data was a MySQL database. This database was used as the repository of external resources. This worked very well for small installations. When Puppet installations grew beyond small deployments of less than 1000 nodes, this mechanism broke down. The database couldn't keep up with the demands of all the nodes. A new system was developed that at first seemed quite complex, but it was mostly constructed out of necessity. The new system uses a web server to present a REST API. The REST API takes requests and sends them to a middleware message broker, which then routes the requests to a database. This new system is called PuppetDB. PuppetDB increased the number of nodes a single backend server could service from around 800 nodes to over 5000. The backend database server was changed from MySQL to PostgreSQL as well.