Cloud computing - a relatively recent term, defines the paths ahead in the computer science world. Being built on decades of research it utilizes all recent achievements in virtualization, distributed computing, utility computing, and networking. It implies a service oriented architecture through offering softwares and platforms as services, reduced information technology overhead for the end-user, greater flexibility, reduced total cost of ownership, on demand services and many other things. This paper is a brief survey based of readings on cloud computing and it tries to address, related research topics, the challenges ahead and possible applications.