Software as a service

From Wikipedia, the free encyclopedia
(Redirected from SaaS)
Jump to navigation Jump to search

Template:Short description Template:Pp Template:Redirect-distinguish Software as a service (SaaS Template:IPAc-en[1]) is a cloud computing service model where the provider offers use of application software to a client and manages all needed physical and software resources.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS is usually accessed via a web application. Unlike other software delivery models, it separates "the possession and ownership of software from its use".Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS use began around 2000, and by 2023 was the main form of software application deployment.

Unlike most self-hosted software products, only one version of the software existsScript error: No such module "Unsubst". and only one operating system and configuration is supported. SaaS products typically run on rented infrastructure as a service (IaaS) or platform as a service (PaaS) systems including hardware and sometimes operating systems and middleware, to accommodate rapid increases in usage while providing instant and continuous availability to customers. SaaS customers have the abstraction of limitless computing resources, while economy of scale drives down the cost. SaaS architectures are typically multi-tenant; usually they share resources between clients for efficiency, but sometimes they offer a siloed environment for an additional fee. Common SaaS revenue models include freemium, subscription, and usage-based fees. Unlike traditional software, it is rarely possible to buy a perpetual license for a certain version of the software.

There are no specific software development practices that distinguish SaaS from other application development, although there is often a focus on frequent testing and releases.

Cloud computing

Script error: No such module "Labelled list hatnote".

File:Comparison of on-premise, IaaS, PaaS, and SaaS.png
Comparison of on-premise, IaaS, PaaS, and SaaS

Infrastructure as a service (IaaS) is the most basic form of cloud computing, where infrastructure resources—such as physical computers—are not owned by the user but instead leased from a cloud provider. As a result, infrastructure resources can be increased rapidly, instead of waiting weeks for computers to ship and set up. IaaS requires time and expertise to make use of the infrastructure in the form of operating systems and applications.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Platform as a service (PaaS) includes the operating system and middleware, but not the applications.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS providers typically use PaaS or IaaS services to run their applications.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Without IaaS, it would be extremely difficult to make an SaaS product scalable for a variable number of users while providing the instant and continual availability that customers expect.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Most end users consume only the SaaS product and do not have to worry about the technical complexity of the physical hardware and operating system.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Because cloud resources can be accessed without any human interactions, SaaS customers are provided with the abstraction of limitless computing resources, while economy of scale drives down the cost.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Another key feature of cloud computing is that software updates can be rolled out and made available to all customers nearly instantaneously.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". In 2019, SaaS was estimated to make up the plurality, 43 percent, of the cloud computing market while IaaS and PaaS combined account for approximately 25 percent.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

History

In the 1960s, multitasking was invented, enabling mainframe computers to serve multiple users simultaneously. Over the next decade, timesharing became the main business model for computing, and cluster computing enabled multiple computers to work together.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Cloud computing emerged in the late 1990s with companies like Amazon (1994), Salesforce (1999), and Concur (1993) offering Internet-based applications on a pay-per-use basis. All of these focused on a single product to seize a high market share.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Beginning with Gmail in 2004, email services were some of the first SaaS products to be mass-marketed to consumers.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". The market for SaaS grew rapidly throughout the early twenty-first century.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Initially viewed as a technological innovation, SaaS has come to be perceived more as a business model.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". By 2023, SaaS had become the primary method that companies deliver applications.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Popular consumer SaaS products include all social media websites, email services like Gmail and its associated Google Docs Editors,Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Skype, Dropbox,Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". and entertainment products like Netflix and Spotify.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Enterprise SaaS products include Salesforce's customer relationship management (CRM) software, SAP Cloud Platform, and Oracle Cloud Enterprise Resource Planning.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Revenue models

Some SaaS providers offer free services to consumers that are funded by means such as advertising, affiliate marketing, or selling consumer data.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". One of the most popular models for Internet start-ups and mobile apps is freemium, where the company charges for continued use or a higher level of service. Even if the user never upgrades to the paid version, it helps the company capture a higher market share and displace customers from a rival.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". However, the company's hosting cost increases with the number of users, regardless of whether it is successful at enticing them to use the paid version.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Another common model is where the free version only provides demonstration (crippleware). Online marketplaces may charge a fee on transactions to cover the SaaS provider costs.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". It used to be more common for SaaS products to be offered for a one-time cost, but this model is declining in popularity.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". A fewScript error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS products have open source code, called open SaaS. This model can provide advantages such as reduced deployment cost, less vendor commitment, and more portable applications.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

The most common SaaS revenue models involve subscription and pay for usage.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". For customers, the advantages include reduced upfront cost, increased flexibility, and lower overall cost compared to traditional software with perpetual software licenses.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". In some cases, the steep one-time cost demanded by sellers of traditional software were out of the reach of smaller businesses, but pay-per-use SaaS models makes the software affordable.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Usage may be charged based on the number of users, transactions, amount of storage spaced used, or other metrics.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Many buyers prefer pay-per-usage because they believe that they are relatively light users of the software, and the seller benefits by reaching occasional users who would otherwise not buy the software.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". However, it can cause revenue uncertainty for the seller and increases the overhead for billing.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

The subscription model of SaaS offers a continuing and renewable revenue stream to the provider, although vulnerable to cancellation.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". If a significant number are cancelled, the viability of the business can be placed in jeopardy.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". The ease of canceling a subscription and switching to a competitor leave customers with the leverage to get concessions from the seller.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". While recurring revenues can help the business and attract investors, the need for customer service skills in convincing the customer to renew their subscription is a challenge for providers switching to subscription from other revenue models.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Adoption

