Use Ruby to build a cloud provisioning layer across providers that can be invoked as command line tools (CLIs).
The tools should be able to provision compute resources including servers and volumes across cloud providers including AWS EC2, Microsoft Azure, Openstack, and Rackspace with normalized interfaces
Implementation should leverage existing multi-cloud libraries like fog.io for provisioning. Each new cloud implementation should be implemented as a plugin so that there are no changes to the command line tool interface to support a new cloud provider.
The developer should deliver the code with sufficient unit test and integration tests. Mock implementations with dummy responses are also required.
Please apply with a description for how you architecturally will be able to do the implementation, a breakdown of tasks, and a high level estimate as to how long it would take. Describe how parameter and responses marshalling would be handled. How would the CLIs be tested? What framework would be used for testing?
For more details, please see: https://docs.google.com/document/d/1XxVLt1nb2_fbY4xW0Mzfj33U-3qI5KwQ0e2b6FHhasw/edit?usp=sharing