Consuming software as a service has become the dominant trend for enterprise applications over the past decade. Here’s how SaaS took over the world. Credit: Thinkstock One of the most popular forms of cloud computing is software as a service (SaaS). It is one of the three major categories of cloud computing, along with infrastructure as a service (IaaS) and platform as a service (PaaS). SaaS has become the dominant software delivery model since the concept debuted in the early 2000s. SaaS defined SaaS stands for software as a service, which means software is hosted by a third-party provider and delivered to customers over the internet as a service. While most SaaS products are aimed at business users, some products have proved popular with individual consumers, like note-taking app Evernote or personal finance tools like TurboTax and Mint. In business settings, users access productivity applications or enterprise software from a service provider instead of from their company’s private data center. Microsoft 365 and Salesforce are common examples of such SaaS software used in business that had been previously hosted and distributed by businesses’ own data centers. SaaS is a marked difference to the old model of making a one-off purchase of software that must be hosted, implemented, and maintained by the buyers themselves. The SaaS delivery model is enabled by a multitenant architecture, where a service provider can distribute multiple versions of the same software from a single physical server. Each user or business has its own version of the application, with the associated customizations, data, and access controls, but from a shared code base that can be patched, updated, and maintained centrally. As a result, software can be purchased by individuals or for a select group of users and paid for on a monthly or annual subscription basis per “seat,” instead of making a large upfront investment in a perpetual (permanent) license, starting a lengthy implementation, and committing to years of maintenance, upgrades, and support contracts. SaaS vs. IaaS vs. PaaS SaaS sits alongside infrastructure as a service (IaaS) and platform as a service (PaaS) as the three most popular models of cloud consumption. Simply put, IaaS provides the building blocks for consuming cloud services, such as compute, storage, networking, and monitoring, while PaaS assembles these building blocks into a more easily consumable software development platform. SaaS is different in that it isn’t primarily aimed at software developers. Instead, popular business applications like email, customer relationship management (CRM), and financial management tools are available on-demand from anywhere via a web browser, desktop computer, or mobile device. SaaS advantages for enterprise IT As employees have become more distributed and remote, SaaS allows authorized users to access an application from anywhere on any authorized device, without having to be behind the company firewall. This also allows for greater real-time collaboration, because SaaS enables concurrent usage of the same tool or document. SaaS also gives companies more flexibility as they grow, as they only have to pay for the employees using the software, if usage is tracked and managed correctly. This model also lowers the maintenance burden on IT teams to stay up-to-date with the latest releases or installing patches such as security updates, because the SaaS provider handles all that. SaaS risks and challenges SaaS also comes with a new set of risks, most of which boil down to a reliance on a third-party provider to maintain the security and uptime of their services for users. Unlike the highly customizable business applications of old, customers are also reliant on the provider to build new features and squash bugs in a timely manner. They also require the provider to maintain the software availability. As we’ve seen countless times in the cloud era, outages at a service provider can affect thousands, even millions, of customers all at once. There are also portability restrictions that come with an increasing reliance on SaaS. Moving an entire company’s worth of CRM data over the internet to a different SaaS provider (or back to a private data center) is no small feat and would require a strong reason to do so. Security and privacy are also issues, especially if a trusted service provider experiences a data breach. However, the industry consensus is that SaaS security is much stronger than the security in most enterprise data centers, though a SaaS provider breach will affect many more users than a breach at an individual private data center. SaaS company examples The concept of software as a service as we know it today was pioneered by Marc Benioff and Parker Harris at Salesforce in the early 2000s. Today Salesforce is not only a SaaS behemoth, but also the clear market leader in customer relationship management (CRM) software. The Salesforce model spawned countless other companies that deliver their software as a service, including file storage with Dropbox and Box, collaboration software with Microsoft 365 and Google Workspace, messaging with Slack, HR and finance applications with Workday, and IT service desk software with ServiceNow. Most enterprise software companies have duly pivoted to offer their software as a service or at least with on-demand pricing, as the market now dictates. At the other end of the scale, there are new SaaS startups cropping up all the time, looking to make everything from tax-filing applications to e-signature software available on demand. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages analysis Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos