I am looking to develop a software system that involves a series of servers all communicating with each other over a network. It shall be Linux based (preferably Ubuntu). It shall use TCP/IP sockets to communicate.
Before actually buying hardware for this, I would like to test my design and code using virtual machines.
Therefore my actual question is: Is there a Linux based virtual machine system that will allow you to startup multiple (virtual) servers, and have them communicate with each other?