Some in todays SaaS landscape propose, for example, that virtualization in the cloud solves the multi-tenancy problems in SaaS, therefore categorizing their virtualization in the cloud solutions as a SaaS platforms. At the end of the day, however, a virtualized approach might solve some of the automation issues, but has negligible impact on the density equation.
What does that mean? A higher cost of service, of course!
SaaS vendors have many things to worry about; among them, issues like:
Provisioning new customers to grant them access to the application in a timely manner.
Providing ongoing support for their usage of the application.
Billing and metering of the application for every customer on a recurring basis.
Introducing new functionality with minimal disruption to the existing customer base.
Reacting to market needs to continuously deliver the best that your customers demand.
So a SaaS application is two initiatives in one: the application core responsible for the functionality your customers care about, and the SaaS delivery stack that captures the delivery model in code.
When architecting a modern SaaS application (or even if you already have a SaaS application and are considering future versions), every action that you can take to improve density and automation is key to help you improve the odds of winning the game.
There are a couple of options when it comes to achieving high marks in the categories of density and automation. Identify and architect these complicated topics into your applications architecture or leverage a cloud platform.
When deciding, a couple of key takeaways should be identified:
Architecting a true SaaS architecture is a non-trivial task. Be wary of anyone that tells you otherwise. The SaaS plumbing can take as much as 40% to 70% of your application development time and money only to build a rudimentary platform.
Dont get trapped into thinking that you can architect SaaS into your application and forget about it. SaaS is not just an upfront expense. Maintaining the delivery model part of your application architecture will require a disproportionate (and costly!) amount of effort.
Good SaaS platforms exist that do not significantly limit what your application can do. There really should be very little reason why you cant write your application on top of the existing platforms that are available in the market today.
You should ask yourself the same question you would if you were delivering a regular on-premises application. I can pretty much guarantee that you are not going to write the operating system for your application as well as the application itself, but you will instead write your application on top of a platform like Windows or Linux or Mac or some other well established platform.
These key points should help identify some steering questions when it comes to delivering SaaS. It should also prompt you to really understand what someone is delivering when they claim to offer a SaaS Platform that you can leverage in your SaaS journey. If a supposed platform doesnt intimately become part of your applications architecture to significantly (and positively) impact density and automation, its probably not a SaaS Platform.
I believe that there is a very real need for many of todays cloud providers. But just make sure you know where they stand. Cloud-based virtualization is virtualization, while what you see is what you get editors (WYSIWYG) are just that, and real SaaS Platforms solve the architecture problems we described.
Honest companies like Amazon.com dont call their services a SaaS Platform; they simply openly acknowledge what their value proposition is and call it what it is, so lets stop confusing a rock for a hammer and call things for what they are. And if you are going to call yourself a SaaS Platform, or if you are going to suggest one for that matter, make sure you are using the right tool for the right job and dont assume that all Clouds are created equal.
When you are choosing an implementation path for SaaS and for your business, make sure you are considering these questions and all of the components that you will need to tackle as a SaaS business. Choose wisely!
Abraham Sultan is VP of Engineering at Apprenda.