Someone where I work set up a process to provision a VM with simulated devices & networking using containerlab. We use it to simulate scenarios and test the orchestration/automation software we develop. You declaritively define the nodes and connections, it's multi-vendor, and uses docker.
There's also clabernetes, which allows you to deploy the topology into a kubernetes cluster