SearchSOA - Most people would agree that we are early into an era of cloud computing that may be furthered or hindered by the economy. Google and Amazon gained attention here, and established IT vendors are now close on their heels. Are the various clouds oriented much at this point more to developers or architects?
JPM - The current emphasis is split between new and efficient ways to deliver information and ways to support business automation. Many businesses, but especially the Global 2000, are struggling under the weight of running their information technology infrastructure. The cloud offers opportunity to offload some of that burden in exchange for a reasonable expense.
SearchSOA - Do you have an opinion that SOA is good for the cloud, or that there is some kind of special simpatico there.
JPM - Well, if you look at it one way, the cloud is an instance of an SOA architecture. That makes a lot of sense if you look at things architecturally. Everything is being offered as a service, so it meets the criteria to be a service oriented architecture. But of course, for some people, SOA is all about an enterprise service bus, Java containers, and Web services. To those people cloud is completely orthogonal to SOA.
It's worthwhile to consider classification schemes - that there is enterprise SOA, infrastructure SOA, and application SOA. Cloud is infrastructure SOA; you are using the concepts of service oriented architecture to build reusable and 'meterable' or billable environments.
SearchSOA- Is it sometimes the case that people see what they want to see in the cloud?
JPM - A lot of people are selling the cloud as a solution to so many different problems in the enterprise. It really isn't going to take care of everything in the way they are proscribing.
The idea, for example, that you are going to build something in a vacuum, and at the end of the day you are going to put it out into the cloud and that it is going to scale to the nth degree .. I think that is a bit naïve. I think you have to build an application with scale in mind. And you have to build it in a way that you understand what scale means - what the impact of scale is going to do to your application.
Elasticity is a big selling feature of cloud providers, but who really needs to scale at this level? As state governments, for example, continue to make services available to citizens, you can start to see the beginnings of something that needs that kind of scale. If I am offering a consumer application, such as iTunes or YouTube, you need dynamic and elastic scaling. But I just don't see corporations putting their homegrown or ERP applications in a cloud. That's where the selling of the cloud like a snake oil salesman starts to come in.
You see, the whole thing is oriented around expense management and lower cost. If you look at the numbers, the numbers just really don't make sense when you consider that most people today are leasing their hardware and have sunk capital expenditures in disaster recovery, backup, power, etc. If they need more, but don't want to sink more capital, then the IaaS could be attractive. If there's an application that serves my enterprise needs and offered as SaaS, then I don't need to bring it in and manage it internally, that also is an attractive situation.
Additionally, there are issues with interoperability. If I go into the cloud I have to worry about vendor lock in. I don't want to get to the situation of not being able to move it and all of a sudden my cloud provider starts upping the prices on me. Moreover, metering is infantile in its maturity, which makes planning difficult. The 'Amazon bill' can be hard to anticipate.
SearchSOA - Sometimes we lump together software as a service and cloud. Is that wrong?
JPM - Software as a service is an aspect of cloud. It is one of the services you may rent. Just as you may rent 'database as a service' or 'business intelligence as a service' or an entire stack or 'platform as a service' all the way up to the application. You may rent hardware, saying 'I just want CPU power.'
Don't get me wrong - this thing is formulating. It's a very early market. There is very little maturity in this market, which is starting to go through its hype cycle, and then it will go through its shake out. Given the economy, the shake out cycle could go by very quickly.
SearchSOA - Here is a scenario. The CEO or CIO comes in and says 'I want to do an analysis on what we can do with a cloud ... looking specifically at cost savings. What questions should an enterprise architect ask when reviewing a proposal for a cloud initiative? Especially when the chief may have already decided this is the way to go.
JPM - Performance, security and hidden expenses are important. But you are not always going to get the CIO to respect things you say about technology. Sometimes it's a question of whether you know how to manage up. Remember: it is the technologist's job to make sure this stays up, and there is no business justification if this thing crashes and burns. And sometimes, the weapon you have in your arsenal, in all fairness, is fear. When asked 'what if we go to the cloud' say 'mmm, that's a great question, we might save a lot of money,' but also ask 'what if our data was stolen?' It's unfortunate, but that is [a way to proceed] given what the industry has become.