COMMENTARY—Government SOA

David Linthicum | SOA cloud computing relationship leaves some folks in a fog

David LinthicumAll the noise about cloud computing has left many in the government confused about the relationship between service-oriented architectures and cloud computing. Indeed, the most common question I get these days is: “How will our organization move from SOA to cloud computing?” That’s just not logical.

Cloud computing is a hype-fueled hit. Almost all government information technology service providers are retooling for cloud computing, including CSC and Booz Allen Hamilton, and government agencies are deploying projects to leverage cloud computing resources. At the same time, almost all of the same agencies that are moving into cloud computing have SOA or SOA-related projects under way. This is why I am getting so many questions around the relationship between SOA and cloud computing.

Let’s get back to the basics. SOA, at its essence, is an architectural pattern that actually predates the SOA buzzword. It’s about breaking an architecture down to a functional primitive, understanding the information and behaviors, and building it up again using service interfaces that are abstracted into a configuration layer to create and, more importantly, re-create business solutions. Very simple point.

Cloud computing is a type of solution, a way of creating a system in which some or all of its IT resources exist within some third-party cloud computing resource, such as Amazon EC2 or Force.com. Thus, cloud computing is something that can involve part of or all of an architecture. The core difference is that the system is extended to resources that you don’t own or host locally.

Putting this more simply, SOA is all about the process of defining an IT solution or architecture, while cloud computing is an architectural alternative. Thus, SOA can’t be replaced by cloud computing. In fact, most cloud computing solutions are going to be defined through SOA. They don’t compete -- they are complementary notions.

Making the misunderstanding worse are recent analyst comments and blog posts that talk about cloud computing as the next evolution of SOA, which is also not logical. In essence, the people who make those statements, I’m finding, typically don’t know much about either of those topics.

Don’t get me wrong, the movement to cloud computing is a great thing and has been a long time in coming. I’ve been chief executive officer of two cloud computing companies, and the chief technology officer of another. The ability to leverage IT resources, as a service, will make computing more accessible for all businesses, including the government.

Although all systems are not right for cloud computing, there are many instances where this new technology, based upon a very old concept (time-sharing), will bring much-needed efficiency and cost reduction to government agencies. I’m pleased to see the number of cloud computing projects being defined by the government these days, although I’m just a bit concerned by the amount of misinformation out there.

The role of SOA in cloud computing is systemic. The ability to create a successful cloud computing solution means having an information-, service-, and process-level understanding of the problem domain. Then, break the architecture down into services that are decomposed and normalized, and then define core business processes that leverage those services. Finally, you can pick the technology solution, and cloud computing is another weapon in your architectural arsenal to create a successful instance of a SOA.

Another thing to keep your eye on here is the fact that SOA, while being an architectural pattern, is also a strategy. Thus you need to keep your enterprise architecture and the use of SOA in clear view as you look at any new technology or approach coming down the pike. The technology will always be changing, whereas your architecture should be relatively stable.

About the Authors

David S. Linthicum, a former commercial chief technology and chief executive officer and technology professor, leads a consulting firm specializing in SOA, enterprise architecture, and Web 2.0. He is author of Enterprise Application Integration, among other books.


Reader Comments

Tue, Jul 14, 2009 Wolfgang Suft

You should check http://www.resoa.org, it is a Open Source framework, released in July 2009, which exactly meets the challenge of setting up an IT architecture, enabling Cloud Computing based on Java Services. We developed this framework based on a long term experience within the financial banking and exchange trading business, and finally decided that it has to become public, as we are convinced, that it will be an excellent way out of the mess.

Tue, Mar 10, 2009 Tim Hall Cupertino

Dave -- I believe that many of the same challenges in adopting cloud-based services are very similar to those that are faced within the context of adopting service-oriented architecture. Many of the same principles and concepts that were codified via SOA Governance solutions will feel VERY familiar to those looking at cloud computing. I would add that those large enterprises that have adopted SOA Governance solutions are essentially BETTER prepared for the challenges of cloud adoption that those who have not. Enterprise IT will be faced with sourcing and composing systems from both on and off premise "parts" and from "parts" that were built by in-house teams and outsourced groups. One of the key issues is ensuring that Enterprise IT maintains some level of consistency and control over where the parts are, who owns them, and which one(s) are available for consumption.

Mon, Mar 9, 2009 Dustin Amrhein

This is an interesting article. I'd like to think that while cloud computing is by no means an evolution of SOA, it can be viewed in some ways as an extension. Hopefully the principles of SOA can be extended into the infrastructure services offered by the cloud so that these services, much like software services, can be discovered, managed, governed, etc. It also seems that there is a strong argument for SOA being an enabler of cloud computing in so far as it has helped to make services offered in the cloud more readily consumable. Using SOA standards/concepts, enterprises can compose services across domain and firewall boundaries to deliver composite applications. Just my two cents...

Please post your comments here. Comments are moderated, so they may not appear immediately after submitting. We will not post comments that we consider abusive or off-topic.

Please type the letters/numbers you see above