Cloud Computing: The Good, The Bad & How to Prevent the Ugly