How do I manage my Ubuntu servers together?

January 16, 2015 2k views

What do server administrators use to send commands to multiple servers? I know what I'm describing has to exist, right?

For example, say I have 2 Ubuntu servers and they run on the same image, same users, groups, and everything. Only thing that is different is what websites I have setup under /var/www. I want to run "sudo apt-get update" and "sudo apt-get upgrade" on both of these servers. It would be awesome to have other options available too such as other commands, a system that is aware of the others too in my network.

Also, this would relate to having a load balancer, multiple servers of the same exact content. I would want them to all have the same commands executed on them at the same time.

1 Answer

There are quite a few options out there to handle administering multiple servers. I'd suggest browsing some the tutorials under the "Configuration Management" tag. Configuration management is the term that gets used for a broad set of software that can be used to deploy servers, keep environments in in-sync across multiple servers, and other so-called "devops" tasks. Puppet, Chef, and Ansible are some of the big players in this space. Depending on your needs, some of those solutions might be a bit of overkill. I'm personally partial to using Fabric for small simple tasks like running the same command on a handful of servers.

by O.S. Tezer
In this DigitalOcean article, the system administration and application deployment streamlining library "Fabric" is our subject. We will learn how to install this wonderful tool, as well as see how easy things can become by simply automating mundane management tasks that would otherwise require jumping through hoops with bash hacks and hard-to-maintain, complex scripts.
Have another answer? Share your knowledge.