@Mido, it's great to have you here!
I'm in full agreement with my cohorts, here, that a combination of virtual machines and containers, under a suitable hypervisor is the way to go.
VMs treat machines as files, which makes them very easy to backup, clone, move (even while running!), destroy and replace.
Containers take away some of the overhead that virtual machines have by virtualizing the operating system and environment an application runs in, allowing a single OS instance to run multiple applications (VMs each have an instance of an operating system, containers share their OS.)
It's common to spin up, say, an Ubuntu Server virtual machine, install Docker on it and then install a couple of applications inside Docker. Docker apps can use persistent storage, which can be backed up and which survives server reboots, application upgrades, etc.
Some hypervisors support containers -- Docker and other containers -- natively, without creating a virtual machine to host them.
Most servers built in the last decade or longer have really been built to run a hypervisor rather than a single operating system, like Windows Server or Linux. This keeps the hardware useful and busy rather than having multiple expensive servers sitting around, each with minimal load.
Once you get your server and environment up and running, you'll come to realize that you have a performant little data center all sitting on your one box.
There are some ways to minimize the impact of multiple applications running on the same machine and competing for resources. Some consider this as much an art as a science. It's something to discuss as you build your environment and bring it online.
More information about your server and it's hardware configuration (I'm a server guy!!) would aid discussion going forward, as would you sharing your thinking on hypervisors and which one(s) you're looking at.
Best regards!