The better part of my May and June was spent travelling to industry conferences and meeting some incredibly smart customers, partner, and analysts at #gartnerAADI, #gartnerEA, #gluecon, #RedHatSummit and #CloudExpo, and the primary topic was cloud computing. I heard so much about cost savings, ease of implementation, improving agility and all the other aspects of cloud that you hope are true. I say “hope” because nothing is ever as good as it first seems, and for those of us who have seen some cycles in the world of tech, we know that if it’s too good to be true, then it probably isn’t true.
But what was interesting in all of these conversations and presentations was the prevailing notion that running your data and apps in the cloud is, in fact, great, but that no one will ever truly achieve “cloud greatness” if they don’t plan for the cloud to support their needs as they grow and change. And if their instance of the cloud isn’t optimized for integrated and inter-connected apps working seamlessly, then the cloud probably won’t deliver. And so after all the hype, it just might be that the cloud will be unable to deliver on all the promises. Again, too good to be true.
So what distinguishes the cloud promise from “cloud nirvana”? Call us biased, but it’s SOA. It’s not that SOA provides the glue, or that it fills in any gaps, but rather in the model of a well-constructed enterprise architecture, SOA is both the support net and the building blocks that allow you to truly benefit from the cloud. But why? Why SOA? What’s the value and why can it only be realized with SOA? If you’ve read the other pieces in our series on SOA and the Cloud (Is SOA Necessary for a Cloud Environment? and Developing an SOA-Based Cloud Architecture), then you already have a sense for what SOA brings and how it optimizes existing (and yet-to-be-released) applications for a cloud environment. But if you’re trying to boil it down to it’s essence, it comes down to these points:
- Governance: what’s not often stated about the cloud is the need for thorough and comprehensive governance. Nothing provides that better than a services-based framework that actually requires standards to keep all the disparate applications communicating and transacting with one another.
- Integration: your apps from yesterday, the ones you have now, and the ones you’re going to buy/develop in the coming years will all need to integrate and interact irrespective of complexity. SOA is entirely built on the precept that THAT is it’s main function – to take processes, no matter where they come from, and make them worth with other processes. If you doubt that, we’ll invite you to chat with any of our customers and they can describe how much easier things got once they focused on SOA.
- Common purpose: applications are meant to be used and users don’t care where the app lives, nor what it took to bring the functionality to them. They just want it up when they are, and ready to transact business 24/7. The cloud is supposed to provide the house in which that’s all done, but it just won’t get done unless there’s a flexible backbone that enables all of that. Again, that’s the job of SOA.
We know that there are dozens of other considerations, some at the business rules level, and some having to do with hardcore code compliance. But ultimately when we need to take a solution back to our company and help them be successful, we’ll think about these things and realize that if we can agree on a common purpose for our apps, integrate them, and provide the necessary governance, then we’re ready to establish our presence in the cloud and prepared to grow and adapt.
And when you get there, when you get to that point where you’re running your applications in the cloud and benefitting from substantial cost savings and watching integrated apps play nicely with one another, and the CEO pats you on the back and tells you what a great job you’re doing, then you will know that you are, in fact, in cloud nirvana.