When it comes to test applications and software systems that work on, or with, clouds developers resort to real running systems to execute test (i.e. real clouds). This makes difficult to implement a truly test-driven development because the real systems and stable implementations are not always readily available, and test execution may takes an extremely huge amount o time.
Proper mocks of clouds would benefit as they enable faster and practical execution of tests in pre-production environments.
Challenges arise in deciding on how to mock clouds (specific APIs vs generic interfaces) what property to mock (Start/stop VM vs Full fletdged mock), and more.
If you are interested in working on this topic, contact me.