In order to define and understand “cloud-native SaaS,” we first need to define SaaS, cloud computing, and cloud-native development.
Software as a Service (SaaS) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. In general SaaS users connect to the software over the internet, through a browser. However, not every vendor claiming to have a SaaS offering is really delivering all the benefits of modern SaaS. Differences in the deployment, management and configuration options of the software have a major impact on cost and flexibility.
The differences in true modern SaaS offerings versus architectures masquerading as SaaS can be referred to as “cloud-native” vs “cloud-hosted.
Cloud computing, or “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction,” is at the core of well known SaaS products like Salesforce, Google Apps, Slack and Zoho. All of these examples fit the model of a the centrally hosted service acquired through subscription (SaaS). Meaning that the SaaS providers manage, monitor and maintain the majority of the technology stack necessary to operate the software. The licensor simply consumes the service rather than manages the infrastructure and deployment within a cloud infrastructure service.
Cloud-native development is just that—an approach to building and updating apps quickly, while improving quality and reducing risk. More specifically, it’s a way to build and run responsive, scalable, and fault-tolerant apps anywhere.
So what is cloud-native SaaS?
Software as a Service developed, designed and deployed as cloud-native applications are composed of several independent services. The independence of each service introduces the ability to maintain and scale, in isolation, horizontally rather than vertically. The services should each be automated for continuous integration and deployment through agile DevOps within a cloud infrastructure and comprehensive testing in place to guarantee no disruption of service for rapid deployment cycles. This architecture allows the software provider to respond to the demands of their customers quickly and safely passing along lower cost savings and rapid return on investment. The days of the 6 to 9 month development process for massive patches and upgrades should be in the past.
What is the difference between “cloud-native SaaS” and “cloud-hosted SaaS”?
With cloud-native computing becoming more ubiquitous many software providers promote their products as “cloud-enabled” or “cloud-hosted”. This is called “Cloudwashing”. While possible to package existing software for deployment to a cloud platform the outcome isn’t capable of leveraging the true benefits of cloud computing. The opportunity to scale horizontally and control costs are reduced. Flexibility is limited to the deployed environment. All of which essentially creates a dedicated hosting environment for a single software tenant.
Qualified cloud-native software vendors leverage resource pooling, rapid elasticity, on-demand services and many other tools to create the best product for the end customer. The end customer reaps these benefits through eliminating the concerns of managing complex software systems and devoting that attention to their core business.
Understanding the difference between cloud-native SaaS and cloud-hosted SaaS is important in determining if the technology has the scalability you should expect to support long-term growth.
Steve Davis is Chief Technology Officer at Four51. As a MACH Alliance member, Four51 is dedicated to to eliminating the limitations of eCommerce via modern, customizable eCommerce, order management, and B2B marketplace solutions delivered with our API-first, headless eCommerce platform, OrderCloud.