Increased competitive pressure and customer demands for more affordable alternatives to packaged software, are forcing Independent Software Vendors (ISVs) to increasingly turn to Software-as-a-Service (SaaS). With analysts predicting that in the next 10 years at least 30% of new software will be delivered via the SaaS model, ISVs are scrambling to find simple, cost-effective ways to provide functionality, maintenance, and support over the Web.
Recognizing the shift in operational strategies and resources that are required, Thinklogic has experience that gives you everything you need to deliver a competitive SaaS product – at a fraction of the price and turnaround time of doing it in-house.
What really are the differences and which do you build your software business on?
It's a difficult question for many software developers to answer. The truth is, many software companies have never built any of these software variations. This is where we stand out among everyone else. Not only have we engineered, built and hosted ASP, SaaS and OnDemand software, but we also are a partner with Microsoft's SaaS On-Ramp program which allows us to launch your SaaS software at a lower cost.
It's a confusing subject for many but it's a critical one to address when designing a scalable vehicle that delivers your software to users. Here is a summary of the goals of each.
Application Software Provider (ASP) Software
Traditionally, these are client-server applications with a web-centric interface. These applications are hosted by a 3rd party to reduce the costs and overhead involved with the expertise and hardware needed to deliver the application to its users. There are no license fees to use the software since the application is developed for the customer. ASP applications are good for companies that need a highly customized application with quick changing business rules that need to be reflected in the software. If, however, your software is meant to be delivered to many companies, then a SaaS model is a better fit.
OnDemand Software
Akin to ASP, OnDemand software can resemble many of the ASP software designs. The important difference is that OnDemand follows a "pay-as-you-go" subscription model.
Software as a Service (SaaS) Software
The most popular and mature delivery model companies choose to build. Like ASP applications, SaaS is software delivered through a web-centric interface to its users. However, where an ASP application is owned and hosted by a 3rd party provider, the SaaS application is leased and maintained by the provider. The benefit a company gets from using your SaaS application is a dramatic savings in cost. So much so that small to medium sized businesses prefer leasing SaaS applications because it doesn't require them to research, develop, maintain and host their application.
But what does this mean for you? There are many details that a SaaS developer has to consider to ensure your software can be profitable. Here are some factors that go into design:
- Multi-tenant architecture - The foundation of a mature SaaS application. Your application is used by many different tenants with each tenant having many users. During the session of the user, the application looks and follows workflow specific to the user's tenant. This is an important attribute of a SaaS application and allows you to service more tenants on less servers. All other design factors are effected by this concept.
- Data separation & Service Level Agreements (SLA) - Because customers now lease your software and your software runs on your servers, it's important that your customers run their application and its potentially sensitive data without the forethought of it sharing space with other customers. Careful planning is necessary to determine the right approach to satisfying your software's SLA.
- Security & Authentication - Security is more important than other delivery models. Particular attention should be paid to users' rights and credientials. A blend of symmetric and asymmetric key pair encryption should be used to ensure data is protected at all times.
- Network scalability - Build up or build out? Before the first line of code is written, it needs to be decided what the best topography is to run your software. How your software accomodates the multi-tenant architecture enables other services like load balancing, SSL accelerators and redundancy to guarantee elimination of bottlenecks and to provide 100% uptime to your customers.
For more information on what we've done for our customers or to see how your software can benefit from any of these delivery models, Contact Us to speak with one of our software architects.