Defining Software Models
Before we plunge into business-impacting aspects of software like security, cost, risk, innovation and flexibility, we need to understand how different types of software are accessed, deployed, modified, and managed. This is often referred to as “software delivery models.”
There are three main software delivery models: on-premise, private cloud, and multi-tenant cloud. The differences between them can have immediate and profound ongoing impacts on your business, more than you might think. They are as different as buying DVDs, renting DVDs, or streaming movies on demand.
On-premise is what its name suggests - software hosted and maintained on your company’s premises by your IT department. In our analogy, it’s akin to buying a DVD.
The on-premise delivery model dominated the software era of the 1980’s and 1990’s. It was born and flourished in a time when the internet was still in its infancy.
With on-premise software, the customer owns a perpetual license of the software as it is installed at their facility. As the company changes and grows, it is fully incumbent upon IT resources to maintain and evolve the software, keep hardware refreshed, and pay the vendor for software upgrades and maintenance. Cost and effort increases overtime and become very unpredictable. On-premise software is, afterall, a depreciating asset.
Private (or Single-tenant) Cloud
The private cloud delivery model still provides each customer with their own instance of software. The key difference compared to on-premise software is that with private cloud the software vendor hosts the supporting infrastructure in its data center or on a cloud infrastructure (ex. Amazon Web Services, Microsoft Azure).
Despite appearances, private cloud is closer to on-premise than it is to multi-tenant cloud. In many cases, private cloud providers are merely disguising on-premise software with a cloud delivery model. It is like getting DVDs in the mail through a subscription service instead of buying them.
By hosting the supporting infrastructure, this private cloud delivery model shifts the responsibility for security, application access, operations, general maintenance and accountability from the customer’s IT organization to the vendor, which is an advantage over on-premise. The software vendor can also deliver application updates, ensure performance, and manage security updates. However, each instance of the software is still siloed, which makes it subject to the same inefficiencies and risks as on-premise.
Multi-tenant cloud (or Software as a Service (SaaS), or pure cloud) is the software delivery model where multiple customers leverage a single version of software and co-exist on a shared infrastructure that is managed and hosted by the software vendor.
Much like systems used to separate bank accounts or medical records, multi-tenant cloud vendors use virtual partitioning (think firewalls) to securely segregate customer’s data, configurations, and customizations.
Each customer is on the same, most current version of the software, but each customer’s configuration or customizations are their own. In other words, each customer (a.k.a. tenant) shares computing resources, but each “tenant” is autonomous and remains invisible to other tenants.
The multi-tenant software delivery method has become the preferred delivery method for the software industry, and for good reason. The majority of today’s leading software companies deliver their products via a multi-tenant architecture, and nearly every new software company started in the last 10 years has had a multi-tenant cloud strategy.
The reason is clear; maintaining only one version of code allows multi-tenant software vendors to innovate faster and provide more value to all their customers with every investment. This is why people often say that multi-tenant cloud has democratized the software world by providing the same value to both small and large companies. Multi-tenant cloud software is an appreciating asset.
The multi-tenant infrastructure also benefits from a crowdsourced model for quality. If there is a defect, it’s found faster. When fixed, it is fixed for all customers. Every day, every user is “testing” the same system. The benefits of one version of software and a multi-tenant infrastructure pave way for significant gains in security and scalability. We will talk about that next time.
Expert's Guide to Evaluating Software Series:
Chapter 1: What Really Matters When Making Software Investments
Chapter 2: Defining Software Models
Chapter 3: Security & Scalability
Chapter 4: Total Cost of Ownership
Chapter 5: Innovation
Chapter 6: Flexibility
Chapter 7: Conclusion
Chapter 8: 20 Questions You Should Ask Vendors
Frank Defesche began his software career at Trilogy Software in Austin, TX, an on-premise software company. In the summer of 2000 he joined salesforce.com as one of their first consultants. In a world dominated by on-premise and home grown software, he was faced with the challenge of translating traditional software processes to an emerging cloud paradigm. He was part of the cloud’s first chapter and has lived it ever since. He currently serves as the SVP and General Manager of Veeva Systems and is responsible for expanding Veeva’s solutions to industries beyond Veeva’s life science beginnings.