In the last blog, Top 10 Critical NFRs for SaaS application-Part1, we discussed about what are NFRs (Non-functional requirements) and how it is important to know these requirements before the architecture phase. We listed 5 critical NFRs for SaaS applications in the last blog, namely: Scalability, Performance, Availability, Integration and Auditing. Let’s look at the next 5 critical NFRs that have a deep impact on the SaaS solution architecture. 

Critical NFR for SaaS application

Multi-Tenancy:

Multi-Tenancy is the most complex NFR that cuts across the SaaS application as well as the other NFRs. Multi-tenancy is a design approach that facilitates a single instance of a system (SaaS application) to function as logical isolated instances serving the customers. Multi-tenancy architectures are complex to design but once done properly can help in significantly reducing the operational expenses (compared to a single tenant or hosted model). The complexity further increases with concepts like tenant hierarchy and virtual tenants, which provides sophisticated mechanisms to deal with varying degrees of multi-tenancy. Multi-tenancy can be applied to both web/app layer and database layer. However, it’s also possible to apply only at the web/app layer keeping the databases isolated between tenants (customers). 

Configurability:

SaaS model of delivering applications inherently brings in the complexity of addressing multiple, (sometimes) conflicting requirements. Many SaaS applications continue to remain in single tenant/hosted model due to this reason. However, when carefully analyzed and designed, each layer of the SaaS application can be built with sufficient configurable options, which can help in achieving the customer specific requirements through configurability instead of hardcoding. The standard layers that have to be considered for configurability are UI, Branding, Authentication, Role/Privileges, business rules, business processes, integration and database. 

Security:

Security of a SaaS application has to be looked as a comprehensive integrated engine that connects the subscription, tenantlevel security, usage restrictions, data restrictions, encryptions, user and rolelevel privileges. Taking a holistic view of all these aspects in the design of security architecture is the key step for a successful SaaS application. Having this consolidated as a unified engine not only helps in manageability of the system but also facilitates changes in a systematic manner. 

Extendability:

SaaS applications seldom are used out of the box by customers. While customers understand that SaaS applications cannot be drastically customized to meet the specific needs, but they still want to make those fine changes that will help in fitting the application with the practical implementation level details. This is where the configurable architecture comes to play. In addition to it, there could be certain areas in the application that will have to be extended to meet the additional requirements. For example, a customer might want to capture additional fields as part of a standard application screen. In this case, you should be able to include, store and manage the additional fields but only for that customer. Rest of the customers should not be able to see this change. 

Monitoring:

Pro-active monitoring of SaaS application’s health can go a long way in ensuring the availability of the system and tackle any unexpected scenarios in production. There are multiple levels of monitoring including application layer monitoring, database layer monitoring, application usage monitoring, error monitoring, trial monitoring, event monitoring and alert monitoring. It’s important to design the architecture in a way the data points required for the above-mentioned monitoring are easily available. It’s also important to track this information at a tenant level so that responses to customers can be expedited. 

To conclude, NFRs are linked to SaaS applications as it’s important to understand these NFR for a given software right before the architecture phase, so that the design can address these requirements. 

If you are looking for Cloud-based SaaS application development, here’s something for you. Aspire’s Cloud development framework Techcello is a one-stop solution for all your Cloud-based applications & SaaS requirements.