Nowadays almost every large companies use cloud computing services. Amazon, Google, and Microsoft achieve vast business success by providing virtual machines connected to virtual networks, and they spend huge amount of money for service development, and for various research activities. Cloud computing has many advantages, which can be exploited for providing on-demand, scalable software, that can allow broad network access. There are many open source implementations in this area and the amount of these ideas are still growing. Organizations and foundations propose systems with higher quality, and new ideas frequently.
In my work I give an overview of the characteristics of cloud computing, where we will see the huge spectrum of this service considering usability, then I organize the clouds by service- and deployment models. I introduce the cloud infrastructures available today, and describe their benefits, disadvantages, and their special features. I present a possible architecture which can be the base of implementing a cloud, I write about the components need to be installed, and then I summarize the implementation in the lab environment. After that I present the features of the implemented system, I test the performance parameters of the virtual machines. Finally I survey further development opportunities.