Keywords

1 Introduction

Cloud Computing is a model which shares a variety of configurable registering resourcing like systems, databases, memories, applications, software development platform, and facilities over the web [1]. The Cloud can be seen as an abstract layer on the Internet, which makes all available software and hardware resources of a data center transparent, rendering accessibility through a well-defined interface [2]. Flexibility is one of the alluring highlights of the cloud. It allows obtaining or releasing computing resources on the user’s demand. It enables service providers to auto-scaled the resources to their applications which reduces the resource cost to improve the Quality of Service (QoS) [3]. Recently all storage and networking platforms moved towards the cloud in collaboration with IoT (Internet of Things), which introduces many challenges [4]. In the fast-growing cloud environment, many application providers directly host their applications on cloud resources using cloud service providers such as Amazon EC2. It allows migrating local applications to clouds, as an on-demand service [3]. Cloud computing offering infrastructure, platform, and software as pay and use services require Quality of Service (QoS) and Service-Level Agreements (SLAs) to monitor and ensure their efficient delivery. However, clients’ dynamic QoS prerequisites and maintain a strategic distance from SLA infringement is a major task in cloud environments [5]. Since 2008, Cloud computing is an admired paradigm in IT Sector with three common models briefed as Software as a Service (SaaS) for applications, Infrastructure as a Service (IaaS) for hardware resources, and Platform as a Service (PaaS) for real-time application [6]. IaaS (Infrastructure as a Service) is a top-layered on-demand infrastructure resource provisioning service of cloud computing. It provides infrastructural resources like hardware requirements in virtual machines, processing powers, network bandwidth, storage, CPU, and Power [7]. IaaS users have control over data, applications, operating systems, storage, and security. Typical examples of IaaS are AT & T, GoGrid, Verizon, Amazon web services many enterprises have adopted the extremely elastic IaaS (Infrastructure as a Service) form [8]. PaaS (Platform as a Service) [9] is to shape a facilitating situation it gives stage level assets, including working framework and structures for programming advancement. The PaaS user has control over the deployment and execution of applications. It is a platform to develop, test, and deploy an application [7]. SaaS provides access to an application to the users online instead of installing or purchasing it [10]. The various deployment models of cloud computing like Private cloud, Community cloud, Public cloud, Hybrid cloud [11, 12] are used as a virtual distributed system. It has been noticed that cloud data center’s energy utilization has increased due to the vast usage of cloud computing [4]. One of the ways to deal with this problem is to minimize the active machines and closing inactive servers. From the power consumption point of view, the unutilized server is highly inefficient and hence is the biggest challenge to be dealt with [13]. Virtualization technology is one of the preferable solutions to solve the power incompetence problem. Virtual machine placement (VMP) is the novel approach to increase the power competence of the cloud data center. It improves resource utilization and Return on Investment (ROI) [14]. As an emulation of a particular physical machine, a virtual machine acts as a real machine [15]. VMP improvement is a NP-hard combinatorial issue. The issue can be solved in different ways [16]. Service Level Agreements (SLA) is an agreement between the client and specialist organization, as far as service quality, responsibility, and availability. Hence, good VM allocation is a core challenging problem nowadays to keep an optimal balance between QoS and energy consumption [3]. In the following sections, the research work proposed the idea of Cloud Computing along with Virtual Machine Placement. VM Placement comes up with the varied problem structure like VMP Optimization approaches, VMP problem formulation, and its objective functions which are discussed in detail in the following section. Existing algorithms of VMP are discussed and analyzed in the given study, finishing with the conclusion of potential answers for the virtual machine placement in the cloud environment.

2 Virtual Machine Placement in Cloud

