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 < 500 ms transaction processing times, at the data centre.

6. Extensible Data Model
How to develop an application that can accommodate say, 1,000 system administrators. Each administrator being able to tailor the database to the needs of each company without affecting the others.

7. Customizable GUI
How to develop an application that can enable tenant company system administrators to customize the GUI that their end users see.

8. Customizable Business Logic
How to enable individual tenant companies to add their own business logic.

9. Workflow
How to design a system, so flexible, as to allow customers to add their own workflows to the application.

10. Internationalization
How to develop an application that can be used by companies and end users around the world.

Once the challenges have been overcome, the ISV has a scalable, flexible, secure, performance SaaS application, powering an agile SaaS business. Typically the SaaS model offers the following benefits:

Efficiency
Enables hundreds or thousands of companies to access centralized application software.

No Distribution
Avoids the need to physically distribute software to hundreds or thousands of customer locations.

Lower customer support costs
Ensures that all customers use the latest copy of the software. Eliminates the need to support previous versions of software. Provides substantial savings in customer support.

Lower barrier to entry
Lowers the entry level for customers and transforms a substantial investment in a perpetual software license fee to a modest monthly rental fee. Enabling the rapid building of a large user base.

Business Agility
Provides the basis for unparalleled business agility. A successful ISV can scale quickly and achieve global reach, without all of the costs and delays associated with conventional software houses.

In addition to challenging software development issues, there are also operations issues, arising because the customer no longer has responsibility for providing server-side infrastructure. The SaaS application runs on a central system, controlled by the ISV.

Similarly, whereas a traditional ISV may have experience of developing an application with an acceptable level of performance when being used by say 50 users in each customer company. In the SaaS model, the ISV must gear up to having a centralized n application supporting, say 500 companies having 50 users each = 25,000 users. That is a full two orders of magnitude difference in scale.

Understandably, few conventional ISV’s have the necessary experience and skills required to meet all of the primary design challenges. Most ISV’s will therefore need external help to design a SaaS application.

The Author is a independent SaaS development consultant providing SaaS design service and SaaS development to know more about the service please visit http://www.saas-attack.com

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

No comments yet.

Leave a comment

(required)

(required)