Showing posts with label Gartner SaaS. Show all posts
Showing posts with label Gartner SaaS. Show all posts

Friday, October 8, 2010

If IT isn't shared, it isn't cloud...


Recently I was asked: Is multitenancy a fundamental of cloud computing or SaaS or both? I think that depends on how loosely defined multinenancy is in your dictionary.

In computing, the term multitenancy describes a shared approach to resources. I think that in a very loose definition both cloud computing, and of course SaaS, involve resource sharing. But not all types of multitenancy are the same with respect to their approach to resource sharing.

Gartner offers up six models of multitenancy: shared-nothing; shared-hardware; shared-processing; shared-database; shared-everything and custom multitenancy.

The shared-nothing approach is the least multitenant in nature and users may have nothing more in common than a shared URL, billing system, support line or duplicated executable files. This stretches the definition of multitenancy so far as to be essentially out of bounds, in my view, and is most likely adhered to only by those seeking to follow on the bandwagon effect of SaaS and the cloud. Think of IBM WebSphere or Oracle Application Server running on Amazon EC2.


The shared-hardware approach to multi-tenancy isn’t very interesting to software types like me. In this model, the tenants share a common pool of hardware usually through virtualization. But each tenant has its own dedicated software stack (application platform, middleware, applications, databases, etc.) It should be no surprise that this is the approach taken with Microsoft Azure .NET because they want to maximize software sales and licenses and the easiest way to do that is to require multiple instances.

What Gartner calls shared-database multitenancy is about a single database for all tenants. Tenants do not share each other’s data (and can not see it), but it is stored inside the same database. However, a separate instance inside an application container is used to process the application.

Only when Gartner starts to speak about shared-processing multitenancy will some cloud advocates start to nod their heads. In this model, a multi-threaded application platform brokers each tenant’s use of the processor but each tenant will likely have a unique database instance. Gartner says: ". Most process execution resources are shared, allowing fine-grained elasticity. The application platform has multitenancy features responsible for tenant isolation and for targeting all data exchanges to the correct DBMS instances. " Gartner mentions the uniPaaS application platform as the example of this model.

In the shared-everything model of multitenancy both processor and database multitenancy is present. As Gartner suggests, this provides maximum theoretical elasticity. However, several factors such as the efficiency and design of the database gateway and the operational integrity and bi-directional scalability of the processing engine can inhibit optimal processing performance in shared-everything multitenancy approaches such as Force.com. Other downsides include public exposure of non-specific tenant metadata (statisitics about overall use of the application or platform can become known to competitors) as well as issues related to the lock-in of application code on a completely proprietary cloud platform or SaaS application.

Finally, Gartner would identify custom multitenancy as a sort of manually programmed multitenant architecture. Clearly the programming overhead is massive in such approaches and one worries about the capability of an organization to sufficiently test such an approach in a manner that can assure operational integrity and reliability.

Choosing the right level of multitenancy is an important decision. But it is not the only decision in choosing a cloud-enabled application platform. One must also consider the client environment and the challenges of developing both the server side and the client side of an application. So to answer the question we started with, yes, both cloud computing and SaaS require some model of multitenancy. If it isn't shared, it isn't cloud. Nobody owns the whole damn sky.

Tuesday, September 1, 2009

Is it Time to Look at uniPaaS as a SaaS Enabled Application Platform?


According to Evans Data Research, more than half of developers started the year with plans to develop some sort of SaaS application. That’s pretty remarkable when you consider that almost no one owns SaaS Enabled Application Platforms and development tools.

The implication is that all this SaaS programming is being done the same way enterprise application programming was done 40 years ago – by brute force. In fact, Gartner has stated that cloud computing architecture will need seven years to mature. In a recent press release, Gartner wrote:

"SEAPs are the foundation on which software-as-a-service solutions are built," said Mark Driver, research vice president at Gartner. "As SEAP technologies mature during the next several years, Gartner foresees three distinct, but slightly overlapping, phases of evolution. The first phase, through 2011, will be that of the pioneers and trailblazers; the second, running from 2010 through 2013, will be all about market consolidation; while the third phase, from 2012 through 2015, will see mainstream critical mass and commoditization."

As Gartner says:
As software as a service (SaaS) and cloud computing move toward the mainstream, platform technology emerges that is designed specifically for the requirements of that use pattern. A SaaS/cloud-enabled application platform (SEAP) is an application platform designed for multitenancy and elasticity — the critical characteristics of cloud computing that are absent in the now-prevailing platforms. When a SEAP is deployed "in the cloud" and offered as a service, it acts as an application platform as a service.
Since uniPaaS offers a multinenancy management system and is highly elastic, it would seemingly deserve a place amongst the early leaders in any future SEAP quadrants and waves by leading analyst groups like Gartner and Forrester. But whether the analysts comment or not is far less germane than whether programmers adopt uniPaaS.

Consider just three of the advantages that uniPaaS can offer a developer of a SaaS application:

1. A unitary development and deployment platform. No need for multiple languages, scripting tools and the like. You have one consistent solution for developing the client or user interface layer, the business logic or core application layer, and the multi-tenant architecture or database layer. It’s all their pre-built, ready for you to access.

2. Metadata driven development. For generations, programmers have been dreaming of a metadata driven approach to application development that allowed them to create programs without rewriting basic functionality and building out the same software architectures over and over and over again. With uniPaaS, you leverage the building blocks of an application rather than write the building blocks. Low-level functionality is embedded in the application platform and managed through metadata by the developer. That can save literally years, even decades, of programming effort because metadata platforms give you the ability to modernize underlying technology while preserving and enhancing core-business logic. Furthermore, metadata enhances developer interaction with business users thus shortening application delivery cycle (e.g. prototyping and POC).

3. True forward migration. There is no way to prove the capability of a platform for forward migration because it begs the question, “forward migration to what?” I can not predict the future. But I can document the past. And the surveys we have conducted of uniPaaS users are extremely clear. Without exception, uniPaaS developers point to forward migration of core business application logic as a great benefit of the uniPaaS platform. This is not their speculation or belief about what might happen, this is a retrospective judgment that “it was good” – that uniPaaS in all of its prior lives has provided a consistent forward migration.

So if half of the 500,000+ computer programmers in the US are working on SaaS this year, what tools are they using? The same old cumbersome Java and .NET development tools, I suppose. I am sure that Magic Software would welcome an OEM SEAP conversation with a platform vendor in search of a real, ready-to-go SEAP that is marketable today. Together we could reach those hundreds of thousands of developers. In the meantime, if you want to save a few years or decades and reduce your time-to-market of your SaaS application by an order of magnitude, feel free to contact us one-by-one.
For additional information, please download our FREE! White Paper! entitled "The 5 New Essentials of Building Business Applications."