Skip to main content

How the Cloud Stretches the SOA Scope

Lakshmanan G
Infosys

Manish Pande
Infosys

 

September 2009

 

Summary: In this article, we will describe how the enterprise service-oriented-architecture (SOA) scope is stretched with the advent of cloud computing. With the help of the case study of a fictitious global retailer, we will demonstrate the process for identifying cloud scenarios. Also, we will come across an emerging breed of distributed applications—both on-premise and in the Cloud—and discuss the integration considerations for building them.

 

Introduction

Over the past few years, enterprises have adopted strategies for both build and build vs. buy for their enterprise-application development. In many business domains, such as retail and manufacturing, packaged application has found favor because of the availability of best-practice business functionality for faster time to market. This has led to a mesh of packaged applications, legacy systems, and bespoke and homegrown line-of-business (LOB) applications that are connected by point-to-point integration and mature enterprise- application integration (EAI) and SOA-based enterprise service bus (ESB) implementations, in some cases.

Enterprises are now extending the existing enterprise SOA investments into the Cloud to address new business pressures and opportunities.

In this article, we use the example of a fictitious global retailer (Globtron) to demonstrate how an enterprise should explore the new business opportunities and map application requirements to the Cloud.

Also, with the help of this case study, we describe the integration requirements and solution options for on-premise and cloud integration in the context of Microsoft Windows Azure .NET Services.

 

SOA in an Enterprise

As an architectural principle for delivering agility and flexibility by decoupling interface and implementation (business logic), SOA has been in existence for decades. Object-oriented and component-based development models were established by using the same principle. Recent technological developments and Web-service standards have made SOA easier by replacing method calls on object references to message passing.

In large enterprises, services have been delivered in isolation by several projects that are based on LOB requirements in the organization—not as a big-bang SOA-definition project. Enterprise- architecture (EA) efforts in the organizations helped identify the reusable services and leverage existing investments. Because SOA facilitated interoperability, many legacy applications were exposed as services and the business functionality was reused.

SOA became the EAI driver across the company, and EAs have evolved into on-premise distributed systems that are enabled by SOA.

 

The Cloud Opportunity

Cloud computing presents both a model and new opportunities for technology buyers in an enterprise. It offers the opportunity to focus on the core capabilities of an enterprise by outsourcing certain aspects of IT and reducing IT costs. It also accelerates the provisioning and deployment with the support hassles that are transferred to the cloud-service provider. The Cloud is altering the way in which organizations build their infrastructure and applications.

The essential characteristics of cloud computing include both the delivery model and the commercial model. In terms of the delivery model, it should be available as a service over the Internet and accessible either from a Web browser or as a Web service. Commercially, users pay for service usage; both the overall maintenance effort and user costs are low.

Technologically, the Cloud is a culmination of standards and technologies that have come together over the past several years. They include server virtualization, Web Security, and Web Services. The implication for the enterprise is that dynamically scalable infrastructure is available transparently, without any IT involvement in building and managing the infrastructure.

The popular cloud-computing models include Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), as described in the following:

  • Infrastructure as a Service—Delivery of server infrastructure as a service. An enterprise does not need to purchase servers, networking equipment, or data-center real estate. It is all managed by the cloud provider who also dynamically scales up or down, based on the application-workload requirements. Examples of IaaS are Amazon Elastic Compute Cloud (EC2) and AppNexus.
  • Platform as a Service—Infrastructure and complete development environment and computing platform for application development and deployment in the Cloud. Examples of PaaS are the Windows Azure and the Google App Engine.
  • Software as a Service—Web-based deployment model, so that the entire application software is available through the Web browser as a service. Again, pricing is based on usage. Examples of SaaS are SalesForce.com, Windows Live Hotmail, and Microsoft Dynamics CRM Online.

 

Application Characteristics for the Cloud in an Enterprise

The cloud adoption in enterprises initially is led by tactical opportunities that offer implementation speed and cost advantages to these enterprises, although there are a few misconceptions about when to use the Cloud and the associated technological challenges in moving toward it. Security, performance, availability, and reliability are the top concerns that IT managers cite for adopting the Cloud. Cloud providers are addressing these concerns through appropriate architectural measures and service-level agreements (SLAs) to gain user confidence in the Cloud. (See Figure 1.)


Figure 1. Application characteristics for the Cloud in an enterprise (Click on the picture for a larger image)

 

