Effectively what I want is the ability to create vms that would represent real life servers. And be able to develop on them directly (like openvscode-server for writing code, deploying docker containers and etc).
Then when I am done programming everything in the simulated virtual environment, compile everything for release versioning it, deploy it for QA for testing, then once everything is good, deploy it live. I also would like it if I can take resource from live/QA being able to swap real/virtual server resources when needed.
Is there such a tool?
If not, I was thinking of making my own but just want to be sure there isn't one already so I'm not wasting time reinventing wheels.