ABSTRACT

302Over the past years, the Cloud phenomenon had an impressive increase in popularity in both the software industry and research worlds. The most interesting feature that Cloud Computing brings, from a Cloud client’s point of view, is the on-demand resource provisioning model. This allows Cloud client platforms to be scaled up in order to accommodate more incoming clients and to scale down when the platform has unused resources, and this can all be done while the platform is running. As a result, the physical resources are used more efficiently and the Cloud client saves expenses. The importance of this feature is unquestionable to Cloud client users.

Achieving the above mentioned is not trivial and is done by leveraging the more direct functionalities that Clouds provide. Three of these key functionalities are automatic scaling, load balancing and monitoring. They represent the focus of the current work.

This chapter is divided into three main parts, one for each of the three main topics of interest: auto-scaling, load balancing and monitoring. We detail each of the three topics and present details on their presence and implementation in the commercial, open-source and research worlds.

303Among the commercial Cloud platform providers we have focused on Amazon EC2, Microsoft Azure, GoGrid and RackSpace. From the open-source initiatives we have focused our attention on Nimbus, Eucalyptus and OpenNebula. We have also detailed endeavors in the research world that are relevant to the topic of interest and are not connected to any of the Cloud providers. By studying this chapter, the reader will be able to understand the role that each of the three Cloud features plays for a Cloud client, will understand their inner workings and will be aware of the state-of-the-art available in current commercial and open-source Cloud platforms.