Review
Resource management for Infrastructure as a Service (IaaS) in cloud computing: A survey

https://doi.org/10.1016/j.jnca.2013.10.004Get rights and content

Abstract

The cloud phenomenon is quickly becoming an important service in Internet computing. Infrastructure as a Service (IaaS) in cloud computing is one of the most significant and fastest growing field. In this service model, cloud providers offer resources to users/machines that include computers as virtual machines, raw (block) storage, firewalls, load balancers, and network devices. One of the most pressing issues in cloud computing for IaaS is the resource management. Resource management problems include allocation, provisioning, requirement mapping, adaptation, discovery, brokering, estimation, and modeling. Resource management for IaaS in cloud computing offers following benefits: scalability, quality of service, optimal utility, reduced overheads, improved throughput, reduced latency, specialized environment, cost effectiveness and simplified interface. This paper focuses on some of the important resource management techniques such as resource provisioning, resource allocation, resource mapping and resource adaptation. It brings out an exhaustive survey of such techniques for IaaS in cloud computing, and also put forth the open challenges for further research.

Introduction

A cloud is defined as a place over network infrastructure where information technology (IT) and computing resources such as computer hardware, operating systems, networks, storage, databases, and even entire software applications are available instantly, on-demand as given in Buyya and Ranjan (2011). Cloud computing is the use of cloud resources (hardware and software) that are delivered as a service over a network (typically the Internet). While cloud computing may not involve a lot of new technologies, it certainly represents a new way of managing IT. In many cases, this will not only change the workflow within the IT organization, it will often result in a complete reorganization of the IT department. Cost savings and scalability can be highly achieved from cloud computing.

Cloud computing is often compared with Service Oriented Architectures (SOA), Grid, Utility and Cluster computing as in http://cloudcomputing.sys-con.com. Cloud computing and SOA can be pursued independently or concurrently where cloud computing's platform and storage service offerings can provide a value added underpinning for SOA's efforts as in Dai and Rubin (2012). Cloud computing does not replace SOA or the use of distributed software's components as an integration technology. With grid computing, we can provision computing resources as a utility that can be turned on or off. Cloud computing goes one step further with on-demand resource provisioning. This eliminates over-provisioning when used with utility pricing. It also removes the need to over-provision in order to meet the demands of millions of users. Utility computing is paying for what we use on shared servers like we pay for a public utility (such as electricity, gas) as in http://www.ibm.com.

Clustering is the use of multiple computers, typically PCs or UNIX workstations, multiple storage devices, and redundant interconnections, to form what appears to users as a single highly available system. Cluster computing is a low-cost form of parallel processing for scientific and other applications that lend themselves to parallel operations. The summary of the features of each of the computing techniques is listed in Table 1.

Clouds can be broadly classified as follows:

  • Infrastructures as a Service (IaaS).

  • Platforms as a Service (PaaS).

  • Software as a Service (SaaS).

IaaS refers to a combination of hosting, hardware provisioning and basic services needed to run a cloud. PaaS refers to the provision of a computing platform and the provision and deployment of the associated set of software applications (called a solution stack) to an enterprise by a cloud provider. Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network.

The uses of IaaS are as follows. (1) Provides access to shared resources on need basis, without revealing details like location and hardware to clients, (2) provides details like server images on demand, storage, queuing, and information about other resources, among others, and (3) offers full control of server infrastructure, not limited specifically to applications, instances and containers.

The major issues that are commonly associated with IaaS in cloud systems are resource management, network infrastructure management, virtualization and multi-tenancy, data management, application programming interfaces (APIs), interoperability, etc. These issues are briefly discussed in Section 2. This paper focuses on resource management due to the fact that resource management for IaaS in cloud computing offers following benefits: scalability, Quality of Service (QoS), specialized environment, reduction in overheads and latency, improved throughput, cost effectiveness and simplified interface. This paper focuses on survey of some of the important resource management schemes such as resource mapping, resource provisioning, resource allocation, and resource adaptation. It brings out an exhaustive survey of such schemes for IaaS in cloud computing, and also put forth the open challenges for further research.

