Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

This question already has an answer here:

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?

share|improve this question

marked as duplicate by Michael Hampton, Dave M, mdpc, Khaled, dunxd Mar 14 '13 at 12:00

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
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 Answers 3

up vote 5 down vote accepted

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.

share|improve this answer
    
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 docs.puppetlabs.com/guides/scaling.html for a start. –  J Adams Mar 12 '13 at 19:07

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.

share|improve this answer

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.

share|improve this answer
    
But CFEngine is more mature... Granted, Puppet has the momentum now. –  ewwhite Mar 12 '13 at 23:47
    
I would say Chef has the momentum now ... –  silviud Mar 13 '13 at 0:01
    
I hadn't thought of that... Chef seems to have DevOps momentum, where more traditional SysAdmins seem to prefer Puppet. I'm just behind in all counts. –  ewwhite Mar 13 '13 at 0:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.