requirements for cloud computing