1

My company is considering adopting Puppet to manage our infrastructure. We've heard that Puppet is not as efficient as other solutions such as CFEngine. Does anyone have any hard data about how many nodes a Puppet server can support? Is there a sizing or best practices document about this? So far I can't find anything regarding Puppet 3.

Editing for more specifics. We are looking at starting out with 4000 nodes spread across 3 physical locations and plans are to spread to up to 10k nodes throughout these locations and spanning to public cloud providers. We are using CentOS 5 and 6 for these nodes. Is puppet the correct tool for this? How many puppetmasters should I plan for to manage 4000 nodes?

ppyhd
  • 13
  • 4
  • Wiki says: *"Puppet is used by Wikimedia Foundation, ARIN, Reddit, Dell, Rackspace, Zynga, Twitter, New York Stock Exchange, Disney, Citrix Systems, Oracle, The University of North Texas, Los Alamos National Laboratory, Stanford University, and Google, among others."* I think it can handle large installs. – ceejayoz Mar 12 '13 at 17:04
  • I realize that it works and can probably handle it. What I would like to know is specifics. How many nodes can a single puppetmaster support? What are the recommended specs for a puppetmaster server? I can't find this data anywhere. – ppyhd Mar 12 '13 at 17:10

3 Answers3

6

Puppetmaster scaling depends on a number of variables, unfortunately. There isn't a planning document you can reference to see how many nodes you can throw at a master before you need to start getting fancy with things.

The following environmental differences affect the master-to-node ratio:

  • The number of files pulled during a cycle
  • The frequency of Agent updates of catalog data
  • The frequency of unstaged nodes getting staged up (rationalizing an existing node is fast, staging up a brand new one is expensive)
  • The complexity of the modules being applied
  • Any plugins that may be used above and beyond what comes stock

Get the wrong mix and even 500:1 will be too much. Get it right and you can go into the four or even five figures to one.

sysadmin1138
  • 131,083
  • 18
  • 173
  • 296
  • x2 for this one. Start by setting up your most important modules, then benchmark and fine tune your configuration. There are several ways that puppet be optimised. See http://docs.puppetlabs.com/guides/scaling.html for a start. – J Adams Mar 12 '13 at 19:07
1

i would advice that you throw in some numbers on this question.

i have seen big puppet enviroments (1200+ Servers).

at least try to answer these:

  • number of nodes you want to serve ?
  • one DC or multiple DC#s (archtiecture design is important on this) ?
  • how many differen OS's are you useing ? (which linux distros + Versions) ?

i think then the picture is more clear to answer.

chifiebre
  • 141
  • 3
1

Puppetmaster by default comes with a server running on WebBrick - this is a simple solution that will run (depending on complexity of manifests) ok up to 50-60 hosts. For anything beyond this you will need to scale it. The simple way to scale a single master is using apache and mod_passanger - http://projects.puppetlabs.com/projects/1/wiki/using_passenger

There are different solutions and it depends mostly on how you plan to use the puppetmaster. In a simple setup you could simply add a number of puppetmasters that are load balanced. The only problem in this case will be to sync the certificates and manifests. In order to 'fix' the certificates you can move the CA part from the puppetmasters to a dedicated servers (have two with ha).

To answer your question in regards to Cfengine, Puppet has more options to scale.

silviud
  • 2,677
  • 2
  • 16
  • 19