Service analysis: This is the analytical study of a particular business process and its rationalization of capabilities in different fields of business service like service contracts, agreements, globalization, etc. Driven by the different strategies and policies of the service provider, the business case is established, and those strategies and policies will be used in future stages.
Service development: After the analysis phase, the development phase creates the business service as required by the customers. It is the phase where service developers write the coding part which leads to rationalization of different contracts and business service is implemented through this phase. Service developers also create the web-based interface through which the customers can easily get the services.
Figure 3.1: Life cycle of SOA.
Service testing: Service testing is the phase which comes after the development phase and it contains a test data module for testing purpose. In this phase, in-progress software can be periodically checked for errors, regressions, and also for debugging. Sometimes, performance testing and functional testing is also done in this phase for maintaining quality of service (QoS).
Service provisioning: When the testing phase is completed, service is ready to be utilized and the service is provisioned to the users. While consuming the service, the users have to maintain the service-level agreements (SLA) because they are using properly designed production infrastructure. When each term and all the rules and regulations of SLAs are found satisfactory, dedicated business service is successfully provisioned to the customers.
Service operation: This is a key phase in the life cycle. There are various types of activities done by the Management API, which is the management infrastructure responsible for the following operations: metered usage of services, performance optimization, service updating, enabling authentication, authorization procedure, maintaining data privacy, generating business strategies, providing dynamic provisioning, monitoring transactions, reporting, and keeping metadata.
Service consumption: This can be understood by its name alone. A business service is consumed by the users. Service is getting consumed through web services; whenever service providers validate some business services, the customers as well as the providers maintain some regulations, which are as follows: security policies, service dependencies, agreement level policies, resource provisioning rules, service syntax and semantics, and also capability.
Service change management: In any IT business application or business service, there may be a sudden change while interacting with the customer. So there is a phase that has the authority to control the service change management, keeping in mind that the existing customers should not be affected. In addition to security, privacy as well as SLA policies, the technology platform change is of primary concern in this phase. This phase leads the service developers to be more flexible.
Service decommissions: In this phase of the cycle, data is transferred and unused data are cleaned up. An acknowledgment message is also transferred from the user and even from the related organization’s end. As there are changes in different business strategies, service providers try their best to provide better services. And this phase also has the ability to decommission services.
3.2.4 Integrating SOA and the Cloud
We have already discussed the cloud services and also basic concepts of SOA. Cloud services benefit from service-oriented orchestration. The modular approach of SOA is advantageous and getting attached with cloud services. When cloud services and the service-oriented approach are combined, service providers benefit because they can provide the services according to the requirements of the cloud users. Moreover, cloud users also get the advantages of this combinatorial approach because they are getting services according to how much they need. So, they have to pay for how much they have used. And this is the concept of “pay-per-use.”
Cloud architectures are built in such a way that components can be reused in an efficient way and those will be effectively compatible with the service-oriented approach. In the SOA approach to modeling software, software is organized in terms of services, each capturing reusable functionality that can be discovered at run time and accessed in a location transparent manner through well-defined, open standards technology-based interfaces. Although SOA is not a new concept, it has been receiving considerable attention in recent years [8].
In an SOA environment, end users request an IT service (or an integrated collection of such services) at the desired functional, quality and capacity level, and receive it either at the time requested or at a specified later time. Service discovery, brokering, and reliability are important, and services are usually designed to interoperate, as are the composites made of services [8].
Hence, we can see that the SOA-based approach is quite suitable for designing cloud services. While designing the cloud architecture, the cloud architects and cloud developers can easily get the benefits of SOA and are able to provide the services according to the needs of the users. The main purpose of this approach is to deliver the business service to the customers with minimal cost and also efficient use of resources.
In the next subsection, we will focus on the architectural framework of cloud computing. We will describe the modular approach of cloud computing which is the combination of cloud services and SOA.
3.2.5 Cloud Architecture
This subsection, deals with hybrid architecture issues of the cloud. Each cloud client or end user or employee of an organization accesses the operating system, software application, network, bandwidth, and storage via the internet, as shown in Figure 3.2.
Figure 3.2: Architecture of cloud computing environment.
The entire hybrid framework may be subdivided into two important layers [5] as cloud platform architecture (CPA) and cloud application architecture (CAA). In between the CPA and CAA layer, there is a connecting layer which is the cloud provider, which is associated with cloud APIs and is available in the internet-oriented business area of the IT industry. The significance of two layers is discussed below.
3.2.5.1 Cloud Platform Architecture
Cloud platform architecture is the base architecture of cloud, which includes the cloud service-oriented architecture. In a CPA reference model, we classified the CPA model into the following sublayers:
1 Distributed resources of physical hosts: Resources of physical hosts are distributed over the lowest level of the framework. These resources are logically represented as a multiple numbers of virtual machines (VMs) through resource virtualization. Resources are basically a pool of processors, memory, CPU cores, storage, networking components, etc. All those resources are efficiently provisioned to the cloud users through virtualization technique. Resources virtualization is discussed in the fourth layer.
2 Cloud hypervisor: Cloud hypervisor is designed like a mainframe operating system that allows other operating systems to run on the same machine concurrently. It monitors the access of guest operating systems (users’ operating systems). Hypervisor monitoring environment (HME) administrates the system by letting