The following are the characteristics of applications that are potential candidates for the Cloud:

  1. Non-core business services—For an enterprise, there are certain business functions that are core to the value that the enterprise delivers and drive more business and customers to the organization. For example, the core functions for a retailer are merchandizing and customer service. However, functions such as Web conferencing, enterprise-content management, and portal are non-core or non-differentiators; they are only enablers to support the business. Non-core applications are good candidates for the Cloud and allow organizations to focus their business and IT staff on building the core.
  2. High computing workloads over short time span— Applications that do not have uniform workload requirements. There will be spikes in usage for a small period; otherwise, however, resource utilization will be low most of time. Instead of acquiring infrastructure to support the peak workload, an enterprise can acquire space in the Cloud and pay for usage.
  3. New business services and pilots—Applicable in scenarios in which enterprises need the flexibility to launch new business applications, without having to invest in full IT infrastructure upfront. The Cloud offers a good platform for experimentation, as businesses can terminate the contract, if needed—thus, helping them manage their risks better.
  4. Web 2.0 collaborative applications—Applications (such as video sharing, discussion forums, and blogs) that generate data that is exposed to the public.
  5. Centralized applications—Applications that have cross- enterprise and cross-departmental reach. Instead of duplicating the effort in creating multiple applications or copies of the same software, these can be offered as cloud applications. Besides allowing enterprises to offload the infrastructure management to the cloud provider, they also offer economics of scale through their reuse across different departments.

 

The Case of a Global Retail Enterprise

Model Business Drivers

How do cloud opportunities for enterprise IT derive from the business pressures and enterprise requirements? Let us take the example of Globtron, a fictitious retailer of electronics goods. Globtron is a U.S.-based retailer that has a strong brand presence. Recently, it has increased its global footprint with rollouts in a few European countries through acquisitions. Over several decades of running the business, Globtron management knows that its core business value that drives customers to their stores is in merchandising, customer service, and branding.

The key business challenges for Globtron are to expand rapidly and extend its footprint to emerging markets in Eastern Europe and Asia, establish its brand worldwide via superior customer service, and drive growth further through new business services and channels.

  • Rapid global expansion—Although Globtron is growing both organically and via acquisitions, its objective is to adopt its existing business best practices and IT systems, while taking care of local requirements and constraints. Globtron wants to leverage its existing investments in IT and reduce licensing, hosting, and maintenance costs to benefit from what Globtron believes will offer benefits of economics of scale. The challenge is to deploy existing staff in the United States and local IT to focus on the core business and build innovative applications for merchandising and customer service, instead of managing servers and infrastructure.
  • Branding and superior customer service—Customer feedback and collaboration are key to the success of Globtron, who wants to offer collaborative applications and business tools to customers and store staff, so as to connect better with customers and improve customer service.
  • Driving growth via new business services and channels—Besides opening new stores across several countries, Globtron also wants to increase its existing service and channels mix to improve customer experience. Again, Globtron wants to try out the new services and channels quickly and review initial progress through pilot launches, without having to commit to extensive investments in IT infrastructure.

Application Scenarios for Each Business Driver

Next, we list the application requirements to address the key business issues that are linked to the key business drivers. We are limiting it to the sales and marketing subdomain of the retail enterprise. Please note that this is only an illustration for discussing the concept and approach, and is not a comprehensive listing of all possible scenarios and solutions. (See Figure 2.)


Figure 2. Case of a global retail enterprise—application scenarios for each business driver (Click on the picture for a larger image)

 

Rapid Global Expansion

• Global usage of service-based loyalty application—Globtron has built a loyalty application in the United States that exposes Web Services for consumption from multiple channels, including store and e-commerce systems. The services allow store and e-commerce systems to validate the loyalty card number of a customer, compute loyalty points, and set up the customer in the loyalty system. The Globtron business team believes that it should leverage this system globally for all other countries.

• Extension of homegrown e-commerce system internationally—Globtron has established a successful online e-commerce and is able to drive huge traffic and sales in the United States. Globtron wants to utilize the existing e-commerce application for rollouts across the world, but without the hassles and costs to set up multiple instances for similar functionality across different countries.

• Readiness to address peak workload for e-commerce—Globtron has asked its IT department to assess the readiness of its infrastructure to address peak workload demand for the upcoming holiday season.

• New store portal for store staff—Globtron also wants a store portal for the store staff, so that the retailer can improve communication and collaboration with the store staff and share information, such as operation manuals and best practices.

