Suggestions for managing many servers config

Hi

I just wondered if anyone knows of or uses multiple server management software or something to manage many servers.

We have a few Linodes used for Web Hosting, and have on them Virtualmin/Webmin which would install Apache/MySQL/PHP and we installed CSF Firewall.

We constantly update CSF config, and sometimes other settings like server software updates, and the more servers we add the more time consuming it is. Its already a pain with 3 servers.

I have read about Puppet but am concerned about their pricing over 25 nodes, its over $2500 per year when you get to that level. Maybe if we get to that level we wont need to worry about the cost as we make enough profit.

Nevertheless, before we try it, I wondered if anyone has experience with this and others, what would people recommend to be able to manage server configs easier? And to have them all the same? So if I turn on DYNDNS in CSF for example, I want it done on all machines automatically.

Thanks!

8 Replies

I think you may be confusing Puppet with Puppet Enterprise. Puppet is free, while Puppet Enterprise is free for the first 10 nodes. See http://puppetlabs.com/puppet/enterprise-vs-open-source/ to figure out if you really need Puppet Enterprise.

Yes you're right… the GUI aspect of Enterprise swayed me to that, I guess I would have to find out if I need that or not, I usually go for GUIs as they are easier and less pront to mistakes.

Puppet open source gets my vote. It's really easy to configure and easy to make what they call "manifests" which are the files that contain what you want puppet to do for you.

There's guides in the library:

http://library.linode.com/application-s … stallation">http://library.linode.com/application-stacks/puppet/installation

http://library.linode.com/application-s … automation">http://library.linode.com/application-stacks/puppet/automation

Simple example of what you can do:

Let's say you want to install a bunch of packages on several machines, make sure they're running and chkconfig is On:

node default {
        $packages = [ "fail2ban", "htop", "pv", "screen" ]
        package { $packages: ensure => installed }

        $services = [ "crond", "fail2ban", "puppet" ]
        service { $services: ensure => running, enable => true }
}

default - my node group with all my nodes in it

$packages = [ "fail2ban", "htop", "pv", "screen" ] - specify which packages I want installed

package { $packages: ensure => installed } - ensure the packages are installed via yum, apt or whatever your machine uses

$services = [ "crond", "fail2ban", "puppet" ] - same as package, define which services we want to control

service { $services: ensure => running, enable => true } - ensure the services are running and chkconfig is set to On

Website with more simple examples : http://www.puppetcookbook.com/

Puppet also has a pretty big community so you'll find lots of stuff on google.

Thanks for that. Have you had experience with GUI offered in the enterprise? Wondered if it's worth it. I shall be trying myself soon just havent had the time yet!

Alongside Puppet, Chef is another configuration management system I often hear mentioned. Don't have personal experience with either to share, though.

@amityweb:

Thanks for that. Have you had experience with GUI offered in the enterprise? Wondered if it's worth it. I shall be trying myself soon just havent had the time yet!
No prob. No, sorry. I only have experience with the command line.

@Vance:

Alongside Puppet, Chef is another configuration management system I often hear mentioned. Don't have personal experience with either to share, though.
Chef is more aimed towards dev ops than sys admins though, so personally, I think it's more complicated than puppet. Chef uses pure Ruby also.

+1 for puppet, I'm about to roll that out on 30+ servers and have been playing a lot with it lately. Absolutely awesome.

Actually, we heavily depend on Puppet for the centralized config management. We manage about 140+ instances on different cloud-providers and it works very well for us. Currently, about 74 of them are Linode instances. Most of these customer environments are any combination of Apache/Nginx/PHP/ruby/MySQL/MongoDB stacks and all managed centrally with Puppet (with full setup mgd in subversion).

We are a provider of fully managed hosting on Linode with automated offsite backups, extensive monitoring and a full proactive management and service.

Our English site is in the works, but we already work with customers all over the world.

Feel free to contact me if your interested!

Regards,

Frederik Denkens

Managed cloud hosting

http://ilibris.be

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct