In today's service oriented architecture, it doesn't matter if the services you deploy or use are coming from inside your company's firewall, or from somewhere else on the globe. A service is a service is a service.
That's the word from Dave Linthicum, CTO of Blue Mountain Labs and well-regarded author and speaker on all things service oriented, in his latest talk on meshing (or mashing) SOA and the cloud.
Ultimately, the proliferation of pre-built services now in the cloud enable enterprises to be built on OPW, or other peoples' work, Dave says. "Why build when you can rent, or get it for free?" he asks.
"Ultimately if we're building a SOA around the notion of services, and all those services are and known and tracked, typically within a repository within a governance system, then there’s no reason we can't start adding services that we don’t own or host that we may use for free, best case scenario, or perhaps pay a subscription fee to basically augment and add value to to existing process and services that exist within our service oriented architectures. Ultimately, we can access to a lot of things -- behavior, information and processes of which we didn’t have to suffer through the creation, testing or deploying, and leverage those within our services oriented architectures as if we did build them. So that's very cool."
Of course, cloud services can't just be dropped into a service oriented architecture and magically start generating value for the business. Dave also outlined a number of considerations for blending cloud and SOA:
- Accept the notion that its okay to leverage services that are hosted on the internet as part of your SOA: "Normal security issues apply, but in many instances, the core hindrance is not technology, its politics," Dave says.
- Create a strategy for consumption and management of cloud services: "You're extending your architecture out to cloud resources. In doing so, your architectural premises including governance, security, management. All these things are extensions of your architecture."
- Create a proof of concept now: "You can do this in a very short period of time," Dave says. "Go out and sign up with an Amazon account or Google App Engine, if you can get an account. Cloud services are inexpensive to get a service up and running -- and get something up and running that has the objective of meeting the needs of your service oriented architecture."
- Consider whether cloud really works in a situation: You have to create use cases, just as you would for an on-premises IT solution, Dave says. "You need to consider security, privacy, usability, manageability, that kind of boring stuff," he points out. "Moving out to a cloud computing infrastructure at least for now may not be cost effective."
- Understand business processes first: "Do your homework before making a move," Dave advises. "This is where a lot of people fall down. They have this notion of cloudsizing or a 20-step process. You need to do your internal due diligence as to what your business objectives are, and what your technological objectives are, and how you can create best a technical infrastructure to support the needs and the goals of the business."
- Learn to bridge the gaps between your enterprise systems and cloud computing providers: "This is going to take some work in order to make this a reality," Dave says. "Connectivity, interoperability, security, and shared processes -- these problems ultimately are easily solvable with the right technology approaches. But I would say that most who are looking at this new opportunity don’t have a clue how to approach this."
- Remember, architecture doesn't disappear with cloud. You need it more than ever: "Cloud computing providers are not valuable into themselves until they have links and connectivity that occur between their core enterprise systems using service oriented architecture. Making this occur is not automatic. Once we understand that cloud computing resources are there and are available to us, we to understand this connectivity does not occur automatically, in that in many instances you have to solve core technology issues, such as mediating connectivity models between service oriented architecture and the cloud computing provider."