The Internet of Things presents the user with a novel means of communicating with the Web world through ubiquitous object-enabled networks. Cloud Computing enables a convenient, on demand and scalable network access to a shared pool of configurable computing resources. This paper mainly focuses on a common approach to integrate the Internet of Things (IoT) and Cloud Computing under the name of CloudThings architecture. We review the state of the art for integrating Cloud Computing and the Internet of Things. We examine an IoT-enabled smart home scenario to analyze the IoT application requirements. We also propose the CloudThings architecture, a Cloud-based Internet of Things platform which accommodates CloudThings IaaS, PaaS, and SaaS for accelerating IoT application, development, and management. Moreover, we present our progress in developing the CloudThings architecture, followed by a conclusion.