Benefits of a Service-Oriented Approach in Cloud Computing
The increasing adoption of hybrid cloud environments can be directly linked to the success enterprises have made in moving to a service-oriented approach to IT. Service orientation is a way to modularize key business services and to establish well-defined interfaces designed to ensure that these services work in many different situations.
This move to service orientation is an evolving process, and not an easy one at that. In fact, organizations have worked very hard to separate traditional components of computing so that application code can function independent of the underlying operating system and hardware. This separation is required to develop the modular and repeatable development process that makes service orientation an important prerequisite for the cloud.
Of course, not every organization that is using cloud computing has adopted service orientation, but it certainly makes it easier to create a well-functioning cloud if you are planning and managing services. As companies add more and more cloud services, the service-oriented approach becomes a more important underpinning for success.
As organizations begin to manage integrated environments comprised of private and public cloud services along with traditional data center services, service orientation is being viewed as the glue that keeps everything working as intended.
Defining service orientation
Service orientation is an architectural approach based on implementing business processes as software services. These business services consist of a set of loosely coupled components — designed to minimize dependencies — assembled to support a well-defined business task. Designing systems with modular business services results in more efficient and flexible IT systems.
Systems designed to incorporate service orientation allow organizations to leverage existing assets and easily accommodate the inevitable changes experienced by a dynamic business. In addition, there are situations when a set of services needs to be combined. This ensures that these combined workloads will be able to execute with less latency than would be possible with loosely coupled components.
Service orientation is also a business approach and methodology. Using a service-oriented approach helps businesses adapt to change and makes the scalability of cloud computing possible.
Business services play an essential role in systems designed with a focus on service orientation. These business services cross a number of different IT systems, effectively breaking down the organizational silos that formed around conventional IT systems.
The following figure illustrates how a credit-checking business service is incorporated into an order-processing application. Its service is called on when a new customer places an order to determine whether the customer is credit-worthy. For the sake of simplicity, say that the credit-checking business service — software component — is run by an external company and simply provides a service. The company using this credit-checking software is confident that the service conducts a credit check properly.
The order-processing application simply requests the credit-checking service and passes along the necessary information (a person’s name and Social Security number). The credit-checking service consults its information sources, does some calculations, and passes back a credit rating.
The credit-checking service may connect to many computers, consult many different data sources, and use a very sophisticated algorithm to calculate the credit rating, but the details of how the algorithm works are of no concern to the order-processing application. As far as the order-processing application is concerned, credit checking is called on to accomplish a specific business process, and that’s all.
The credit-checking component does only credit checking. It doesn’t offer a wide range of services. It’s precisely because the components have a narrowly defined scope — that is, they do just one thing — that they can be used and reused as building blocks.
Using a service-oriented approach makes it easier to build new applications as well as change existing applications. Using well-tested and proven components makes testing new applications more efficient.
Why service orientation matters in the cloud
Hybrid cloud environments are becoming important because organizations are constantly reinventing themselves to respond to change and to become more competitive. IT must be at the forefront of a business strategy based on innovation and transformation. Organizations understand that it’s hard to find one best IT computing approach for all types of workloads. Therefore, the most practical approach is to implement a hybrid cloud environment.
To make a cloud infrastructure work in the real world requires a high level of flexibility and modularity. A cloud must be designed to support a variety of workloads and business services. No one can anticipate when a service needs to be scaled up and when it will be scaled down.
Specifically, it is this service-oriented approach to architectural design that supports the key cloud characteristics of elasticity, self-service provisioning, standards-based interfaces, and pay-as-you-go flexibility. The combination of a service-oriented approach and cloud services enables companies to lower costs and improve business flexibility. Reusable and loosely coupled components make scalability and elasticity a reality for public and private cloud environments.
One of the key benefits of a service-oriented approach is that software is designed to reflect best practices and business processes, instead of making the business operate according to the rigid structure of a technical environment. Service orientation lets companies leverage existing assets and create new business services that are consistent, controlled, and more easily changed and managed. As a result, a service-oriented approach leads to business goals consistent with the demands of cloud computing environments.