To provide the services over the internet, a large number of physical devices are required to embed with various software. Every device is not fully utilized every time as the network resource usage is very unpredictable [17]. To solve such issues Virtualization is introduced for cloud environment. Virtualization is the process of partitioning the physical resources like storage, memory, network, and power of the physical machine into the multiple execution environments called Virtual Machines (VMs). Data centers are geographically distributed with VMs are located in it. The number of virtual machines available with resources such as CPU, storage space, network, and memory is effectively handled user's request in the cloud. As per the increase in the demand from the users, VM Selection plays a major role to select optimal PM to run the VM [18]. Virtual machine placement (VMP) is nothing but the allocation of proper Virtual machines at each PMs of the cloud data center. It is also called a placement plan of VM to PMs Mapping. VMP has two major objectives power-saving and delivering QoS [9]. Virtual Machines are typically portrayed by the quantity of CPU centers, CPU limit per center, RAM size, circle size, correspondence data transfer capacity and idleness between sets of VMs or a VM and the client. Requirements of VM can be stable or dynamic depending on the type of application(s) running on it. Cloud data center (DC) uses virtualization technology for serving computation, storage, and networking [19]. Virtualization has basic components like VM migration, VM fault tolerance, VM elasticity, VM consolidation, VM load balancing, and VM scheduling [20].

VMP formulation problem is classified as [21]:

  • Optimization approaches

  • Objective functions

  • Solution techniques.

Each of them discussed details in the following sections.

3 VMP Optimization Approaches

Different optimization approaches discussed in the studied papers based on the various objective functions [22]. A mono-objective approach as its name indicates focused the optimization of only single objective. It is an individual streamlining of more than one target work, each in turn. As indicated by the considered articles, maximum research work follows mono target-based method for tackling the VMP issue [22]. Multi-Objective Solved As Mono-Objective Approach is a methodology where the advancement of different target capacities illuminated as a solitary target work is viewed as a multiple target way understood to be a mono-objective. To perform a right combination of the goal capacities, it requires intense information on the difficult space and as a rule; it is beyond the realm of imagination which might be expressed as a downside of this methodology [23, 24]. The approach which streamlines more than each target work, in turn, is named as Pure Multi-Objective (PMO). Even though lots of work has been done on a mono objective approach for the operational real cloud environment a PMO provides good solution [23]. Last is Many-Objective Optimization (MaOP) which focuses on more than three and up to twenty parameters. MaOPs show up generally in some certifiable applications, for example, building structure [24]. Many-objective Optimization Problems formulation is not yet projected for the VMP problem in the particular research [25].

4 VMP Problem Formulation/Objective Functions

As per previous research to obtain Optimal Virtual Machine Placement some important parameters like minimization of power consumption, Minimization of SLA violations, resource utilization, etc. are always need to be considered. These criteria can change from time to time depending upon the VMP Problem formulation. Various objective functions stated below are superlative for solving the VMP Problem [22, 26, 27] like High Performance, Minimizing Energy Consumption, QoS Maximization, Network Traffic Minimization, Minimizing SLA Violations, Balancing Resource Utilization, Load Balancing, VM Migration, Security, Resource Wastage Minimization, Datacenter Power Consumption Minimization, Operational Cost Minimization, Performance Maximization. Allowing for the above huge number of various objective functions, the following are Five broad classifiers [22, 27] covering almost all objectives in the following sub-sections.

  • Energy Consumption Minimization

  • Cost Optimization

  • Network Traffic Minimization

  • Resource Utilization

  • Quality of Service.

4.1 Energy Consumption Minimization

Datacenters consume lots of power and reduction in such power consumption is a challenging task. Energy Consumption can be minimized by minimizing Active Servers [28]. This paper proposed a strategy to reduce power consumption by Maximum VM Placement to profit in revenue generation. The efficiency of energy can be increased by a reduction in VM migrations. So, the Live Migration technique is proposed in this paper for utilization of virtual machine placement by guarantee a deadlock-free resource allotment based on multi-dimensional resources. The aim is to reduce the energy consumption of datacenter [29]. Maximum studied articles focused on the main objective function of VMP which is power consumption minimization. Various target capacities sorted in this improvement group are: (1) Reducing the Energy utilization (2) Reduction in active number of PMs (3) minimizing the Network Energy utilization (4) Data Center power Consumption (5) Energy Efficiency Maximization [22] (Figs. 1 and 2).

