ReviewResource management for Infrastructure as a Service (IaaS) in cloud computing: A survey
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)
- et al.
Market-oriented cloud computingvision, hype, and reality for delivering IT services as computing utilities
J Future Gener Comput Syst Arch
(2009) - et al.
Efficient dynamic task scheduling in virtualized data centers with fuzzy prediction
J Network Comput Appl
(2011) - et al.
An elasticity model for high throughput computing clusters
J Parallel Distributed Comput Arch
(2011) - Alvarez AR, Marty Humphrey. An automated approach to cloud storage service selection. In: Proceedings of the 2nd...
- Alvarez AR, Humphrey M. A model and decision procedure for data storage in cloud computing. In: Proceedings of the...
- Amazon auto scaling service. Available online at: http://aws.amazon.com/autoscaling/ (accessed...
- Apostol E, Valentin Cristea. Policy based resource allocation in cloud systems. In: Proceedings of the 2011...
- Armbrust, Armando Fox. A view of cloud computing. In: Proceedings of the communications of the ACM, vol. 53, no. 4;...
- Available online at: http://aws.amazon.com/ec2/ (accessed on...
- Available online at: http://cloudcomputing.sys-con.com/node/612375 (accessed on...
Federated resource management in grid and cloud computing systems
J Future Gener Comput Syst
Enabling performance intelligence for application adaptation in the future internet
J Commun Networks
Adaptive resource provisioning for read intensive multi-tier applications in the cloud
J Future Gener Comput Syst
A user identity management protocol for cloud computing paradigm
Int J Commun Network Syst Sci
The case for the heterogeneous cloud
Cloud Comput J
Cited by (504)
FastAiAlloc: A real-time multi-resources allocation framework proposal based on predictive model and multiple optimization strategies
2023, Future Generation Computer SystemsWhen machine learning meets Network Management and Orchestration in Edge-based networking paradigms
2023, Journal of Network and Computer ApplicationsOptimal service resource management strategy for IoT-based health information system considering value co-creation of users
2024, Industrial Management and Data Systems