Technical Considerations before Choosing a SaaS Application Provider

When building a SaaS application, one needs to consider several technical aspects to ensure meeting of customer expectations and business needs.

1: Multi-tenancy
The SaaS application must support multi-tenancy so that it is seamless to use with multiple developers working on it. It is frustrating to have one person at a time working on the application. The single tenant applications also pose security risk where one might tamper into the code of another tenant. One of the main reasons to select a SaaS platform is multi-tenancy.

2: Zero-downtime setup
One can get away with downtime if you are working with internal applications. Many SaaS providers would tell its users to deal with it, and they will have no choice absolutely. On a SaaS model, customers know that the downtime for a year can be measured in minutes. The responsibility rests on efficient system and networking teams. Developers might also cause downtime but that is a case when things are already planned for.

Third-party services are sometimes down with loss of functionality in some cases. There might be a downtime because of upgrades and patches or because the debugging process is on. Server restoration also eats up time. SaaS applications do not have backup time for downtime.

3: Whether to commit to a vendor
The ideal applications in a SaaS model will help you to easily scale your application especially if it is a cloud vendor. This part gives ample freedom and flexibility with vendors. If a VM is offered with other services, one can use them in this regard. Scaling is not trivial always, which means it would involve system administration to some extent.

One can use cloud frameworks such as Microsoft's Windows Azure which can be automatically scaled up and offer geographical dispersion. But they tie you deeply to the vendor. They can be deployed locally with any type of vendor. But if the choice was not good at first, you will have to live with it unless you decide to rewrite the code.

4: Technical alignment with business
If an application is deployed in an organization, one need not worry about the technology. But for SaaS applications, one’s own business might create constraints for technical design. Resource usage is one such area. If the scaling process is not done at the same rate then one might have a big problem. Your application should be accurate in reporting the basis for metering when having an application for billing.

5: Scaling
Many applications do not scale well on some platforms. Not many platforms are designed to handle different scenarios like multi-tenancy and load balanced servers. These applications need to have a strong layer between data and application so that the data can be scaled up and down without affecting business logic and the presentation layer. Business logic should be provided with the help of APIs so that it enables connectivity between the systems of the partner and the customer. Not all applications will support these parts, but when developing SaaS applications, they are virtually mandatory.


Post a Comment

Note: Only a member of this blog may post a comment.