Fig. 1
figure 1

Objective functions of energy cost minimization

Fig. 2
figure 2

Objective functions of cost optimization

4.2 Cost Optimization

Due to the on-demand service of cloud computing, high rate is a big confront for cloud service providers. This cost includes Reducing Electricity Costs, Network Power Costs, cost of server, reduction in Connection Cost, decrease in SLA Violations as well in Operational Cost, Economical Revenue Maximization [27].

4.3 Network Traffic Minimization

To enhance the performance of a data center minimizing network traffic is again a crucial parameter need to be focused on. To avoid the consumption of resources VM to VM intercommunication helps to reduce network traffic [42]. Minimization of Network traffic can be classified further by Reducing the Average Traffic Latency, reduction in the Data Transfer rate, Reduction in network traffic, Network Performance maximization [27].

4.4 Resource Utilization

In data center, resources like CPU, memory, and bandwidth are important performance metrics. It aims to utilize resources by guaranteeing the QoS. In Virtualization the services provided on shared resources and utilities in Datacenters [43]. In this context, resource utilization classified further as maximizing resource usage, minimizing resource wastage, and increasing elasticity (Figs. 3 and 4).

Fig. 3
figure 3

Objective functions of network traffic minimization

Fig. 4
figure 4

Objective functions of resource utilization

4.5 Quality of Service Maximization

Virtual Machine Placement problem can be solved using different constraints as mentioned above. One of the important constraints out of them is the Quality of Service (QoS). Reduction of the resource interference, High accessibility, Performance Improvement, Resource interference minimization, and reliability are the crucial parameters metrics to insure good QoS [27] (Fig. 5).

Fig. 5
figure 5

Objective functions of QoS maximization

5 Solution Techniques

Universally, there are many approaches used to solve placement problem of Virtual machines. The major and focused techniques are deterministic algorithms, approximation algorithms, heuristics, and Metaheuristics algorithms [22]. In the following section, Metaheuristics algorithms are discussed in detail.

5.1 Metaheuristics Algorithms

Meta in Meta-Heuristic is a Greek word means advanced whereas heuristics defines to locate or to identify. It enhances the efficiency of the heuristic approach [55]. The VMP problem is act as or considered as a non-deterministic polynomial-time hard (NP-hard) problem. For these types of problems, it is difficult to create optimal solutions in a short period. Metaheuristics techniques are one of the promising solutions which can provide nearby perfect and feasible solutions within a preferable instance. Because of efficiency of solving large and complex problems, Metaheuristics admired from last few years. Many Metaheuristics algorithms have been used to solve the VMP difficulties in terms of power, resources, network traffic, and cost optimization [56]. The following section discusses more in detail about Metaheuristics approaches.

Ant Colony Optimization (ACO)

A VMP approach used the concept of the Ant Colony algorithm was projected in [57] to enhance power utilization and load balancing of the system. Idle resources and power consumption model was proposed as multi-objective technique and the utilized parameters of virtual machines. For the performance assessment of the method the comparison is done with the traditional genetic algorithm-based MGGA model. Their experimental results indicate that the rate of convergence is increased by 16%, and the average energy consumption is reduced by 18%. This paper [58] proposed an ant colony optimization method for the consolidation of virtual machine (VM) in cloud environment. Some VM migrations plans were proposed for underutilized PMs and are used to reduce the number of PMs. They have considered multi objectives for minimizing VM migration. The researcher claimed that when their algorithm gets compared with existing algorithms, it outperformed in terms of VM Migration, the number of unrestricted PMs as well packing effectiveness. A power proficient OEMACS for VMP in cloud environment was proposed by [59]. To achieve optimal VM deployment number of dynamic servers needs to be reduced. It avoids possible wastage of computation. An ACS-based approach is proposed coupled with order exchange and migration (OEM) so named as an OEMACS. This scheme focused on reducing working servers with good utilization of energy, consumption of resource, and proper balancing. Finally, they compared the performance of the OEMACS with heuristic and other evolutionary methods, which generally outperforms in resource characteristics, and power optimization than other algorithms. The author [36] has formulated VMs to PMs in a data center as an inhibited problem which uses data from PM to VM to reduce down the full energy utilization of working PMs. The focus is on reduction of power utilization of cloud centers. They proposed an Ant colony scheme implanted through a heuristic approach. The experimental results compared with the two existing ACO methods, ACOVMP and PAVM as well as First-Fit-Decreasing (FFD) algorithm. The authors claimed that their proposed algorithm has an improvement in energy efficiency by 5% (Table 1).

