REEF's abstraction is portable to IaaS clouds like AWS EC2, Azure VMs and the Google Cloud. We'd run each Evaluator on a VM, and the resource request / response would be forwarded to and from the IaaS cloud's API.
A rough idea of the approach would be:
- The Client gets the credentials for the IaaS account and a Driver submission. It then acquires a VM from the IaaS provider and launches the Driver on there.
- The Driver runs in a VM and launches Evaluators on that VM until it is "full". At that point (and up to a policy), it acquires an additional VM and starts launching containers there. This could, for example, be done with the SSH runtime.