enter the system and handle the memory management of the VMs, e.g., VMware, Hyper-V, KMV, Xen.
3 Resources virtualization: The concept of virtualization is the most important basic sub-block of the cloud framework. Virtualization is the process by which we can hide the underlying infrastructure by inserting a logical layer. The three basic resources, i.e., computation, network and storage, are virtualized and represented logically in this layer. Resource virtualization can be considered as the most important layer of the cloud stack. Resource virtualization is that which mainly deals with network, storage and computation virtualization. The basic concept of virtualization is to hide underlying infrastructure by creating a logical interface which helps customers deploy their application onto their respective VMs and also makes provisioning the resources to users easier. We will elaborately discuss different types of virtualization in the next chapter.
4 Virtual machines (VMs): These are the abstraction level of real host machines and each VM is dedicated to each application. Multiple numbers of virtual machines are there to support multiple operating system and application instances. These VMs provide greater scalability, flexibility, and better performance. The details of VMs are presented in the subsequent chapter.
5 Distributed service assurance platform: This platform helps to create FCAPS (Fault, Configuration, Account, Performance, Security) virtual servers [6] that allow hosting the operating systems and executing the applications. It provides dynamic service, accounting, and performance optimization, enabling security and updating configuration. Creation of FCAPS virtual servers provide automated mediation services to ensure better performance, reliability and fault management.Automated mediation service is that which provides the capability to compose logical virtual servers which assures Quality of Service (QoS) and proper resource provisioning. Cloud service providers offer these virtual machines or the virtual servers including proper management API (application programming interface) component to the developers so that they can easily develop self-optimized and self-configured business services.
6 Software-oriented service: This module provides ready-to-use software service. The end users do not incur any overhead for purchasing and maintaining the software.
3.2.5.2 Cloud Application Architecture
Cloud application architecture is basically service-oriented architecture (SOA), which helps users/clients get their on-demand service. This reference model will help the service providers and end users maintain controlled access and dynamism in real-time applications. This architecture includes three sublayers, namely virtual appliances, agent-based layer and business service provider. Each of these sublayers is discussed below.
1 Virtual appliances: These run with the APIs (application programming interface) of various customer service providers (CSPs) or platforms. It is an instance of virtual environment extension (VEE). Cloud applications are deployed as virtual appliances to make management better. Virtual appliance configuration should be done in such a way that the application and services continue to grow but management overheads do not grow proportionally.VEE (virtual environment extension): Basically, it is fully isolated runtime environment which abstracts away the physical characteristics of the resource and also enables sharing. The VEEs create partitioning by the virtualization layer within a site to optimize the resource utilization.
2 Agent-based layer: In this layer, cloud agents are like brokers between the virtual appliances layer and business service and provider (BSP) layer. The main aim of the cloud agents is the optimal arrangement of VEEs into CSPs configured and managed by the service manager. What does optimal arrangement mean? Suppose there are multiple users in a particular instance of time and all are intended to get the services. Then the cloud broker places the VEEs optimally so that resources can be provisioned in a maximized way. And from the perspective of cost complexity, both cloud provider and cloud user also benefit from this optimal arrangement or optimal placement of VEEs.Cloud brokers have the authority to move throughout the VEEs and are also free to place and move different sites, even remote sites, until the arrangement is satisfied. At broker level, when a service is deployed on the cloud, it is realized as a set of interrelated virtual environment extension or as a VEE group. Hence, all the activities can be done as a whole. Simply put, we can say that cloud brokers are responsible for arranging the deployment order and rollback policies, and maintaining the service workload depending upon the dynamic nature of the applications. And cloud brokers also have the authority to change the capacity of a single VEE or to add and remove the present VEEs from existing group [9].
3 Business service provider (BSP): The BSP layer consists of business service management (BSM), service-level agreement (SLA), service orchestration, and process management. It provides common infrastructure elements for service-level management, metered usage, policy management, license management, and disaster recovery [7]. BSM handles the business service policies. It manages the different services requested by the clients. It also provides the different quality of service (QoS) parameters negotiated in SLA when the business agreement was established. SLA is concerned about business-oriented agreements and laws. SLA contains some specific rules and regulations which are established between the service provider and service user. According to their agreement, cloud users can access the resources and can also renew the agreement for getting further service. Process management schedules and manages the processes. Service orchestration is the component which is responsible for ordered arrangements of the requests. Process management system schedules the processes according to their priority or provisioning strategy of computing and physical resources.
3.2.5.3 Framework Constraints
The cloud model delivers quality service to the customers, but not free from some of the constraints given below:
Dependability on hypervisor: As hypervisor controls all access to VMs and monitors the environment, the hypervisor failing or crashing or an attack on it by hackers may lead to performance degradation.
Standardized platform: Each organization has its own APIs, services, policies and different rules and regulations. So in a cloud platform, it’s quite difficult to maintain the combination of all those things from various organizations and interoperability of all the applications is also a mammoth task.
Energy efficiency: Although cloud computing provide various types of on-demand services and running applications, it requires a lot of power. And hypervisor monitoring system also requires a huge amount of electricity to monitor the access to VMs. So, energy efficiency is also a concern in cloud computing.
3.3 Architectural Workflow and Co-ordination of Multiple Activities
This section includes architectural workflow when an application is deployed on the cloud platform. Workflow style is presented here to help you easily understand the steps involved in executing and managing an application. The concept of workflow is not new. Workflow technologies first emerged in the mid-1970s with simple office automation prototypes at Xerox PARC and the Wharton School of the University of Pennsylvania. In the early 1990s, workflow and office automation gained new life.
According to Dave Green and John Evdemon, workflow is defined as follows:
“Workflow is fundamentally about the organization of work. It is a set of activities that coordinate people and/or software. Communicating this organization to humans and automated processes is the value-add that workflow provides to our solutions. Workflows are fractal. This means a workflow may consist of other workflows (each of which may consist of aggregated services). The workflow model encourages reuse and agility, leading to more flexible business processes.”
In their research article, Monika Bharti and Anju Bala [15] have described different categories and different functionalities. They are as follows:
“Workflow works behind cloud to manage resources, various clients, cost constraints. The concept of workflow is proposed by fixed work procedures with conformist