I want to assert a few things here. First, cloud computing won’t work without SOA for most enterprises. You just need to decompose the architecture to a functional primitive, and then build it up again as sets of easy-to-access services which include the right cloud-delivered assets. Second, at its essence, cloud computing is nothing new. It should not be a scary concept to those charged with leveraging cloud computing. Cloud computing has been part of our landscape for years and years, called by different names through its evolution, but the patterns are the same. Finally, in the context of an SOA, the successful use of cloud computing is more about people and processes than it is about technology and hype. This is about changing the way we think about software and systems, and how they are delivered.
So, what does SOA have to do with cloud computing, and why did I write a book about it? Simply put, SOA is what you do, and cloud computing is how you do it. The links between SOA and cloud computing are strong. In my opinion, they are co-dependent. Let me explain.
Cloud computing is any IT resource (including storage, database, application development, application services, etc.) that exists outside of the firewall and may be leveraged by enterprise IT over the Internet. The core idea behind cloud computing is that it’s much cheaper and more efficient to leverage these types of resources as-a-service, paying as you go and as you need them, rather than buying more hardware and software for the data center ahead of the need.
Thus, cloud computing allows you to expand and contract your costs in direct proportion to your needs. Moreover, this approach shifts some of the risk around, expanding your IT resources from the enterprise to the cloud computing provider. Cloud computing also abstracts those who use the cloud computing-delivered IT resource from the management of those resources.
That said, keep in mind that cloud computing is not always a fit. Those charged with enterprise architecture need to mix and match services that are part of their architecture with platforms that are either better if they exist on-premise, or better if they exist in the clouds. Indeed, part of the challenge with cloud computing is striking this balance.
The relationship between cloud computing and SOA is that cloud computing provides IT resources you can leverage on demand, including resources that host data, services, and processes. Thus you have the ability to extend your SOA outside of the enterprise firewall to cloud computing providers, seeking the benefits of cloud computing. Within my book I describe this as “SOA using cloud computing,” and it’s the objective of this book to show you how that’s done, in a step-by-step manner.
But let’s get back to the core purpose of this article. SOA is important to cloud computing for a few key reasons:
First, it’s an approach to architecture that deals with the proper formation of the information systems using mechanisms that make them work and play well together, inside and outside of the enterprise. SOA provides a framework that makes this much easier to understand and to manage as a process.
Second, in order to take advantage of cloud computing, you need to have interfaces and architectures that can reach out and touch cloud computing resources. While many believe they can simply create quick and dirty links between core enterprise information systems and cloud computing resources, the fact of the matter is that you really need an architecture inside of the enterprise, such as SOA, to make the most of cloud computing. SOA allows you to address systems as sets of services, and cloud computing provides you with the ability to do that using cloud-delivered resources.
Finally, you need some sort of architectural discipline with guiding principles to document and organize your architecture. Most have ignored this over the past several years to focus on ad-hoc hype-drive stuff. We need to get back to leveraging the best solution for the problem, and SOA is a good approach for doing that if you follow the steps.
For our purposes, and continuing the discussion we started above, we know that cloud computing is the ability to provide IT resources over the Internet. These resources are typically provided on a subscription basis that can be expanded or contracted as needed. This includes storage services, database services, information services, testing services, security services, platform services...pretty much anything you can find in the data center today can be found on the Internet and delivered as-a-service.
If you think you’ve seen this movie before, you’re right. Cloud computing is based on the time-sharing model we leveraged years ago before we could afford our own computers. The idea is to share computing power among many companies and people, and thus reduce the cost of that computing power to those who leverage it. It was a pretty simple idea at the time. The value of time share and the core value of cloud computing are pretty much the same. Only the resources these days are much better and more cost-effective. Moreover, you can mix and match them to form solutions, which was not possible with the traditional timesharing model.
Thus, there is nothing to fear from cloud computing. Indeed, it should be comforting to leverage resources that you don’t have to maintain. Moreover, the sharing model is something that’s been around since the infancy of IT. We’re just calling it something new: Cloud computing.
The opportunity is to learn how to leverage cloud computing—in the context of well-known architectural approaches such as SOA—as a way to get your enterprises back on track. However, cloud computing is not a “cure all,” nor something that you attach to your systems and hope for the best. You have to do some planning to leverage cloud computing resources in the right way.
Dave Linthicum is author of the book, Cloud Computing and SOA Convergence in Your Enterprise: A Step-by-Step Guide, published by Addison-Wesley Professional, Oct. 2009, ISBN 0136009220, Copyright 2010 Pearson Education, Inc. For a complete Table of Contents please visit the publisher site.