Jump to content

Software as a service

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by JamesLWilliams2010 (talk | contribs) at 15:43, 30 October 2008 (Undid revision 248427367 by SamJohnston (talk)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Software as a service (SaaS, typically pronounced 'sass') is a model of software deployment where an application is hosted as a service provided to customers across the Internet. By eliminating the need to install and run the application on the customer's own computer, SaaS alleviates the customer's burden of software maintenance, ongoing operation, and support. Conversely, customers relinquish control over software versions or changing requirements; moreover, costs to use the service become a continuous expense, rather than a single expense at time of purchase. Using SaaS also can conceivably reduce that up-front expense of software purchases, through less costly, on-demand pricing. From the software vendor's standpoint, SaaS has the attraction of providing stronger protection of its intellectual property and establishing an ongoing revenue stream. The SaaS software vendor may host the application on its own web server, or this function may be handled by a third-party application service provider (ASP). This way, end users may reduce their investment on server hardware too.

History

The concept of "software as a service" started to circulate prior to 1999 and was considered to be "gaining acceptance in the marketplace" in Bennett et al., 1999 paper on "Service Based Software" [1].

Whilst the term "software as a service" was in common use, the CamelCase acronym "SaaS" was allegedly not coined until several years later in a white paper called "Strategic Backgrounder: Software as a Service" [2] by the Software & Information Industry's eBusiness Division published in Feb. 2001, but written in fall of 2000 according to internal Association records.

Philosophy

As a term, SaaS is generally associated with business software and is typically thought of as a low-cost way for businesses to obtain the same benefits of commercially licensed, internally operated software without the associated complexity and high initial cost. Consumer-oriented web-native software is generally known as Web 2.0 and not as SaaS. Many types of software are well suited to the SaaS model, where customers may have little interest or capability in software deployment, but do have substantial computing needs. Application areas such as Customer relationship management (CRM), video conferencing, human resources, IT service management, accounting, web analytics, web content management and e-mail are some of the initial markets showing SaaS success. The distinction between SaaS and earlier applications delivered over the Internet is that SaaS solutions were developed specifically to leverage web technologies such as the browser, thereby making them web-native. The data design and architecture of SaaS applications are specifically built with a 'multi-tenant' backend, thus enabling multiple customers or users to access a shared data model. This further differentiates SaaS from client/server or 'ASP' (Application Service Provider) solutions in that SaaS providers are leveraging enormous economies of scale in the deployment, management, support and through the Software Development Lifecycle.

Key characteristics

The key characteristics of SaaS software, according to IDC, include:[3][dead link]

  • network-based access to, and management of, commercially available software
  • activities that are managed from central locations rather than at each customer's site, enabling customers to access applications remotely via the Web
  • application delivery that typically is closer to a one-to-many model (single instance, multi-tenant architecture) than to a one-to-one model, including architecture, pricing, partnering, and management characteristics
  • centralized feature updating, which obviates the need for downloadable patches and upgrades.
  • SaaS is often used in a larger network of communicating software - either as part of a mashup or as a plugin to a platform as a service. Service oriented architecture is naturally more complex than traditional models of software deployment.
Simple SOA diagram

SaaS applications are generally priced on a per-user basis, sometimes with a relatively small minimum number of users and often with additional fees for extra bandwidth and storage. SaaS revenue streams to the vendor are therefore lower initially than traditional software license fees, but are also recurring, and therefore viewed as more predictable, much like maintenance fees for licensed software.

Implementation

According to Microsoft, SaaS architectures generally can be classified as belonging to one of four "maturity levels," whose key attributes are configurability, multi-tenant efficiency, and scalability.[4] Each level is distinguished from the previous one by the addition of one of those three attributes:

  • Level 1 - Ad-Hoc/Custom: At the first level of maturity, each customer has its own customized version of the hosted application and runs its own instance of the application on the host's servers. Migrating a traditional non-networked or client-server application to this level of SaaS typically requires the least development effort and reduces operating costs by consolidating server hardware and administration.
  • Level 2 - Configurable: The second maturity level provides greater program flexibility through configurable metadata, so that many customers can use separate instances of the same application code. This allows the vendor to meet the different needs of each customer through detailed configuration options, while simplifying maintenance and updating of a common code base.
  • Level 3 - Configurable, Multi-Tenant-Efficient: The third maturity level adds multi-tenancy to the second level, so that a single program instance serves all customers. This approach enables more efficient use of server resources without any apparent difference to the end user, but ultimately is limited in its scalability.
  • Level 4 - Scalable, Configurable, Multi-Tenant-Efficient: At the fourth and final SaaS maturity level, scalability is added through a multitier architecture supporting a load-balanced farm of identical application instances, running on a variable number of servers. The system's capacity can be increased or decreased to match demand by adding or removing servers, without the need for any further alteration of application software architecture.

Virtualization also may be used in SaaS architectures, either in addition to multi-tenancy, or in place of it.[5] One of the principal benefits of virtualization is that it can increase the system's capacity without additional programming. On the other hand, a considerable amount of programming may be required to construct a more efficient, multi-tenant application. Combining multi-tenancy and virtualization provides still greater flexibility to tune the system for optimal performance.[6] In addition to full operating system-level virtualization, other virtualization techniques applied to SaaS include application virtualization and virtual appliances.

Various types of software components and frameworks may be employed in the development of SaaS applications. These tools can reduce the time to market and cost of converting a traditional on-premise software product or building and deploying a new SaaS solution. Examples include components for subscription management, grid computing software, web application frameworks, and complete SaaS platform products.[7]

SaaS and SOA

Much like any other software, Software as a Service can also take advantage of Service oriented architecture to enable software applications to communicate with each other. Each software service can act as a Service provider, exposing its functionality to other applications via public brokers, and can also act as a Service requester, incorporating data and functionality from other services.

Adoption

Drivers

The traditional rationale for outsourcing of IT systems is that by applying economies of scale to the operation of applications, a service provider can offer better, cheaper, more reliable applications than companies can themselves. The use of SaaS-based applications has grown dramatically, as reported by many of the analyst firms that cover the sector. But it’s only in recent years that SaaS has truly flourished. Several important changes to the way we work have made this rapid acceptance possible.

  • Everyone has a computer: Most information workers have access to a computer and are familiar with conventions from mouse usage to web interfaces. As a result, the learning curve for new, external applications is lower and less hand-holding by internal IT is needed.
  • Computing itself is a commodity: In the past, corporate mainframes were jealously guarded as strategic advantages. More recently, the applications were viewed as strategic. Today, people know it’s the business processes and the data itself—customer records, workflows, and pricing information—that matters. Computing and application licenses are cost centers, and as such, they’re suitable for cost reduction and outsourcing. The adoption of SaaS could also drive Internet-scale to become a commodity.[8]
  • Insourcing IT systems requires expensive overhead including salaries, health care, liability and physical building space.
  • Applications are standardized: With some notable, industry-specific exceptions, most people spend most of their time using standardized applications. An expense reporting page, an applicant screening tool, a spreadsheet, or an e-mail system are all sufficiently ubiquitous and well understood that most users can switch from one system to another easily. This is evident from the number of web-based calendaring, spreadsheet, and e-mail systems that have emerged in recent years.
  • Parametric applications are usable: In older applications, the only way to change a workflow was to modify the code. But in more recent applications—particularly web-based ones—significantly new applications can be created from parameters and macros. This allows organizations to create many different kinds of business logic atop a common application platform. Many SaaS providers allow a wide range of customization within a basic set of functions.
  • A specialized software provider can target global markets: A company that made software for human resource management at boutique hotels might once have had a hard time finding enough of a market to sell its applications. But a hosted application can instantly reach the entire market, making specialization within a vertical not only possible, but preferable. This in turn means that SaaS providers can often deliver products that meet their markets’ needs more closely than traditional “shrinkwrap” vendors could.
  • Web systems are reliable enough: Despite sporadic outages and slow-downs, most people are willing to use the public Internet, the Hypertext Transfer Protocol and the TCP/IP stack to deliver business functions to end users.
  • Security is sufficiently well trusted and transparent: With the broad adoption of SSL organizations have a way of reaching their applications without the complexity and burden of end-user configurations or VPNs.
  • Availability of enablement technology: According to IDC,[3] organizations developing enablement technology that allow other vendors to quickly build SaaS applications will be important in driving adoption. Because of SaaS' relative infancy, many companies have either built enablement tools or platforms or are in the process of engineering enablement tools or platforms. A Saugatuck study shows that the industry will most likely converge to three or four enablers that will act as SaaS Integration Platforms (SIPs).[9]
  • Wide Area Network's bandwidth has grown drastically following Moore's Law (more than 100% increase each 24 months) and is about to reach slow local networks bandwidths. Added to network quality of service improvement this has driven people and companies to trustfully access remote locations and applications with low latencies and acceptable speeds.

Limiting factors

Widespread implementation of SaaS requires that the services be well defined. That can achieve an economy of scale and the capacity to balance supply and demand. This assumption holds true for those areas of IT that are ubiquitous, a cost of doing business and commodity-like. SaaS is therefore not suitable for innovative or highly specialized niche systems, though SaaS may be used to provide one or more components in such systems.

As with manufacturing, a lack of substitutability and second sourcing options with any commodity creates a strategic weakness for any customer in terms of security, competition and pricing. Various forms of this weakness, such as 'vendor lock-in', are often cited as a barrier to adoption of SaaS as the current industry lacks portability and interoperability between vendors. This means that to change from one vendor to another will take a considerable amount of effort and time. This situation is resolvable by the introduction of open sourced standards and the development of markets based upon such standards.[10]

Whilst the severe lack of substitutability is unresolved, many vendors counter the concerns over potential security and operational risk with the argument that the professionals operating SaaS applications may have much better security and redundancy tools available to them.

Furthermore the concern that SaaS applications pose some difficulty for businesses that need extensive customization is countered with the claim that many vendors have made progress with both customization and publication of their programming interfaces. It should be noted that customization will reduce substitutability and given that SaaS covers commodity-like activities, the strategic benefit of customization is highly dubious.

In addition to this, the availability of open source applications, inexpensive hardware and low cost bandwidth combine to offer compelling economic reasons for businesses to operate their own software applications, particularly as open source solutions have become higher quality and easier to install.

Sales Channels

With products below the $100 range and its focus on the mid market, direct selling can become an expensive undertaking. SaaS companies are seeking alternatives by selling through value-added resellers (VARs), Managed Service Providers (MSPs), Master Managed Service Providers (MMSPs) and similar alliance partners. But since SaaS is not only a different delivery mechanism but a different business model and different technology as well, selling through channels has its own challenges.

Alternative Pricing Models

One of the most compelling reasons for developing SaaS applications is the opportunity to implement alternative pricing models that focus on establishing and maintaining recurring revenue streams. Most SaaS vendors charge some kind of monthly "hosting" or "subscription" fee. But, there are also opportunities to charge per transaction or event. For example, let's say a new widget is entered into the system. The vendor could track how many widgets were entered into the system during the month and charge the customer for those widgets at the end of the month. These alternative pricing models are made possible by the fact that customers actually "lease" the software from the vendors and the vendors have the ability to view all transactional activity within the system.

See also

References

  1. ^ Service Based Software, Bennet et al. 1999
  2. ^ Strategic Backgrounder: Software as a Service
  3. ^ a b Traudt, Erin (2005). "2005 Software as a Service Taxonomy and Research Guide". IDC. p. 7. Retrieved 2006-08-25. {{cite web}}: Unknown parameter |coauthors= ignored (|author= suggested) (help); Unknown parameter |month= ignored (help) Cite error: The named reference "IDC" was defined multiple times with different content (see the help page).
  4. ^ "Architecture strategies for catching the long tail". 2006. Retrieved 2008-05-24. {{cite web}}: Unknown parameter |month= ignored (help)
  5. ^ Wainewright, Phil (2007). "Workstream prefers virtualization to multi-tenancy". Retrieved 2008-05-24. {{cite web}}: Unknown parameter |month= ignored (help)
  6. ^ Chong, Fred (2006). "Multi-tenancy and Virtualization". Retrieved 2008-05-24. {{cite web}}: Unknown parameter |month= ignored (help)
  7. ^ Schuller, Sinclair (2007). "Repealing the SaaS Tax". Retrieved 2008-05-24. {{cite web}}: Unknown parameter |month= ignored (help)
  8. ^ http://www.saasblogs.com/2006/09/26/scale-as-a-commodity-2/ SaaSBlogs: Scale as a Commodity
  9. ^ "SaaS 2.0: Saugatuck Study Shows Rapid SaaS Evolution to Business Platforms" (PDF). 2006. Retrieved 2006-09-01. {{cite web}}: Unknown parameter |month= ignored (help)
  10. ^ Breaking down the saga of vendor lock-in

External links