Our contributions in the paper are as follows. (1) Classification of resource management schemes into resource provisioning, resource allocation, resource adaptation, resource mapping, resource modeling, resource estimation and resource brokering. (2) Bringing out exhaustive works in resource mapping, resource provisioning, resource allocation, and resource adaptation. Scheme's operation and drawbacks are presented with comparative analysis in terms of performance metrics such as reliability, deployment, QoS, delay and overheads. (3) Providing open challenges in each considered class of resource management, and (4) to facilitate novice researchers to work on the research problems.

The rest of the paper is organized as follows. In Section 2, we discuss different issues in IaaS. Resource management problems in IaaS are presented in Section 3. Tools and technologies for resource management in cloud computing are discussed in Section 4. Some solutions for resource management are given in Section 5. Finally, concluding remarks are presented in Section 6.

Section snippets

Issues in IaaS

The major issues that are commonly associated with IaaS in cloud systems are virtualization and multi-tenancy, resource management, network infrastructure management, data management, APIs, interoperability etc. We will briefly introduce the issues.

(i) Virtualization and multi-tenancy: Virtulization is an essential technological characteristic of clouds, hides the technological complexity from the user and enables enhanced flexibility (through aggregation, routing and translation). In a

Resource management problems in IaaS

There are several problems to be considered while managing resources, such as, type of resource required (physical/logical), allocation, brokering, provisioning, mapping, adaptation and estimation. In this section, we present significance of resource types and issues in resource management.

Tools and technologies for resource management in cloud computing

As the computing industry shifts toward providing Infrastructure as a Service (IaaS) for consumers and enterprises to access on demand resources regardless of time and location, there will be an increase in the number of available cloud platforms as in Ruth et al. (2010). Recently, several academic and industrial organizations have started investigating and developing technologies and infrastructure for cloud computing for IaaS. Keahey et al. (2011), http://www.opennebula.org,

Solutions to resource management problems

In this section, we present significant research carried out in resource provisioning, resource allocation, resource adaptation and resource mapping for IaaS in cloud computing, and bring out the open challenges. The performance metrics are used to compare different works under resource management techniques. For each of the metric, we have assigned value as either high or medium or low. We arrive at the value by literature reading, analysis of results, relative comparisons of the results in

Conclusions

After so many years, cloud computing today is the beginning of network based computing over Internet in force. It is the technology of the decade and is the enabling element for new computing models. Traditional monitoring and management systems are typically centralized. These approaches will not scale to potentially millions of management objects in cloud systems. Approaches that are more distributed and have scalability properties that allow easy scale-up and scale-down of the monitoring and

