This document discusses cloud computing and outlines its key features and research challenges. It defines cloud computing according to NIST, describes common cloud service models (IaaS, PaaS, SaaS), and summarizes the state-of-the-art implementation including distributed file systems like HDFS and frameworks like MapReduce. However, it notes that current technologies are not developed enough and there are many open research challenges around automated provisioning, virtual machine migration, server consolidation, traffic management, data security, software frameworks, storage, and novel cloud architectures.