• Centralization of store systems—One of the pain points for retail IT is the overhead and cost that are involved in distributing software upgrades and patches across stores. Globtron wants to re-architect and deploy a central store system that is accessible from the store devices via the Internet and the smart-client model.

Branding and Superior Customer Service

• New social-media applications for customer feedback and collaboration—Globtron wants to engage better with its customers, obtain feedback on its product and services, and drive sales and customer loyalty through collaborative applications such as reviews and ratings, videos sharing, and discussion forums.

• New CRM system for repairs service—Globtron wants to improve the customer service for its electronics-repairs business that is available in several stores through automation.

• Launch of online marketing campaign—Although Globtron does not have a significance presence in online selling outside the United States, it wants to launch an online marketing campaign to provide offers for its customers, build loyalty, and drive more sales.

Driving Growth via New Business Services and Channels

• New venture into online home-appliance retailing—As part of its strategy to venture into new services, Globtron decided to retail large home appliances in Germany. However, because its store format is small and medium, Globtron does not have much real estate for this business. The business team decided to experiment with online selling for this segment. However, the success of this business will require some initial pilots and feedback before it can go full steam into it.

Mapping Application Scenarios to Cloud-Application Characteristics

We have mapped each of the previous application scenarios to the cloud-application characteristics that we discussed earlier. Figure 3 illustrates the mapping.

Figure 3. Case of a global retail enterprise—mapping application scenarios to cloud-application characteristics

 

Mapping Application Scenarios to Cloud Types

With an understanding of the application characteristics and mapping them to cloud characteristics, we can now map each application to one of the cloud types. The following are some of the cloud-solution options for Globtron (see Figure 4):

Figure 4. Case of a global retail enterprise—mapping application scenarios to cloud types

 

  • New portal for store staff and CRM system for repairs service—Leverages SaaS offerings such as Microsoft Office SharePoint Online and Dynamics CRM Online.
  • Readiness to address peak workload for e-commerce—Cloud burst to an IaaS service such as Amazon EC2
  • Extension of homegrown e-commerce system internationally—Can again deploy it on the Cloud by using an IaaS offering
  • Global usage of service-based loyalty application—Exposes on-premise loyalty Web Services to all other countries by using integration in cloud offerings such as Windows Azure .NET Services
  • Centralization of store systems—Re-architects and deploys the existing application on the Windows Azure

The remaining three could be developed by using a PaaS offering, such as the Windows Azure and the Google App Engine:

  • Launch of online marketing campaign
  • New venture into online home-appliance retailing
  • New social-media applications for customer feedback and collaboration

Extending On-Premise Applications to the Cloud

For large enterprises, the different applications and associated data cannot exist in silos, whether on-premise or in the Cloud. They must integrate for exchange of data, so as to complete the different steps of larger business process or leverage the reusable business services that are exposed by each other in delivering superior business applications.

The cloud model offers additional choice with management simplicity to enterprises, so as to augment their core on-premise applications. The EA challenge is to integrate with the Cloud. The good news is that with adoption of existing SOA and Web Services, this will be easier than ever. The Cloud should be viewed as an extension of the existing EA.

In the following section, we discuss the integration scenarios for the Cloud and the considerations for extending existing SOA investments into the Cloud, along with some examples from the Globtron case study.

Possible Integration Scenarios

The possible integration scenarios between on-premise and Cloud- based applications are as follows:

  • Browser access only: Usually, SaaS applications are full-service standalone applications that are accessible via a Web browser.
  • Cloud functionality that is exposed as a service for consumption by on-premise or other cloud applications.
  • Existing on-premise business functionality or services that are exposed to the Cloud.
  • Data integration between on-premise and cloud data stores.

Such emerging hybrid models of on-premise and cloud applications result in a new class of distributed applications. SOA-based integration with SOAP or REST Web Services seems to be the easy answer to this problem; however, there are various other issues that should be handled for it to work across organizational boundaries and firewalls.

Considerations for Cloud Integration
  • Existing SOA investments—There is commonality in the business objectives of SOA and cloud computing with regard to delivering agility, flexibility, and reuse. The existing core business services that have been developed within the enterprises will coexist and integrate with the services in the Cloud. This is again enabled by SOA. The integration solution should address the challenge in letting outside organizations find endpoints of the on-premise services.
  • Enterprise-architecture practices—SOA is part of the EA mainstream. The scope of existing organization practices for EA, such as governance, are preserved and extended to the Cloud (the Cloud is also part of the enterprise technology portfolio).
  • Access across firewalls—To expose existing on-premise services to the Cloud, enterprise IT has to deal with issues such as handling network-address translation and enabling access through a firewall by opening new ports.
  • Security-access control—In the distributed application, we need an access-control solution that works across enterprises that holding their own identity information. The solution should address key quality-of-service (QoS) requirements, such as system availability and reliability of integration points.
