I'm trying to avoid the problem of making an assumption and asking the wrong question. I'm going to describe the situation I'm in and what the problem is.
I presently have a development server which runs development and testing databases. The developers run apache locally but connect to the test server databases so that everyone is on the same page. As time has gone by, the responsibilities of this server have grown. It is often used as a staging area for clients to sign off on changes. Meanwhile, the number of clients and databases has grown. Today, the development server ground to a halt. This was a real disruption to today's workflow for the development team.
A mixture of active development and CRON tasks that were set up during testing eventually slowed the server to the point that it was unusable. I believe that the server's disk access was the bottleneck.
I've asked for hardware upgrades previously, sadly they have not been forthcoming from management. A hardware upgrade would only do so much, also. I'm wondering if there's a better way to achieve what we're wanting, and want to set up the new server the right way when it arrives.
Ideally I'd like a system that it's easy to "stop" sites, including their cron ad making their staging URLs inaccessible, when they're not in active development. Equally important is that I'd need a simple way to "start" them again, preferably via a UI so our non-technical staff can do it.
I like the idea of a docker/vm-based solution but I'm not 100% sure how I'd maintain this. The biggest hurdle to using something like this is probably that I'm not sure how I'd be able to set these up for use as a staging environment.