Cloud Computing: From Beginning to End