Internet of things (IoT) constitutes one of the most important technological development in the last decade. It has the potential to deeply affect our lifestyle. However, its success relies greatly on a well-defined architecture that will provide scalable, dynamic, and secure basement to its deployment. In fact, several challenges stand between the conceptual idea of IoT, and the full deployment of its applications into our daily life. IoT deployment is closely related to the establishment of a standard architecture. This architecture should support future extensions , and covers IoT characteristics such as distributivity, interoperability, and scalability. A well defined, scalable, backward compatible, and secure architecture is required to bring the IoT concept closer to reality. In the literature, several architectures have been proposed. Nevertheless, each architecture brings a share of drawbacks, and fails covering all IoT characteristics.