Cloud computing has gained much popularity recently, and many companies now offer a variety of public cloud computing services, such as Google AppEngine, Amazon AWS, and Microsoft Azure. These services differ in service models and pricing schemes, making it challenging for customers to choose the best suited cloud provider for their applications. This paper proposes a framework called CloudCmp to help a customer select a cloud provider. We outline the design of CloudCmp and highlight the main technical challenges. CloudCmp includes a set of benchmarking tools that compare the common services offered by cloud providers, and uses the benchmarking results to predict the performance and costs of a customer’s application when deployed on a cloud provider. We present preliminary benchmarking results on three representative cloud providers. These results show that the performance and costs of various cloud providers differ signiﬁcantly, suggesting that CloudCmp, if implemented, will have practical relevance.