Server Farmer is a lightweight framework designed for companies, that manage many servers and services belonging to many different customers, but connected into a single managed platform.

Advantages of Server Farmer over manual server management

No matter if you manage just a single server, or hundreds of them, installing Server Farmer gives you many advantages over default OS configuration:

  • consistent and reliable tools to manage many servers at once (or one by one)
  • several monitoring capabilities
  • automatic, possibly encrypted backups
  • working MTA configuration (your servers are now able to send emails)
  • central logging configuration (all logs are stored and processed in one place, enhancing security of your infrastructure)
  • more secure configurations of several system components (depending on OS version)
image

Advantages of Server Farmer over competitive tools

There are many similar solutions: Puppet, Chef, Ansible, cfengine are the most popular ones. What they have in common is that all of them:

  • require much more resources just to be run
  • utilize much more resources to handle typical tasks
  • have way more steep learning curve
  • are way more expensive to set up and use

Server Farmer basic configuration can be set up just in a few minutes and then extended, when your server farm is growing. You can also implement your own functional extensions (just like Ansible playbooks or Chef recipes, but much more simple), that will cover completely new functionalities.

Server Farmer is the ideal tool to manage customers, who have 1-3 servers each (up to let's say 1-20 servers), where most of such servers run well-known applications and their configuration is similar to each other and close to OS defaults where possible.

Limitations

On the other hand, Server Farmer is not designed to handle monolithic, functionally complicated farms belonging to a single corporation, when there are server groups, roles etc. In general, Server Farmer allows 2 ways of managing servers:

  • per single individual server
  • all servers in a farm at once

There are certain exceptions, eg. backup collector role can pull backups for a given group of servers, however most of the management work for individual customers is done per server basis.

Server Farmer is designed to be run in one-instance-to-manage-them-all (when there is a central management server that is able to connect to all managed servers via ssh, possibly using non-standard port). This may be not acceptable in corporate environments implementing high security standards like PCI DSS, which require that infrastructure management (and access rights for IT staff) is sliced into layers in a way that guarantee 4-eyes-from-2-teams principle (or similar).