Table 1 The summary of ant colony optimization

Particle Swarm Optimization (PSO)

In 2015 [35] authors have proposed the power-aware Particle Swarm Optimization method for the virtual placement of virtual machine to decrease utilization of power in the cloud data centers. The projected approach compared with the non-power-aware algorithm and proved to be superlative. This paper [60] presented a multi-objective optimization model to address the VM Migration problem. VM Migration can generally affect the performance in terms of load balancing, fault tolerance, utilization of energy, and utilization of resource. The proposed algorithm Fuzzy Particle Swarm Optimization (PSO) used fuzzy logic for regulation inertia mass along with conventional particle swarm optimization to resolve the mapping issues. This paper proposed [48] an improved PSO solution for the heterogeneous data center. The aim of the given approach is to fit with proper placement of virtual machine in data hubs with optimal energy consumption. This paper mainly focused on Energy-efficiency of green computing. The proposed algorithm compared the performance with First fit, Best fit, and worst fit strategies and claimed to do a better use of the resource. A resource aware VMP approach stand on the concept of PSO meta-heuristics was proposed in [30] to increase packing effectiveness while reducing power utilization. It was a multi-objective version that considers energy and resource utilization. The VMP Formulation was presented to improve the packing effectiveness and so reduction in power utilization. The simulation outcome showed that the planned technique exhibits excellent performance. As the drawback, the proposed system works only for the static workload (Table 2).

Table 2 The summary of particle swarm optimization

Biogeography-Based Optimization (BBO)

In this literature [6] a novel approach named VMPMBBO projected to discover the best possible placement of virtual machines which reduces wastage of resources and utilizes proper consumption of energy. The author claimed that the proposed technique gives the primary approach that uses Biogeography-Based Optimization (BBO) and composite systems for solving the VMP problem. Finally, it proved that VMPMBBO has recovered authentic properties with more efficient and robust environment. Experiments were conducted on both real-world data and synthetic data from research. Flexibility and scalability of VMPMBBO also proved via various practical outcomes. In 2016, a multi-objective VMP optimization problem [61] with an improved BBO algorithm is proposed named IMBBO (Improved BBO). In the major contributions of the given article, the focused is on the VMC problem a multi-objective task. It includes parameters like minimizing server power consumption, proper loading balancing, and reducing migration overhead. Experimental results based on synthetic datasets and real VMs running data, the proposed IMBBO compared with Gravitational Search Algorithm (GSA) which showed improvement in performance (Table 3).

Table 3 The summary of biogeography-based optimization

Genetic Algorithm (GA)

A procedure proposed [31] for controlling power consumption with the active Voltage rate range system is included in the optimization system and Non-dominated Sorting Genetic Algorithm (NSGA-II) used for a set of non-domination solutions. The primary goal of this method is to minimizing the energy consumption as well as execution time. To predict Virtual Machine based on so predicting Artificial Neural Network (ANN) is applicable for envisage the virtual machines performance depends on the tasks given as well resource allocations. The results showed that effective minimization of energy consumption by including DVFS in the optimization approach. The VMP bi-objective combinatorial optimization approach was proposed [49]. An efficient decision-making structure of genetic algorithm and Bernoulli simulation (GAVMP-BO) is proposed for multi objectives which are used to reduce dynamic PMs. The main objective of the research is reduction of unbalanced resources in dynamic PMs. The proposed algorithm was compared to six different competing algorithms. Results show that the proposed work is superlative and outperformance than all frameworks (Table 4).

