Many of you probably read Phil Wainewrights recent blog on “Why Bother with Multi-tenancy?” Good reading. The pros and cons for on-premise and on-demand are well known. no point of stating the obvious. The question on how to make a decision is trickier. Here is my perspective:
Market/Customer:
This is by far the most important perspective. Let’s take a current example: as cloud computing becomes part of enterprise computing, customers will go with the hybrid approach. if you keep hearing that (as we have), it becomes very clear that having an on-premise and on-demand offering will fit very well with their needs/strategy.
Strategy:
Independent of the technical reasons to do or not to do, there are probably strategic reasons that are more important. For example, Salesforce.com probably got many requests to make their technology available on-premise. Hard to do when the KEY differentiation is ‘no software.’ The other aspect is DNA. Running an on-demand application needs different kinds of folks that the ones traditional software companies usually have.
Technology/Architecture:
- On-premise software is designed to ship, so one has to worry about size of image, install scripts, platform dependencies etc. These factors affect the overall architecture much more than one thinks.
- On-demand software/site is designed for scale, ease of use, zero downtime etc.
- If on-premise software is designed for simplicity and scale, it is much easier to make it available available on-demand – the other way round is much more difficult.
- Much like open source. Technology that was not designed to be open source is very hard to open source.
In general customers want flexibility, too much of which leads to increased complexity. Vendors have to start by answering simple questions like why and how.