SaaS products are typically accessed via a web browser as a publicly available web application.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". This means that customers can access the application anywhere from any device without needing to install or update it.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS providers often try to minimize the difficulty of signing up for the product.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Many capitalize on the service-oriented structure to respond to customer feedback and evolve their product quickly to meet demands. This can enable customers to believe in the continued improvement of the product and help the SaaS provider get customers from an established traditional software company that likely can offer a deeper feature set.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Although on-premises software is often less secure than SaaS alternatives,Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". security and privacy are among the main reasons cited by companies that do not adopt SaaS products.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS companies have to protect their publicly available offerings from abuse, including denial-of-service attacks and hacking.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". They often use technologies such as access control, authentication, and encryption to protect data confidentiality.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Nevertheless, not all companies trust SaaS providers to keep sensitive data secured.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". The vendor is responsible for software updates, including security patches, and for protecting the customers' data.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS systems inherently have a greater latency than software run on-premises due to the time for network packets to be delivered to the cloud facility. This can be prohibitive for some uses, such as time-sensitive industrial processes or warehousing.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

The rise of SaaS products is one factor leading many companies switched from budgeting for IT as a capital expenditure to an operating expenditure.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". The process of migration to SaaS and supporting it can also be a significant cost that must be accounted for.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Development

File:SaaS architecture.jpg
A SaaS architecture. All customers are running the same version of the software on the same platform.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

A challenge for SaaS providers is that demand is not known in advance. Their system must have enough slack to be able to handle all users without turning any away, but without paying for too many resources that will be unnecessary. If resources are static, they are guaranteed to be wasted during non-peak time.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Sometimes cheaper off-peak rates are offered to balance the load and reduce waste.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". The expectation for continuous service is so high that outages in SaaS software are often reported in the news.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

There are not specific software development practices that differentiate SaaS from other application development.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS products are often released early and often to take advantage of the flexibility of the SaaS delivery model.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Agile software development is commonly used to support this release schedule.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Many SaaS developers use test-driven development, or otherwise emphasize frequent software testing, because of the need to ensure availability of their service and rapid deployment.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Domain-driven design, in which business goals drive development, is popular because SaaS products must sell themselves to the customer by being useful.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS developers do not know in advance which devices customers will try to access the product from—such as a desktop computer, tablet, or smartphone—and supporting a wide range of devices is often an important concern for the front-end development team.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Progressive web applications allow some functionality to be available even if the device is offline.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

SaaS applications predominantly offer integration protocols and application programming interfaces (APIs) that operate over a wide area network.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Architecture

SaaS architecture varies significantly from product to product.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Nevertheless, most SaaS providers offer a multi-tenant architecture.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". With this model, a single version of the application, with a single configuration (hardware, network, operating system), is used for all customers ("tenants").Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". This means that the company does not need to support multiple versions and configurations.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". The architectural shift from each customer running their own version of the software on their own hardware affects many aspects of the application's design and security features.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". In a multi-tenant architecture, many resources can be used by different tenants or shared between multiple tenants.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

File:Application and control planes of a SaaS product.png
Application and control planes of a SaaS product

The structure of a typical SaaS application can be separated into application and control planes.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". SaaS products differ in how these planes are separated, which might be closely integrated or loosely coupled in an event- or message-driven model.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". The control plane is in charge of directing the system and covers functionality such as tenant onboarding, billing, and metrics, as well as the system used by the SaaS provider to configure, manage, and operate the service.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Many SaaS products are offered at different levels of service for different prices, called tiering. This can also affect the architecture for both planes, although it is commonly placed in the control plane.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Unlike the application plane, the services in the control plane are not designed for multitenancy.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

File:Tenant routing for SaaS example.png
An example architecture where some services are shared, while others are allocated on a per-tenant basisScript error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

The application plane—which varies a great deal depending on the nature of the product—implements the core functionality of the SaaS product.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Key design issues include separating different tenants so they cannot view or change other tenants' data or resources.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Except for the simplest SaaS applications, some microservices and other resources are allocated on a per-tenant basis, rather than shared between all tenants.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Routing functionality is necessary to direct tenant requests to the appropriate services.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

File:Example SaaS deployment architecture.png
Example SaaS deployment architecture that offers complete siloing on a premium tier and mixed microservice deployment to other tenantsScript error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Some SaaS products do not share any resources between tenants—called siloing. Although this negates many of the efficiency benefits of SaaS, it makes it easier to migrate legacy software to SaaSScript error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". and is sometimes offered as a premium offering at a higher price.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Pooling all resources might make it possible to achieve higher efficiency,Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". but an outage affects all customers so availability must be prioritized to a greater extent.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Many systems use a combination of both approaches, pooling some resources and siloing others.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters". Other companies group multiple tenants into pods and share resources between them.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

Legal issues

In the United States, constitutional search warrant laws do not protect all forms of SaaS dynamically stored data. The result is that governments may be able to request data from SaaS providers without the owner's consent.[2][3]

Certain open-source licenses such as GPL-2.0 do not explicitly grant rights permitting distribution as a SaaS product in Germany.Script error: No such module "Footnotes".Script error: No such module "Check for unknown parameters".

References

<templatestyles src="Reflist/styles.css" />

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

Sources

<templatestyles src="Refbegin/styles.css" />

  • Script error: No such module "Citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
    • Script error: No such module "citation/CS1".
    • Script error: No such module "citation/CS1".
    • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "Citation/CS1".

Further reading

  • Script error: No such module "citation/CS1".

Script error: No such module "Navbox". Script error: No such module "Navbox".