References (121)

  • Available online at: http://community.zenoss.org/blogs/zenossblog/2010/06/09/three-cloud-lock-in-considerations...
  • Available online at: http://searchcloudcomputing.techtarget.com/report/Cloud-management-tools-guide-for-beginners...
  • Available online at: http://technet.microsoft.com/en-us/magazine/dn271884.aspx (accessed on...
  • Available online at:...
  • Available online at: http://www.ibm.com/developerworks/web/library/wa-cloudgrid (accessed on...
  • Available online at: http://www.neovise.com/cloud-computing-in-2012-what-is-already-happening (accessed on...
  • Baldine I, Xin Y, Evans D, Heerman C, Chase J, Marupadi V, Yumerefendi A. The missing link: putting the network in...
  • Bansal N, Kang-Won Lee, Viswanath Nagarajan, Murtaza Zafer. Minimum congestion mapping in a cloud. In: Proceedings of...
  • Batini C, Simone Grega, Andrea Maurino. Optimal enterprise data architecture. In: Proceedings of the 19th ACM...
  • Baun C, Kunze M. Building a private cloud with eucalyptus. In: Proceedings of the international conference on E-science...
  • Bhowmik R, Kochut A, Beaty K. Managing responsiveness of virtual desktops using passive monitoring. In: Proceedings of...
  • Bobro N, Andrzej Kochut, Kirk Beaty. Dynamic placement of virtual machines for managing SLA violations. In: Proceedings...
  • Buyya, Ranjan R, Modeling and simulation of scalable cloud computing environments and the CloudSim toolkit: challenges...
  • Rajkumar Buyya et al.

    Federated resource management in grid and cloud computing systems

    J Future Gener Comput Syst

    (2011)
  • Buyya R, Saurabh Kumar Garg, Rodrigo N Calheiros. SLA-oriented resource provisioning for cloud computing: challenges,...
  • Prasad Calyam et al.

    Enabling performance intelligence for application adaptation in the future internet

    J Commun Networks

    (2011)
  • Chabarek J, Sommers J, Barford P, Estan C, Wright DTS. Power awareness in network design and routing. In: Proceedings...
  • Chaisiri S, Bu-Sung Lee, Dusit Niyato. Optimization of resource provisioning cost in cloud computing. In: IEEE...
  • Charalambous T. Decision and control. In: Proceedings of the 49th IEEE conference on CDC, vol. 28, no. 11; 2010. p....
  • Chase JS, Darrell C Anderson, Prachi N Thakar, Amin M Vahdat. Managing energy and server resources in hosting centers....
  • Chen Y, Tianyu Wo, Jianxin Li. An efficient resource management system for on-line virtual cluster provision. In:...
  • Chen J, Soundararajan G, Amza C. Autonomic provisioning of backend databases in dynamic content web servers. In:...
  • Chiaraviglio L, Matta I, GreenCoop. Co-operative green routing with energy efficient servers. In: Proceedings of 1st...
  • Chiaraviglio L, Matta I. Resource allocation using energy-efficient servers. In: Proceedings of the 1st ACM...
  • Chiaraviglio L, Matta I. GreenCoop: co-operative green routing with energy efficient servers. In: Proceedings of the...
  • Cunningham S, Holmes G. Developing innovative applications of machine learning. In: Proceedings of the Southeast Asia...
  • Dai W, Rubin. Service-oriented knowledge management platform. In: Proceedings of the 13th IEEE international conference...
  • M.N. Dailey et al.

    Adaptive resource provisioning for read intensive multi-tier applications in the cloud

    J Future Gener Comput Syst

    (2011)
  • Duong TNB, Xiaorong Li, Rick Siow Mong Goh. A framework for dynamic resource provisioning and adaptation in IaaS...
  • Safiriyu Eludiora et al.

    A user identity management protocol for cloud computing paradigm

    Int J Commun Network Syst Sci

    (2011)
  • Filali A, Hafid AS, Gendreau M. Adaptive resources provisioning for grid applications and services. In: Proceedings of...
  • G. Geada et al.

    The case for the heterogeneous cloud

    Cloud Comput J

    (2011)
  • Grehant X, Isabelle Demeure. Symmetric mapping: an architectural pattern for resource supply in Grids and clouds. In:...
  • Gupta M, Singh S. Greening of the internet. In: Proceedings of the ACM conference on applications, technologies,...
  • Haider A, Richard Potter, Akihiro Nakao. Challenges in resource allocation in network virtualization. In: Proceedings...
  • Harmer T, Wright P. Provider-independent use of the cloud. In: Proceedings of the international workshop on cloud...
  • Hatakeyama K, Osana Y, Tanabe M, Kuribayashi S. Proposed congestion control method reducing the size of required...
  • He S, Li Guo, Yike Guo. Real time elastic cloud management for limited resources. In: Proceedings of the 4th IEEE...
  • Hill Z, Humphrey M. CSAL: a cloud storage abstraction layer to enable portable cloud applications. In: Proceedings of...
  • Hill M, Varaiya P. An algorithm for optimal service provisioning using resource pricing. In: Proceedings of the 13th...
  • Cited by (504)

    View all citing articles on Scopus
    View full text