# Maintaining multiple VPS servers



## uzsolt (Apr 17, 2017)

Hello,
I've a simple question. I'm not system administrator so maybe my knowledge is a bit outdated.
So, I've 4 simple, cheap VPS servers (web, builder, devel (port maintaining) and backup) and it's a little complicated thing to login to every server and run `pkg upgrade` or `freebsd-update fetch install`. I think (hope) there is a better solution. What is the best method?


----------



## uzsolt (Apr 17, 2017)

Oh, okay, not complicated 
But I think there is a solution to automatize these upgrades, for example security/pssh.


----------



## sko (Apr 19, 2017)

To manage multiple Systems it is mostly the easiest way (long term) to use some kind of configuration management.
I'm using Ansible at work and even for my small handful of servers/jails at home because it needs practically no setup or additional infrastructure (like databases, controller, client packages/services...). Install the package on your workstation, declare your hosts in the inventory file and you are essentially good to go to issue basic commands to your hosts. No client service on the hosts is needed as ansible uses ssh for connections, so your existing ssh-keys can be used.

Ansible allows for ad-hoc commands and small, basic tasks like in your case performing upgrades, as well as fully-fledged automated deployments of multiple machines with dozens of services. A host that has been configured with ansible is practically reproducible, so e.g. migrating from a VPS to a physical server in the future becomes a really straightforward task. I even migrated some services from debian linux to FreeBSD by only adapting/generalizing the roles and tasks, so they can be used in playbooks for both OSes.

I can really recommend taking a look at Ansible - it makes life so much easier when you are handling multiple systems and it's minimalistic approach means you don't have to learn and wrestle yet another huge beast with its own language. It uses rather basic YAML for scripting, which can be picked up alongside while making first steps and the threshold of what you actually need to know to get started is very low. You can basically start using Ansible within a few minutes and just keep it as simple as you like or get into the more advanced stuff as you want or when you need it.


----------

