Software Developers
Showing results for 
Search instead for 
Do you mean 

8 aspects that software architects must keep in mind when developing SaaS

mrohad ‎06-11-2013 08:36 AM - edited ‎06-11-2013 08:37 AM

The rapid growth of cloud computing has caused many ISVs to change their software delivery models. They are shifting from  on-premise deployments to the cloud and they are adopting the Software-as-a-Service model to achieve their business objectives.

With this in mind, what architecture shift should be done in those on-premise products to deliver them as SaaS offerings?


1. Multi-tenancy –To achieve cost effective deployments for a SaaS offering, most providers shift their architecture to be multi-tenant where a single product instance is used to serve multiple tenants. Often each tenant is allowed to customize the application to their own needs. Different versions of the application are even made available for different tenants – all provided in a single instance. This is in contrast with traditional software products where each customer is provided with its own copy of the product, isolating its customization or versioning to specific instances.


2. Scalability – One of the main drivers of SaaS isthe cost effectiveness achieved by reducing the cost of new tenant on-boarding and service delivery to almost zero. This poses a very high demand on the ability of a product to scale effectively as the number of users and the amount of data grows exponentially.


3. Elasticity –The product deployed on SaaS should be able (based on the application load) to scale its infrastructure up and down  dynamically by adding or removing machines from its deployment. Elasticity is usually achieved by virtualizing the hardware. Unfortunately,  this is not enough because the application itself should be refactored in a way that supports the dynamic deployment changes (i.e. by being able to move the services from one machine to another in a transparent way or switch off the services that are not used).


4. Continuous delivery – SaaS customers expect self-provisioning with frequent, transparent updates. They expect SaaS to be just like apps they have on their smart phone or tablet device where installation and updates of an application are completely transparent. Also, the competition between different ISV providers makes it mandatory to provide constantly new value to their customers. To achieve these goals, ISV providers must adopt a continuous delivery paradigm and be able to rapidly release small incremental changes compared to large releases of the traditional software.


5. High availability and fault and recovery – Cloud services are usually delivered using a “pay-per-use” model and any downtime of a product is directly translated to loss of revenues. All enterprise-ready products should support high availability and fault and recovery, but for products deployed in SaaS this becomes even more critical. This is because users are paying per-use and are not exposed to support, upgrades, patches, etc. to fix the problem. Low availability or bad performance of a product will simply cause users to switch to another service provider.


6. Optimization for specific hardware and deployment architectures – This is one of the advantages of SaaS deployments. Because SaaS  eliminates the need to support a wide range of environments and platforms, which could hardware, VMs, operating systems, application servers, databases including multiple versions of each at any given time. This helps drive innovation by saving a lot of resources because it is no longer required to develop and test each release or a new feature on multiple platforms.


7. Flexible licensing model – SaaS providers offer more flexible pricing models of “pay-per-use” based on usage during different time periods, the number of concurrent users, usage of certain sets of services, etc.  ISVs should refactor their products in a way that enables this kind of usage measuring and tracing.


8. Security –This is one of the main concerns for consumers that move their applications to cloud. The concern is justified. Because of the multi-tenancy architecture, the data of many customers is managed on a single product instance. Many consumers prefer to manage their sensitive data on-premise. In addition, some countries have regulations requiring that sensitive data be kept within their country. SaaS providers should supply secure ways to connect to the data that is stored on-premise and protected by the corporate firewall. This also includes providing integration with the identity services of the organization.


While the growth of SaaS is rapid, the core market for most large ISVs remains traditional, on-premise deployments. As a result, many ISVs choose to provide a mixed delivery model to sustain both the cloud and on-premise market.


In addition, to provide smooth migration for existing customers, there is a need for new types of integrations between the services provided in the cloud and existing deployments on-premise.


The article was written by Olga Kogan


0 Kudos
About the Author


Nov 29 - Dec 1
Discover 2016 London
Learn how to thrive in a world of digital transformation at our biggest event of the year, Discover 2016 London, November 29 - December 1.
Read more
Each Month in 2016
Software Expert Days - 2016
Join us online to talk directly with our Software experts during online Expert Days. Find information here about past, current, and upcoming Expert Da...
Read more
View all