When you use Facebook, Microsoft 365, Dropbox, Flickr, or Google search, you are not just using a cloud service, you are using Software-as-a-Service or SaaS. SaaS is by far the most prevalent cloud computing service model. The SaaS model delivers software functionality over a network (typically the internet) on a provider-managed system. Service models are a way to differentiate between the types of services being delivered by a cloud system. The SaaS model delivers on-demand software, PaaS (Platform-as-a-Service) delivers a software development and delivery platform and then there is IaaS (Infrastructure-as-a-Service) that delivers access to computing system building blocks- compute, storage and networking components. 

The software is typically built around multitenant architecture, which means that the service provider is running a single application that all users access. Providers must, and do, put much effort into assuring that individual tenants, which could be a single individual or a corporation that is thousands strong, do not have access to other tenants’ data. Because SaaS apps are not local, a web browser or possibly a thin-client terminal is used to access the software.

What companies produce SaaS products?

A cloud, by definition, provides self-service, on-demand access to resources, like, for example,  software. This makes the software easy to get access to for the end-user, and easy to sell or deliver for the vendor. As a result of these benefits to buyers and sellers, the SaaS model of software delivery has become pervasive for many business applications.

It is a safe bet that if an ad for software has popped up in your social media feed, interrupted your video, or showed up in your email inbox, it is a SaaS app. In the enterprise arena, you may recognize SaaS companies like Adobe Systems, Atlassian, Citrix Systems, Dropbox, Expensify, Google, IBM, Intuit, Microsoft, Oracle, SAP, ServiceNow, Splunk, and Workday. But these companies are truly just the tip of the modern application iceberg. Most modern software is developed as a SaaS model for delivery even if it is developed using a PaaS. If you were able to get access to a software service online for free or by providing a card payment, you probably just used or bought a SaaS app.

Saas Costs-Pricing

While you may, or may not, remember buying software that, once you bought it, was yours forever, cloud systems are different. One of the other hallmarks of cloud services, in general, is the use of a rental model. This means that SaaS applications are typically purchased through a monthly or annual subscription fee.

Cloud systems are also measured so that providers can keep track of what you are using and charge appropriately. It is common for providers to charge based on the number of application users, the number of overall transactions, or some other accounting of resources being consumed. Often providers provide several tiers of service based on user requirements.  You may be able to get on-demand access to basic functionality for free, but above some level of use there will be a charge, and ‘power users’ will need to pay more. Often this translates into different pricing tiers that might provide incremental increases in storage, transactions, or other resources along with the increasing overall price. 

One benefit of this model is that by paying only for what you need, the end-user may get access to powerful software that would have been prohibitive to purchase outright.  This also expands the providers’ market for the same reason.  The pay-as-you-go model also lets you shift costs to an operating expense (OPEX) rather than infrastructure/capital expenditure (CAPEX). They can stop subscribing to SaaS offerings whenever they want and thus stop those recurring costs.

SaaS Costs – Infrastructure

Why talk about infrastructure when discussing SaaS? Well, you have to run that software on something, right? One of the reasons to adopt SaaS is removing the need to purchase, provision, and manage the infrastructure for an application. This may not make sense when talking about a desktop application like a spreadsheet program, but when you are looking at doing machine learning with GPU processors, it might make a lot of sense when considering your bottom line.

The SaaS model also provides an alternative to buying software licenses and installing the software on multiple computers. The user just needs a web browser to interact with the software, the SaaS provider manages the underlying infrastructure to run the application. This can result in considerable savings compared to applications that would require the purchase of new hardware to support the software.

SaaS advantages for enterprise IT

Today’s software market, the customer is, more than ever, the boss. Successful SaaS vendors remove rather than enforce device and OS limitations. Because SaaS applications are, by definition, available via the internet, users can access the software from anywhere and with any device that has internet connectivity. This mobile and desktop functionality contrasts with many traditional enterprise applications’ computer-only availability. SaaS offerings also tend to run on any browser (more or less) and tend to support a diverse set of operating systems.

