Monday, April 25, 2011

So, you design cloud infrastructure using SOA design style and adopt web service as your preferred implementation model

Figure 1

Cloud Computing, Service Oriented Architecture, and Web Services, all are here and these three are the major contributors to the new IT Trend.  Cloud computing is emerging as a big market opportunity. Vendors are coming up with various products and solutions to acquire market share in the Cloud computing. Now we have many options to select a cloud computing vendor based on our specific needs. According to a recent report top ten vendors, who are providing cloud computing services and products are listed in this site. They can enable your cloud infrastructure through providing services, products, and solutions. But you should make your own decision where and how you want to move forward with new IT trend. In this article I will focus on cloud computing, SOA, and Web Services to provide some food for thought in decision making process.

Many enterprises are already started investing and some are in planning phase. Biggest challenge is how to implement these technologies or transform existing infrastructure and operating environment into new paradigm of computing model. How to do the transformation of existing infrastructure? In this column I will first explore what SOA, Web services, and Cloud computing are? Is there any synergy among them? How they fit with each other? Then we can create a strategy to adopt SOA, Web services, and Cloud computing to transform existing IT environment into new generation of computing model. It is important we must know what they are. So, we will be able to make right decision.

Service Oriented Architecture or SOA is a design style and it is existed for some time.  Design style is always built upon a set of principles which governs its characteristics and use. SOA has the following characteristics: encapsulation, modular, loosely couple, separation of concerns, composability, and single implementation. Does it sound familiar?  Is this not similar to object oriented design? Is not SOA an evolution of object oriented design?  Answers to all these questions are “YES”. Therefore, SOA is not new to IT Architecture domain, rather, evolution from object oriented model. Like any other design style, SOA also benefited from the lessons learned from its predecessor design style.  SOA style of design offers several benefits to an enterprise, like it can reduce product development life cycle, increase business responsiveness, and agility. These business benefits are tremendous in today’s dynamic business environment and new economy.  IT community also benefitted through SOA adoption. As SOA design style helps to build services once and use multiple times, it promotes process consistency. SOA design style standardizes integration and reduces solutions complexity.  Therefore, SOA is a design style that provides benefits to both business and IT Communities.

Web Services is a technology that follows the SOA style of design. SOA and its underlying principles have existed longer than Web Services. Web service is the instantiation of service oriented architecture, it use open standard, interoperability, and asynchronous implementation of decoupled systems.  Therefore, it is a preferred technology choice for implementing SOA. On the other hand there are many web services implementations that are not SOA, like connecting two heterogeneous systems directly together. Web services have three components, Service requester, Service provider, and Service registry. They perform Bind, Publish, and Find functions.

In my previous article I discussed cloud computing in detail. Infrastructure service is most critical in cloud computing environment. It can help enterprise to scale up to massive capacities. Elastic characteristic of cloud computing can provide 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. All are achieved at infrastructure and middleware services layer. Underpinning technologies enable all these capabilities. Cloud computing benefits to small and medium-sized businesses who wish to completely outsource their data-center infrastructure, or large companies who wish to get peak load capacity without incurring the higher cost of building larger data centers internally. This is a very important decision point.

So you create cloud infrastructure using SOA design style and adopt web service as your preferred implementation model.  Now the most challenging part is decision. We have many scenarios, many data points to consider, which is the right for your company? So on and so forth. Each components of the logical view (Figure 1) of the new IT environment need proper evaluation. Many questions need to be answered.  Making right decision is the key to the success of your target Enterprise Architecture.