Managing Complexity in Cloud Computing