SaaS is one of the most potentially lucrative niches around today. And, the acceptance of the business model has grown steadily over the past few years with SaaS replacing legacy on premise software, left, right, and centre. Several of the largest software IPOs in recent years too have been SaaS-related.
However, the truth remains that many SaaS businesses do not take off or simply fail. One major reason for this is the lack of attention to possible scenarios in preparing a sound foundation for scaling the business. While product features are great, many a times they are just not enough to sustain business growth in the fiercely competitive SaaS market space.
The fact of the matter is that many developers are still grappling with understanding the core essence of the SaaS delivery platformand thus fail to design robust, scalable and secure architectures for SaaS. Building such an engineering foundation is not only complex but also represents an enormous technical risk. It requires significant experience, expertise and time to build, besides huge financial investment.
This article is based on the lessons learned from developing our product, Techcello, a cloud-ready, multi-tenant application development framework. It highlights some of the important aspects that you need to master to turn your traditional software or new idea into a robust SaaS solution:
Data Security
In a SaaS solution, security is a key factor, and every CIO pays close attention to it. With mounting risks of hacking and security breaches, it is safe to say that the right security credibility can also act as an important competitive advantage.
You need to make sure that data is segregated between each tenant. The architecture must have enforcements built right at the design level to ensure adequate security of customer-specific data.
Another crucial aspect is the way the data is stored and accessed. This can be tackled by applying enforcements to all possible access points of the software. You will have to provide the ability to change the workflow, business rules and data model at each customer level since enterprise structure can vary drastically from one customer to another. User Access Privileges provide a fine level of access rights within a single tenant based on user’s roles.
Scalability
SaaS is a volume game. For a SaaS company to be successful, it should be able to scale its solution to work with thousands, if not millions, of customers.
As your SaaS application becomes popular, it should be able to scale its performance and serve multiple tenants of various sizes. Therefore, the product should be designed in such a way that each layer can scale independently in a seamless manner in order to meet unpredictable loads.
A strong architecture is needed at all levels of the software- presentation, application, database, backend processes and so on.
Configurability
SaaS Configurability is one of the biggest challenges in moving towards multi- tenancy. Often architects are faced with conflicting requirements, which forces them on a path of custom code development. This can be mitigated by having a configurable design across the various layers in the product ranging from UI, subscription, security, notifications, data fields and data storage.
Integration
Enterprises have a wide range of applications already in place. Hence, it is natural for them to expect the new SaaS application to seamlessly integrate with the existing systems. A standard set of APIs should be made available so that integration is possible with other SaaS and/or on-premise applications.
Seamless Deployment Options
Most established companies have diversified thought process when it comes to leveraging cloud. A cloud-neutral solution that can be seamlessly deployed across any environment- public cloud, private cloud, on premise or data centre will offer your customers a wide range of choices, so you as a SaaS provider do not have to force your clients one way or the other.
These considerations are critical to building well-designed, scalable and secure SaaS solutions. SaaS providers must understand these principles early to be able to boost revenues, generate loyal customers and reap the rewards from their SaaS offering.
By Jothi Rengarajan, Senior Principal Architect, Aspire Systems