Technology Trends and Other Cool Things

Arun Rao

Subscribe to Arun Rao: eMailAlertsEmail Alerts
Get Arun Rao: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Cloud Expo 2010 East in New York

Someone recently asked me whether Service Oriented Architecture (SOA) adoption will slow down now that companies are seriously looking at Cloud computing alternatives to their internal architectures.

After all, SOA was a big buzzword in the past several years because of its ability to reduce speed of deployment and complexity, and therefore, total cost of ownership. With more applications and infrastructure elements moving to the Cloud, the argument goes, the need to implement SOA within the enterprise could be diminished. I have seen some articles and opinions on the Web that make similar arguments.

Cloud computing is by no means an extension of SOA, and the two are mutually exclusive in many subtle technical ways. But they do go hand in hand and will only benefit companies that implement them in tandem, rather than separately. Here's why:

Service Oriented Architecture:
Service Orientation (SOA) at its core is a set of design / architectural patterns where complex business processes are broken down into their functional elements and exposed as independent processing units. In a fully deployed SOA implementation, these services are bound together through a business process model and a series of contracts.

What this allows a company to do is to use the same business logic (for instance, validate vendor status) across domains and technologies without having to re-write the code as many times as there are ERP systems. It is especially useful for a company which has business units across geographic locations and has grown through acquisition (and therefore, has many ERP systems) - and still wants to standardize on a single set of business rules / processes.

This concept of course, can be used across business boundaries and for seamlessly integrating with business partners (suppliers and customers) in near-real-time.

This is not to say of course, that since the company has the ability to do SOA, they should go ahead and implement it for all situations - there are implementation guidelines and best practices which help avoid pitfalls of improper implementation that can often lead to disastrous results.


Let's look a little closer at the Cloud computing concepts:

Cloud Computing:
Cloud computing is basically the use of pooled / shared computing resources for processing and/or storing information. The metaphor, "Cloud", refers to a nebulous network resource typically represented in the form of a cloud in IT drawings. This "cloud" usually stands for the Internet, but could also be an internal corporate network. More information about this can be found in the Wikipedia article here.

The main enablers for the adoption of Cloud computing are the availability of high-speed Internet connection around the world and Virtualization (if you are really looking to understand Cloud computing from a technical perspective, I suggest starting with Virtualization). The catalyst for the current Cloud hype-cycle, of course, is the Great Recession - and the need to scale out while keeping costs down.

There are 3 typical forms of Cloud solutions - the Infrastructure cloud, Platform and Software (read more about it on Wikipedia or my other post). The common thread being virtualization, and differing only in the way they can be used / costed. Google Apps, Microsoft Online and - for instance - fall in the SaaS category (where users simply sign up and use them); while Google App Engine, Microsoft Azure and are Platforms that allow developers to build their own applications to be used on that specific platform.


Integration Use Case:
Now let's see what the challenges are which force companies to look at new technologies like Cloud with an example in the Supply Chain industry:
Any company that runs business applications needs to exchange data between applications. Even companies that are small, still have more than one application (for instance, a payroll application, sales / marketing database, inventory / production application or a directory / LDAP / AD) in its environment.

If the company decides to move one function out to the cloud, say the Sales Management function to, then the success of that "outsourcing" will depend on how well the data integrates back into the company's internal production systems. For instance, if orders are not received in time on, say, the last day of the month or quarter, sales cannot be recognized until its too late (that is, if the customer does not cancel the order due to the delay) - leading to a direct revenue impact.

This kind of near-real-time integration and flow of information back to the back-office applications is possible by implementing a SOA framework. The other option of course, is to get regular file-dumps (which by definition, is not near real-time).

My friends in the IT practitioners world will be quick to point out that SOA is not suitable for all kinds of data integrations; and I whole-heartedly agree... I advocate a methodical approach to SOA implementation... but that's a totally different topic of discussion.

There are similar arguments for online updates and information exchange when moving processes like Project Management, Financial functions and Human Resource processes to the Cloud; or even to abstract proprietary business logic and expose it to business partners for things like Vendor status validation, Available-To-Promise, etc.

A well thought-out catalog of primitive business functions exposed as Services on a robust Service Bus deployed within the company's IT infrastructure will help the company move functions to the Cloud more efficiently and save cost while providing scalability.

The key success factor, of course, is identifying and coordinating these cloud implementations centrally, across the entire IT and business spectrum.

Read the original blog entry...

More Stories By Arun Rao

Arun Rao is a seasoned technology executive based in the SF Bay Area.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.