Extension of On-Premise Applications to the Cloud by Using Windows Azure .NET Services

The Windows Azure is an Internet-scale, cloud-computing services platform that is hosted in Microsoft data centers. The Windows Azure uses SOA heavily and provides SOA-based access to data.

.NET Services is one of the components of the Windows Azure; it provides cloud-based infrastructure services and facilitates creation and deployment of composite applications. .NET Services comprises an access-control service and a service bus.

  • Access control—Cloud implementation of claims-based identity federation for performing federated access-control authorization as a Web service across organizations and protocols. This service utilizes standard protocols, such as WS-Trust and WS-Federation.
  • Service bus—Allows applications that expose Web-service endpoints to be located and accessed by clients. This service enables communication between two applications—both of which might run in the Cloud; one of which might run in the Cloud and the other on-premise; or both of which might run on-premise, but across different enterprise data centers. It also addresses the firewall-access issues of enterprise systems and enables connection, without requiring data centers to open new ports for access—thus, providing location transparency to integrating applications.

Refer to the Resources section for links to the Windows Azure resources that are available on the Internet.

Integration Scenarios for Globtron

Let us consider the integration requirements of some of the applications for Globtron, so as to illustrate the on-premise and cloud-integration requirements and possible solution patterns. We also look at integration-solution options in the context of the Windows Azure.

Example 1:New venture into online home-appliance retailing

Table 1 shows the integration requirements for this application that Globtron is building by using Windows Azure computing and storage services.

 

Integration requirement(s)Applicable integration typeIntegration patternWindows Azure solution
Expose existing on-premise loyalty, order management, and fulfillment servicesFunctional integrationService interface.NET Services
Periodic import of catalogs from on-premise merchandising systemsData integrationMessage-oriented middlewareQueue in Windows Azure computing resources
Customer data to be replicated between the new online database and on-premise customer repositoriesData integrationData replicationReplication capability of cloud data platforms, such as SQL Azure
Inventory updates from the existing fulfillment and warehousing systems of GlobtronData integrationMessage-oriented middlewareQueue in Windows Azure computing resources

Table 1. Cloud integration for the “New venture into online home-appliance retailing” scenario

 

Example 2:Global usage of service-based loyalty application

To expose the on-premise loyalty service, Globtron can utilize integration services— such as .NET Services—on the Cloud. This allows existing enterprises to expose their Web-service endpoints for usage from the Cloud and partner enterprises (see Table 2).

 

Integration requirementApplicable integration typeIntegration patternWindows Azure solution
Existing on-premise loyalty serviceFunctional integrationService interface.NET Services

Table 2. Cloud integration for the “Global usage of service-based loyalty application” scenario

 

Example 3:New social-media applications for customer feedback and collaboration

The social-media application that is built on Windows Azure can expose content by using RSS feeds or Web Services (RESTful or SOAP). Globtron can create mash-ups by combining these with the existing data services or data source of the on-premise marketing application (see Table 3).

 

Integration requirementApplicable integration typeIntegration patternWindows Azure solution
Aggregate user-generated content such as blogs, reviews and ratings, and videos with the product data in the marketing site to generate interesting product reviews and informationData integrationMash-upWindows Azure computing and storage resources

Table 3. Cloud integration for the “New social-media applications for customer feedback and collaboration” scenario

 

Conclusion

In this article, we discussed how organizations have evolved EAs into on-premise distributed systems that are enabled by SOA and can identify cloud opportunities, so as to address their new business requirements. We discussed the application characteristics for the Cloud. We also discussed how an enterprise can map its business drivers and application scenarios to cloud characteristics and identify cloud solutions that coexist and integrate with the existing on-premise applications. Finally, we discussed integration scenarios, requirements, and solution considerations.

 

Resources

Armbrust, Michael, et al. “Above the Clouds: A Berkeley View of Cloud Computing.Technical Report No. UCB/EECS-2009-28, Electrical Engineering and Computer Services, University of California at Berkeley, February 10, 2008.

