- The advantages vs. disadvantages of SaaS (Software as a Service)
- The similarities between SaaS and Open Source
- How to leverage open source to build SaaS applications
By definition, Software as a service (SaaS) is a model of software delivery where the software company provides maintenance, daily technical operation, and support for the software provided to their client. SaaS is a model of software delivery rather than a market segment. (wikipedia)
Barry defined the key characteristics of a SaaS application as:
- Hosted multi tenanted system
- Highly scalable in that it offers the ability to leverage the market.
- Integrated solutions
- Metadata driven for customization
- Web services based API’s
Some of the advantages of SaaS are that it allows you to integrate separate data sources into a hosted data warehouse. SaaS also allows you to protect your intellectual property because the customer is paying for the service and never sees the source code to determine how the result is generated. Some of the disadvantages of SaaS include; islands of data geographically spread out, thus making it difficult to track, security concerns around web hosted services, and currently most applications are being built as stand alone apps, not as services.
Barry saw several similarities between SaaS and open source:
- Both are about community. In order to keep their communities happy, organizations are forced to be responsive. These organizations can then leverage their communities expertise and abilities through peer review.
- Both open source and SaaS applications are constantly updated with frequent software release cycles.
- Both are highly customizable with potential for explosive growth and scalability. In fact, open source is a great way to build a SaaS infrastructure.
Because open source has so much depth from large community based support it is a cheap and effective way to build a SaaS infrastructure. There are many mature open source projects that have been detailed, API tested, and provide suites for service layers. Open source is easy to integrate and allows users to create user-generated software content through either incremental individual effort, or collaboration.