How to create an optimal cloud computing environment