Advantages and Challenges of Adopting Cloud Computing from an Enterprise Perspective