So You Wanna Be a SaaS Provider?


The growth of the cloud community and the appetite for cloud-based software options over the past few years has been remarkable, although not unexpected. The SaaS model offers two distinct competitive advantages for software developers — massive economies of scale and sustainable profit streams –- over the traditional model. Yet astoundingly, many firms take the plunge into providing SaaS without understanding the underlying requirements necessary to ensure success.

In order to become a sustained market leader in SaaS, software companies need to focus on building and delivering a highly efficient service to their customers without spending significant money on the underlying infrastructure (cloud or otherwise). A poor architecture will underutilize server resources, making software costly to deliver.

Feature-wise, most SaaS applications have the ability to quickly provision new customers to the system as well as to manage subscriptions in order to identify the types of application functionality they’ve purchased access to, metering systems to track what was used so they can be billed appropriately, and the ability to roll out upgrades to a live environment. The addition of such features could take anywhere from six months if the goal is to “just to get by” to well over a year if it’s to reach full SaaS stack maturity.

To be a market leader, however, companies must be willing to go the distance and attempt to reach full maturity as quickly as possible. Architecturally, this means:

  • Handling multitenancy: The days of managing and executing data for a single customer at a time are over. To succeed in the cloud, software companies must be able to simultaneously recognize and handle requests from many customers (and their associated end users) at once. From a delivery standpoint this means one instance of your SaaS offering must segregate customers efficiently and offer them their own unique experience, despite sharing an instance of the software and the underlying resources. From a technical standpoint, this massive efficiency of scale adds significant complexity, and, as with most fields, complexity is money.
  • Scale-out: In order be able to meet the aggregate demand of all customers, not just the largest, the software has to be able to utilize the elastic capacity offered by cloud infrastructure such as EC2, to give them the ability to scale-out each of their components independently. Simply running on EC2 doesn’t mean your application can scale infinitely, but that your application has infinite resources at its disposal if it knew what to do with them and how to manage them. And knowing what to do with an infinite number of resources requires highly complex software architectures that most applications simply don’t have. Maintaining a level of abstraction from the underlying hardware, and being able to dispatch requests from any user to any part of the network provides the foundation for such scale-out.
  • Customer management: Of all of the cloud’s distinct advantages, among the most prominent are its superior operations and customer management tools such as customer provisioning, upgrade engines and monitoring. Granted, such tools have to be built into the core architecture, but by allowing customers to track their end users’ activities, they provide a path to stable and recurring revenue streams. Customer provisioning systems even allow a software vendor to seamlessly “turn on” a new customer without impacting existing ones.

This is far from an exhaustive list, and software architectures built for cloud-based delivery can be extremely costly. But any software vendor serious about becoming a sustained market leader needs to be able to offer these features in a fashion that keeps operations and maintenance costs as a single-digit percentage of revenue.

Doing so can be especially difficult when combined with a fundamental shift in the services paradigm. If not managed properly, however, an entire SaaS offering’s future can be put in jeopardy.

Make no mistake. The cloud’s superiority is undeniable. But such advantages require a commitment to go the extra mile in terms of service. For those willing to make that commitment, SaaS offers a path toward long-term prosperity.

Sinclair Schuller is co-founder and CEO of Apprenda. He will be speaking at our cloud computing-focused conference, Structure, which will be held June 23 & 24 in San Francisco, on the panel “Hybrid Clouds — The Best of Both Worlds.”


Bassem Fouli

so many people talked to me about their fears from SaaS based services, they say: “What happens if a SaaS provider stops its service and I want to continue using their provided service? Does any law protect the my interests if that happened?”
Well, I say that Saas is less risky than any other service because you may purchase a whole software package then the software development firm disappears just the very next day, in that case you have already paid the money and you have no customer support or any sort of guarantee for help when you need it, Saas makes you pay the money just before you use the sevice, which decreases the risk your wallet feels every time you take money from it to purchase a software!

David Simpson

I just attended an excellent Servoy class titled SaaS Enable Your Application, in which these topics were covered in detail.

Within a Servoy application, there are specific features designed into the architecture which are optimized for developing Saas applications.

For instance, using the following function call on application startup:


Enables the filtering of all queries, valueLists, relationships in the application to filter information display for the specific SaaS client which has logged into the application.

So you can think of this as a “set and forgot it” type of filtering process which gets applied to DB queries automatically. Just the type of thing you would find handy for a SaaS application.

Here is an Intro article with more info:

Comments are closed.