Table 4 The summary of genetic algorithms

Simulated Annealing (SA)

In 2015, a Simulated Annealing based algorithm was proposed [62] for improving the performance in terms of cost. A novel approach was introduced to solve the VM consolidation problems by estimating the cost of possible VM migrations. Network traffic and different network topology parameters for consolidation decision left as future work part in this literature. Getting optimal VMP environment is little bit cumbersome method in terms of time. To resolve the issue, this research [63] proposed an improved simulated annealing algorithm (ISA) for VMP. For servers, resource utilization and for VM dynamic models were introduced. The threshold value defined for the annealing process in ISA and the allocation weight vector was computed. Comparative analysis showed that the approach got a desired output within a smaller amount time. The mentioned approach improved resource utilization with proper load balancing. In this paper [28] a method called maximum VM placement with least utilization of energy (MVMP) was proposed to increase the revenue of a Cloud Service Provider (CSP). The given method aimed reduction in power cost as well increase the revenue. The proposed algorithm compared with different techniques. MVMP has improved performance than all approaches in power consumption, execution time, and the number of servers used and it is scalable too (Table 5).

Table 5 The summary of simulated annealing

Artificial Bee Colony (ABC)

In a Heterogeneous Cloud environment for the reduction in the make-span this paper [64] proposed Heuristic task scheduling combined with the Artificial Bee Colony algorithm (HABC) for the virtual machine. It is a task scheduling approach with proper load balancing. The two major goals of the given method were to maximize productivity by balancing workload and to reduce the total amount of time. The experimental outcomes proved that the given approach improved the effectiveness in scheduling the task as well as load balancing of virtual machines in given environment. Energy-related dynamic VM Consolidation approach (EC-VMC) was proposed [65]. The experimental outcome indicated that the proposed algorithm exceptional in provisions of reducing utilization of power, VM immigration with effective QoS (Table 6).

Table 6 The summary of artificial bee colony

Firefly Algorithm (FA)

Many research focused on Virtual machine placement parameters like energy consumption, resource utilization, and network traffic. Very few works considered security and privacy issues. This [66] paper proposed a secure and efficient VMP framework by incorporating a proper constraints-based multi-objective model using the Discrete Firefly algorithm (DFA-VMP).To calculate the security and efficiency of the system authors have specially defined the security manifestation, with calculated power consumption as well focus on reduction in loss of resources. The outcomes express that this methodology adequately decreased the likelihood of co-occupant in a similar hub of VMs of pernicious inhabitants with the objective virtual machine and furthermore diminished power utilization and loss of resources at the server.

Tabu Search (TS)

To reduce power consumption and reduction in CO2 emission a very efficient Tabu search heuristic technique [33] was proposed. It solved the Mixed Integer Linear Programming (MILP) model. To handle online and dynamic demands Tabu search a Metaheuristics approach was implemented. The result stated that reduction in Communication delays up to 6 times. CO2 emissions reduced up to 60 times and 30% of power savings [67]. The key idea of the proposed work was to achieve energy-efficient VM Allocation plans utilizing the hypothesis of heartiness and determine a strong Mixed Integer Linear programming (MILP) detailing. The goal of the calculation is to build up a VM-to-PM designation which lessens the power utilization, the quantity of relocations and guarantees strength (Table 7).

Table 7 The summary of firefly algorithm

Tabu Search is used as base which incorporates a greedy approach. It showed an effective and stable performance than various Metaheuristics algorithms. Various local search algorithms can utilize this algorithm. The exploration guaranteed that the developments indicated the vigorous heuristic can figure most ideal arrangements and beats the notable VM Workload Consolidation Strategy (WCD) heuristic (Table 8).

Table 8 The summary of tabu search

Cuckoo Search (CS)

