Tuesday, August 28, 2007

Utility Computing, ASP, Hosted, Software-as-a-Service, On-Demand - What the Hell?

As I mentioned in my previous post describing the terminology in the market, software as a service has some highly confused definitions today. Like any new technology, the "software as a service" delivery model has gone through several name changes and modifications to the core model before it started gaining widespread acceptance in the markets. And, of course, as soon as it starts gaining widespread acceptance, companies that aren't able to deliver the latest and greatest version of the technology start purposely confusing the game with misstatements of fact, mis-applied labels on their technology, etc.

For the SaaS market, it goes like this:

late 90's: "utility computing" becomes the theoretical darling of the technology press. Harking back to the old mainframe "time-sharing" model, this approach to corporate computing is based on the idea that "CPU cycles" are now a commodity, with storage and bandwidth rapidly approaching that mark. And since most servers and desktops sit idle for most of the day, why pay for capacity that isn't used? This dovetails with grid computing, the idea of tying together all those unused desktops during the overnight hours and creating a virtual supercomputer.

2000: Y2K proves to be a total non-event, even in countries where nothing was done to abate the problem. CEO's and CFO's wonder, "Why the hell did we spend all that money? Screw IT - their budget is getting cut next year."

2000: "application service providers" or ASPs become the new darling. In most cases, these were companies that were taking existing client/server applications (such as my previous company, Mi8 Corp., taking Microsoft Exchange Server), doing some voodoo to the app to make it multi-tenant, and then delivering it as a service over a VPN or the Internet.

2003: ASP is now a dirty word - many have gone out of business, leaving companies without their application or data. The new word is now "hosted." Although technically this term simply means that the server is sitting in a third party data center, and is managed by someone else, it picks up steam and becomes widely associated with all variations on the software as a service model.

2004: Salesforce.com goes public on NYSE, with it's slogan "No Software". Mark Benioff, the CEO, sports a lapel button with the word "software" surrounded by a red circle and a slash going through the word. The financial media picks up the drumbeat, and the term "software-as-a-service" gains widespread acceptance in the industry.

2006: Software-as-a-service is now well-established, primarily in small and mid-sized companies, but larger organizations are starting to consider it for many applications. As the term "Web 2.0" grows in popularity, all kinds of other terms get stuck with the "2.0" appellation - and thus SaaS 2.0 is born. But it doesn't gain much steam. Older software vendors who don't have a SaaS offering start setting up dedicated servers in a third-party data center and calling it (incorrectly, and somewhat disingenuously) SaaS.

2007: A new generation of software-as-a-service company begins to emerge (including my company, Plexus Systems), combining new software development methodologies (e.g., agile development, rapid application development) with the SaaS delivery model. These companies start using the term "on-demand". And, of course, companies that STILL don't have a SaaS model start calling their dedicated, hosted servers "on-demand."

-----------

So, while I guess we should be flattered that old-style software companies are starting to steal our terminology, it's frustrating that they are confusing the market. In my market (manufacturing software), companies like QAD, which has a very old client/server application with lots of good features, confuse some clients by claiming to have an "on-demand" application, which is really just a dedicated server hosted in a third party data center. It's not multi-tenant, it's not scalable, it's not web native, and it doesn't employ any new software development methodologies - and thus it doesn't deliver any of the advantages of an on-demand application.

It's interesting to see that SAP is finally jumping on the bandwagon as well. They have been talking about a project that is code-named A1S for over a year, and word is that they are having a press and analyst event on September 19 to "launch" the service - although it's still in beta, still is missing lots of functionality, and they haven't quite figured out how to sell it through their standard channels. It will be interesting to see how this launch goes - watch this space for an update on September 20th.

2 comments:

Bert said...

You have a valid point, but I think you're confusing the value prop of SaaS with the technology used to deliver it. While SalesForce and others built massive multi-tenant apps to deliver SaaS because they had to, it's now possible to deliver the same value (and in fact a little more) through replication. 3tera has SaaS customers that operate in this way.

Avoiding the need for the multi-tenant system let's them save on R&D and QA - so they can focus on the user experience, which is after all the important aspect of SaaS.

Patrick Fetterman said...

Bert - sorry if I wasn't clear on this. I think that the real benefits of the on-demand model only come when the right technology is used to develop and deliver the app: multi-tenancy is required, as is an agile or RAD development environment. Massively replicated copies of the application, either via virtualization or dedicated servers, provides an unnecessary level of complication to the company trying to manage the service, and allows too many one-off type deployments. A single instance of source code is an absolute requirement for the benefits I've been talking about.