Software as a Service is a notion that has been kicked around for a number of years now, really since the demise of its predecessor "paradigm breaker," ASP. No, I am not talking about the ASP that Microsoft Web developers know and love, I am talking about Application Service Providers ready to host your application for a fee around 1999. Few of them lived to see 2001.
Software as a Service is catching on, at least to the extent that it has been distilled to a buzz word acronym; that is, SaaS. In the interest of not unduly spreading hype I will continue to call Software as a Service “Software as a Service” throughout this story.
In Software as a Service, you use software applications over the Internet as needed. Google has made some in-roads in this area, via a motley collection of widgets. The trend and its possible influence on Microsoft’s key products have not been lost on Redmond. The company has countered with Windows Live Favorites. But the game is not yet changed.
A more pointed example of Software as a Service is SalesForce.com, an Internet-boom era software upstart that did $309.8 M in business in its fiscal 2006. With customers such as ADP, Analog Devices and Kaiser Permanente, it is certainly not just selling its wares to mom and pop shops.
Independent Software Vendors [ISVs] that sell applications into the so-called mid-market are wary of SalesForce.com, or the next SalesForce.com, and that is where a new effort by Microsoft comes in. Ultimately, this Microsoft effort may be more important than Windows Live Favorites and its ragtag siblings. Once again, a major competitor is IBM.
Microsoft is taking a unique approach to helping ISVs get going with .NET in Software as a Service. Microsoft has released a new set of architecture guidance for Software-as-a-Service applications, making available a combination of best practices based on feedback from early implementers of Software as a Service, source code and sample implementations of a human resources application, all intended to run on the Microsoft platform. The approach is already familiar to architects and developers who work with guidance available from Microsoft’s Patterns & Practices Group.
Service as a sweet spot
“The mid-market has been the sweet spot for Software-as-a-Service adoption,” Forrester analyst Liz Herbert told TheServerSide.NET. She said IBM has an enablement program for Software as a Service, but it tends to take the role of hoster, and has not been as public as Microsoft about tools.
“Microsoft seems to take an opposite approach. They show ISVs how to build Software-as-a-service applications, but they do not hype themselves as someone who can do the hosting,” said Herbert.
Gianpaolo Carraro, director of the Solutions Architecture Group at Microsoft, told The ServerSide.NET that the purpose of Microsoft’s new guidance is to illustrate the key principles behind Software as a Service. The specific fictitious human resource service that the guidance implements takes the form of a single-instance multi-tenant application, which he describes as an fundamental design pattern found in emerging Software as a service apps.
“It’s a concept that has become very popular in the Software-as-a-Service world -- that is the notion of having multiple customers or tenants on the same [architecture],” said Carraro. “From an ISV perspective, offering their application in a multi-tenant way lets them reach a completely different market.
Well-architected multi-tenant set-ups help ISVs scale their offering more profitably, Carraro indicated. The approach is based on sharing – sharing databases, operating systems, application services, hardware, and so on. A fault in early ASP set-ups was “a separate stack for every customer.” This was expensive to set-up, and expensive to upgrade. But to successfully share the app, you’ve got to know how.
It is still early, Herbert advised: “This is just a start." The company could, for example, follow up with guidance on configuring infrastructure, Herbert said .
But, for Microsoft, she added, “it is a good start for their community.” Openness on the direction of Microsoft software framework architecture is important.
In fact, one of the challenges that ASPs and ISVs have faced is that they may not have any insight into or control over the software development roadmap. This may be addressed by Microsoft’s guidance program.
Upgrades, just as in the days of client server computing, are at issue. For ISVs, upgrades are pain, if not plain evil. In non-multi-tenant architectures, endless upgrades eat into the potential for profit.
A lot of the ‘way-cool’ application enhancements available via Microsoft’s latest version of .NET will require a lot of upgrades out there in computer user land. That will take time. A program like Microsoft’s Software as a Service architectural guidance, in fact, serves a number of purposes for the Redmond software giant.