In 2018, [68] an Enhanced Cuckoo Search (ECS) was proposed to optimize utilization of power in VMP. The focus of work is to how to narrow down utilization of power along with resources in the cloud data center. The result of the proposed algorithm compared with the existing Genetic Algorithm (GA,) Optimized Firefly Search Algorithm (OFS), and Ant Colony (AC) algorithm and proved that it consumes less energy without violating SLA. For evaluating the performance of the proposed ECS work showed better energy metric with VM selection policies like Minimum Migration Time (MMT) and Minimum Utilization (MU) (Table 9).

Table 9 The summary of cuckoo search

Memetic Algorithm (MA)

This work [25] presented a Many-Objective Optimization Structure (MaVMP) for solving static means offline problems of virtual machine placement. An interactive memetic algorithm is proposed to solve the formulated MaVMP problem, considering context of many objectives. For the formulation of a many-objective VMP problem objectives like power, cost, security, quality of service, network load balancing are considered. Experimental results proved that it is an effective and capable solution to solve the problem. In [34] an improved genetic algorithm as memetic grouping used for cost-efficient VM placement, namely MGGAVP is proposed in the multi-cloud environment. The research presented an optimization model in the heterogeneous environment with efficient virtual machine placement. The parameters on-demand real-time and topographical situation of apportioned resources were considered as the objective of diminishing power cost. The proposed model reduced the number of working PMs as well power consumption of network in distributed data centers. The proposed algorithm compared with CRA-DP, E-aware, and CTPS and proved significantly better performance (Table 10).

Table 10 The summary of memetic algorithm

6 Discussion

A summary of the optimization methods from the various research articles is demonstrated in different Tables. The fundamental goal of this literature is to examine and checking on a preferred study concerning Virtual Machine Placement in distributed environment utilizing Metaheuristics Algorithms. Energy utilization and resource usage are priority goals to be achieved in the VMP as multiobjective issues. VMP is characterized into certain unique classes including power, resources, security, and cost. According to Fig. 6, all mentioned parameters are regularly studied in research.

Fig. 6
figure 6

Problem addressed by various metaheuristics algorithms for VMP

Above figure shows that researchers regularly tended to and assessed the VMP Environment using energy consumption as primary factor. In any case, other significant destinations should be viewed as important parameters of VMP like security, dynamic load balancing, network traffic management, resource utilization. The hybrid Metaheuristics approaches may get benefits from different algorithms by considering various parameters in multi-objective way. Hybrid Metaheuristics algorithms can be the possible solution that will help to enhance the performance of VMP. From the reviews, it is observed that Hybrid Metaheuristics algorithms have once in a while been utilized in the VMP. Therefore, there is a future scope to consider multiobjective hybrid metaheuristics algorithms for virtual machine placement.

7 Conclusion

Evaluation of Metaheuristics methods for virtual machine placement in the cloud Environment is analyzed in this research work. The investigation of VMP calculations looked at the different advancement strategies and various target capacities. From the analysis, it is observed that most of the research works are introduced to limit the power utilization of data centers. A few researchers have additionally tended to issues identified with the execution and utilization of resources. The primary aim is to reduce the power utilization of DCs without degrading execution or violating SLA limitations. Virtualization has empowered cloud data centers to get cost-effective, flexible, and adjustable to have various undertaking administrations and applications at various scales. With the advancement of virtualization innovation, methods to deploy VMs in the cloud are a hot research subject. Due to the extending size of cloud data centers, the amount of customers and virtual machines (VMs) increases rapidly. The solicitations of clients are engaged by VMs living on physical servers. The dynamic development of internet providers brings about asymmetrical system resources. Resource management is a significant factor for the exhibition of a cloud. Different methods are utilized to deal with the resources of a cloud efficiently. It is a great initiative to think about Multi-objective Virtual machine placement for new structured nature propelled Metaheuristics algorithms as future work objectives considering the parameters like network traffic, load balancing, power utilization, and resource usage. Virtual machine placement can be unraveled for various destinations. So hybridizing advantages of such algorithms can likewise give another vision towards the Virtual machine placement issue.