Bertocci, Vittorio. “Claims and Identity: On-Premise and Cloud Solutions.The Architecture Journal, MSDN, July 2008.

Carr, Nicholas G. The Big Switch: Rewiring the World, from Edison to Google. New York: W. W. Norton & Co., 2008.

Chappell, David. “Introducing the Azure Services Platform: An Early Look at Windows Azure, .NET Services, SQL Services, and Live Services.” MSDN, October 2008.

Hoover, J. Nicholas, Paul McDougall, Art Wittmann, Rob Preston, and John Foley. “ Microsoft’s Stake in the Cloud.” Research and report, InformationWeek, October 31, 2008. (Requires registration.)

Microsoft Corporation. “Architecture Journal Profile: Ray Ozzie.The Architecture Journal, MSDN, October 2007.

Microsoft Corporation. “Infosys Creates Cloud-Based Solution for Auto Dealers Using SQL Data Services.” Microsoft Case Studies, October 2008.

Pace, Eugenio, and Gianpaolo Carraro. “Head in the Cloud, Feet on the Ground.The Architecture Journal, MSDN, October 2008.

Trowbridge, David, et al. “Integration Patterns.” patterns & practices Developer Center, MSDN, June 2004.

About the Authors

Lakshmanan G (lakshmag@infosys.com) is an educator and mentor in IT architecture with the Education and Research group of Infosys Technologies Ltd. With more than 20 years of experience in the IT industry, he nurtures a vibrant community of architects at Infosys. Prior to this, he was Head of Engineering, SaaS Practice, and Head of Infosys EMEA Architecture Practice.

Manish Pande (manishp@infosys.com) is a lead architect with the Product Incubation and Engineering (PIE) unit of Infosys Technologies Ltd. Currently, he is responsible for architecting Infosys SaaS–based product offerings. With 11 years of consulting experience, he has played a variety of roles, including Solution Architect, Engineering Manager, and Technical and Performance Architect.


Follow up on this topic

 

Rate this content 

Calculating the Economic Viability

of Cloud Computing

for Your Organization

Shy Cohen

 

There are many aspects to consider when you plan your cloud- computing strategy, such as the architectural fit of your application for the cloud model, the existing knowledge and training needs for your development and IT staff, and the protection of intellectual property. In this column, I would like to touch on just one aspect: the economic angle.

When you plan cloud adoption, start by looking closely at the cost of running your application on the various cloud platforms. Compare this cost to the cost of aggressive virtualization or of running your own “Internal Cloud.” Examine the physical computer and/or virtual machine and process-level models for running applications off-premises.

Measuring is key! Cloud computing is a nascent technology, so you should not blindly trust the numbers that other people come up with. The best way to assess the actual cost of running your applications in these different environments is to test them yourself. Remember that doing so might require some re-architecting of your application (to optimize it for the platform on which you are measuring cost) and that measuring takes time and money.

When you have measured the actual cost of running your applications, expand your calculation to consider more than “where is it cheaper to run my app?” Think about your ROI and ROA. Consider the facilities, employees, and management costs that are associated with running your own hardware. Evaluate the possible gains (monetary and other) of being able to capitalize quickly on emerging opportunities through avoiding the delay that can be introduced by IT procurement. Think holistically.

It is likely that different departments within your organization will employ different cloud strategies. For some, adopting a cloud platform might be better, while the right choice for others might be to invest in building up a departmental computer lab, as well as hiring and managing the personnel to run and manage it. The decision will be based on the focus of the department and its available IT resources.

Another factor is the duration for which the resources are needed. Short-term usage and sporadic usage might require a strategy that is different from the one that is used for long-term investments. Processing and/or storage capacity are no longer assets that you must buy and manage, especially if you do not need them most of the time. Consider the ongoing cost of running and maintaining computer resources, given their actual utilization, and determine their real cost and associated ROA.

Lastly, remember that cost must be measured on an ongoing basis. The cost structure of on-demand resource utilization is different from the cost structure of on-premises computing. Protect yourself by continually monitoring and managing your resource utilization, as well as the charges that this consumption creates. Whichever approach you choose, prepare a contingency plan in case the cost of that approach becomes too high.


Shy Cohen (shy@shycohen.com) is an independent Software Architect, Consultant, Speaker, Coach, and Entrepreneur. Before he started his own practice, Shy worked at Microsoft for many years as Senior Program Manager on projects such as “Oslo,” WCF, MSN, Windows, and ISA.