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