On-demand or automatic scalability is another cloud characteristic that SaaS applications leverage. Scalability allows users to ramp application subscriptions, service levels and features up or down at will. If hopefully, your company is growing quickly, this allows you to scale your application access quickly as well. If your business has demand cycles, this model allows you to scale resources up and down to best match demand to both keep customers happy as demand peaks and save money as demand drops.

If you recall the pain, as a user or IT professional, of the need for downtime to install updates, SaaS can address this by providing seamless updates that are often not even visible to end-users. Many software companies now email or message you to let you know they did the work so they get some credit for their efforts and let you know about bug fixes and newly enabled features.

How easy is it to deploy?

There is no question that ECS is the simpler container orchestration solution. With EKS, Kubernetes is a separate control plane that is layered on top of AWS services. With ECS, the control plane is not a user’s concern. Also, because ECS was specifically designed for the AWS environment, an AWS user will be able to set it up and then interact with their application via the familiar AWS management console.

In contrast, with EKS, a user will need to interface with Kubernetes using kops to configure and deploy Pods. 

To summarize, orchestrating containers via Kubernetes requires more expertise from DevOps engineers, whereas in ECS it’s considered to be easier.

 Risks and challenges

SaaS comes with a set of risks and challenges that enterprises need to be aware of to maximize the benefits of the delivery model.

Similar to other cloud services, users of SaaS rely on their service providers to be up and running at all times so that they can access applications as needed. They also depend on the providers to ensure that the software is kept up to date in terms of new features, security patches, and other changes.

Although SaaS providers take great measures to ensure continuous uptime and availability, even the largest vendors can experience unexpected interruptions in service. Companies that use SaaS can expect to lose some level of control when it comes to accessibility, which is one of the trade-offs of cloud computing in general.

This loss of control can extend to other areas, such as when a service provider adopts a new version of an application but an enterprise is not ready to make such a change or doesn’t want to incur the costs of training users in the new version.

If enterprises decide they want to switch to a new SaaS provider, they might confront the difficult task of moving extremely large files over the internet to the new provider. By contrast, changing locally deployed software usually doesn’t change the location of the files, which tend to reside in the enterprise’s datacenter.

 Security and privacy

As previously mentioned, many SaaS apps are multi-tenant. This means that multiple users have access to a core application.  This multi-tenant model has long been a feature (though not a requirement) of cloud services, and, short of a data breach of the SaaS company itself, exposing user data is an unlikely occurrence.  This does not mean, however, that you should not ask about how user data are segregated and kept secure.

The typical reliance on network access that is fundamental to cloud in general and SaaS, in particular, requires one to consider the possibility of datastream interception.  Competent SaaS providers will ensure that data are secured in flight and at rest. Network connectivity may also pose limitations on the quality of service (QoS). Understanding QoS SLAs and their potential functional impact on your business is fundamental to adopting a SaaS app.

SaaS integration

It is important to have a clear plan for integrating legacy/traditional IT practices and services with cloud-native service models. Organizations that still straddle both traditional IT and cloud delivery models for resource management have run into issues where departments purchase cloud resources (thank you on-demand access) rather than dealing with the very typical bureaucracy and delays of traditional IT delivery processes. This may result in duplicate spending on existing resources, data management issues, and integration problems. This is not to say that legacy and cloud-native systems cannot co-exist, but rather than planning can make integrating these systems a benefit rather than a detriment to your bottom line.

As SaaS models (and microservices architectures) continue to grow in use for application development and transforming legacy apps to function in cloud environments,  more and more “applications” become aggregations of multiple SaaS offerings. There are SaaS offerings that manage things like SSO and IAM to allow access to a SaaS stack to seamlessly provide target functionality. Some vendors have focused on providing APIs that easily allow inter-application communication.  Others provide plugins or connectors to interface between different software types.  As time progresses, programs are increasingly able to seamlessly integrate and interact with the other systems.

Opsani provides a secure SaaS offering that automates the process of optimizing performance and cost-effectiveness with artificial intelligence and machine learning and that integrates with a wide range of application types.  If you are working with a cloud-enabled environment, whether you are running an IaaS, PaaS, or SaaS system, Opsani may be able to save you money and eliminate the manual labor involved in optimizing application performance. Learn more at Opsani.com.