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.”