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

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
  • 135,853
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
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,735