Hi I'm finalizing a cryptocurrency trading robot (built in java) and I want to enable other people to use it. However each user will have to be allocated to his/her own private server and this needs to be automated.
For example if John Doe clicks a "I want to use your robot" button on my website, I need to spin up a new instance just for him, and map that to johndoe.mydomain.com, which will allow him to see what his robot is doing and what profit it is making.
If the robot generates a profit, a percentage of that will have to be paid for his robot to continue working, otherwise it will stop until payment is received.
If I update the robot, the user can choose which version he wants to run. Other users can choose different versions too.
Each instance can run on very little memory (128mb is enough) and use almost no disk (1gb is enough). One CPU core is enough too. They will just consume "buy" and "sell" signals transmitted from a more potent central server and make a request to the crypo exchange. These signals can be consumed from a database (or queue) that could be managed by the cloud provider.
Before running costs, I want to avoid as much manual work as possible to make it all happen, but having an easy to use dashboard for emergencies would be great. There are potentially thousands of instances to manage and this will be handled by a single person (me), at least initially
What do you recommend for my use case?