Sunday, March 2, 2014

SaaS System Top 10 Design Issues

Software as a Service (SaaS) is a new software delivery and business model for ISV's.

The SaaS delivery model involves delivering the application as a service, over the Internet.

The SaaS delivery model requires that the application either be designed from the beginning as a Multi-Tenanted (MT) SaaS application, or be a Single Tenanted (ST) application re-engineered for Quasi-SaaS operation. These features differentiate SaaS applications from the legacy ASP/Hosting model. They also differentiate SaaS applications from the Virtualization model, which has very little to do with SaaS and is more concerned with datacenter efficiency.

The SaaS business model involves an agile, Internet application based business that leverages advanced software architecture to quickly build a large user base at relatively low initial cost per user.

Taking a conventional application package and providing it as a hosted service (legacy ASP-Hosting model) is not SaaS. Even adding Virtualization does not constitute SaaS. If a hosting company hosts 100 separate instances of a software package, there are 100 software instances to install, maintain and (worst of all) customize. This model is not scalable and fails at low numbers.

The importance of SaaS is that it represents a complete paradigm shift that gained momentum around the year 2000 for the development and delivery of application software. SaaS is now reshaping the ISV landscape, leading to considerable re-organization within the software package industry.

To realize the SaaS opportunity, SaaS System designers/developers have to overcome the following, Top 10 design issues/challenges:

1. Multi-Tenancy
How to design an application that supports hundreds/thousands of companies.

2. Security
How to ensure that customer data is secure and that there is complete separation of data from one Tenant Company to the next.

3. Scalability
How to develop an application that can cope with say, 1,000 companies and 30,000 individual end users.

4. Availability
How to develop an application that can consistently delivers 99.5+% availability.

5. Performance
How to develop an application that can deliver

No comments:

Post a Comment