Cloud agonstic automated cluster provisioning using Cloud SDKs and an UI management layer to run tools, consume capacity and then destroy it.
At a high level, the user needed to input the following:
The ask here was to create a UI management layer for the cluster setup, pricing forecast and destroying with a history maintanance for billing purposes. Each of the cloud providers intended (AWS, Azure and Google Cloud) either provided SDKs or APIs to communicate to the Cloud to create and manage the infrastructure.
This being cloud agnostic, it had to have a separate management interface which would decide on to which cloud to communicate with. At a high-lever following was the development cum deployment architecture involved:
Based on the SDKs availability the backend development was distributed along: