After reading What solutions exist to allow the use of revision control for server configuration files?, I decided to install etckeeper on my server.

However, it's a one-server setup, so I only have one physical machine and no load balancer, etc. because there's only one destination to route traffic to (plus I don't have a second machine to do the job).

I assume that it's still worth it to use etckeeper, because it's tracking the local machine.

My real question is whether it's worth it to "upgrade" to something like Puppet or Chef, given that I only have one server. And if so, why?

  • 3
    Sounds like a lot of effort with very little return. Solid backups and config file version control are probably all you need. – SpacemanSpiff Jun 20 '13 at 21:34
  • and i'm assuming git wouldn't be enough to count as a solid backup? – strugee Jun 20 '13 at 21:35
  • 3
    Git is just version control, you need a copy of this data somewhere else other than this server. You could probably keep that simple too, and RSYNC it off somewhere, anywhere. – SpacemanSpiff Jun 20 '13 at 21:37
  • yeah, ok. would just pushing the git-tracked /etc directory somewhere else be enough? e.g. set up a cronjob to `etckeeper vcs push <remote>"? – strugee Jun 20 '13 at 21:38
  • 3
    One server now doesn't mean one server always. – ceejayoz Jun 20 '13 at 21:38

This depends: How long will you be one server?

Some things you always do.
Like backups, and backups, and - oh yeah, BACKUPS.
Preferably backups that go somewhere other than your server, and get regularly restore-tested.

Some things don't ever make sense to do for a single server:
You wouldn't run a load balancer on a single machine pointing traffic back to itself. Even if you eventually intend to have a farm of servers you would wait until you got your second machine to implement load balancing.

Other things don't make sense to do for an environment that will always be a single server:
My personal website is served from a single machine. I never intend to make it redundant, or to serve enough traffic to load balance it. Therefore I don't use puppet/chef/radmind to manage the machine.
In my case I don't even use etckeeper - I just copy the files to a .bak when I'm making major changes - but if you want to use a tool it's perfectly fine.

Everything else is a judgment call.
If you want to learn Puppet this is a great way to do so.
If you know you'll have 10 machines this time next year having Puppet already set up and working will make new deployments much quicker ; Conversely if you know you'll be one machine for the next 3-5-10 years and you don't have the time to master a new tool you can certainly put it off for a while...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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