Los Angeles, Calif. – Introducing Windows Azure for Cloud Computing at Microsoft's Professional Developers Conference, Bob Muglia, the president of Microsoft's server and tools business, positioned it as the next step beyond service-oriented architecture. But analysts who cover both SOA and Cloud Computing challenge the comparison of the two as well as the criticism of the service-oriented approach to application development.
At PDC, Muglia labeled Azure a "fifth generation of computing," on a timeline that showed the four past steps as monolithic applications, client/server applications, Web applications and service oriented architecture (SOA).
He argued that SOA is limited in its ability to scale, whereas Microsoft's approach to the cloud is built to scale.
"The Azure Services Platform builds on SOA but has fundamental difference," he asserted. "SOA doesn't scale well. The cloud needs a platform built to scale out from the beginning."
Bob MugliaThe cloud needs a platform built to scale out from the beginning. Bob Muglia, president, business and tools, Microsoft
"Muglia's comments that something like Windows Azure is a more scalable alternative to SOA don't make sense," said Joe McKendrick, an independent analyst covering SOA and Cloud Computing. "SOA is not a platform of some finite collection of technologies; it is a methodology, a philosophy if you will, that specific services can be made available at anytime, anywhere, to any consumer -- regardless of the underlying technology the service creator and consumer are using at the time. Theoretically, SOA is as scalable as you want it to be."
New role for SOA
McKendrick does see the emergence of Cloud Computing creating a new role for the service-oriented approach to application development as "enabler of 'internal clouds' that enterprises are developing to better service their business units."
David Chappell, principal of Chappell & Associates in San Francisco, agreed that any SOA vs. Cloud Computing debates would be an apples and oranges comparison.
"While there is some overlap between SOA and Cloud Computing," he said, "they are also deeply different. They solve different problems. They address different issues. But they overlap in some ways."
SOA provides Web services from applications to other programs, where the Cloud is about providing software services to end users and running code, Chappell said.
"SOA is about exposing services to other programs," Chappell explained. "Most of the time those services are exposed by applications. For example if I have my SAP application running my enterprise and I expose services to other software running in my enterprise, that's an example of SOA."
Web services running in the Cloud would still be a form of SOA, in his view.
"If I run my ERP app in the Cloud and it exposes Web services to other applications in my organization from the Cloud, that's still SOA, Chappell said.
Cloud Computing provides a platform for a different kind of service.
"In Cloud Computing when people talk about Software as a Service, they usually mean a service delivered to a person through a browser, not a Web service," Chappell said. "So Software as a Service is different than SOA because you're delivering services to people rather than other pieces of software."
Another distinction between SOA and Cloud Computing in Chappell's view is the Cloud platform.
"When you think about Windows Azure or Amazon EC2, those are Cloud platforms," he said. "Platforms are sometimes about delivering services from the Cloud. But with Windows Azure and EC2, they're about running code in the Cloud. That's totally different from SOA. That's a whole different world with no connection to SOA."
McKendrick said he did not understand why Microsoft would advance the Cloud as one step beyond SOA, since in the past year the company has been building support for SOA.
"Conflating SOA and the Cloud is confusing," Chappell concluded. "They overlap in some areas but they are fundamentally different."