4

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?

6
  • 3
    Sounds like a lot of effort with very little return. Solid backups and config file version control are probably all you need. Jun 20, 2013 at 21:34
  • and i'm assuming git wouldn't be enough to count as a solid backup?
    – strugee
    Jun 20, 2013 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. Jun 20, 2013 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, 2013 at 21:38
  • 3
    One server now doesn't mean one server always.
    – ceejayoz
    Jun 20, 2013 at 21:38

1 Answer 1

3

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...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .