[This post was perhaps a bit more controversial than others, with some tech folks getting hung up on what "SaaS" means. To head that off, let's be clear up front – Software-as-a-Service is TYPICALLY defined as both a licensing model (subscription) AND a delivery method (they host the service, so there is no installation or management of that service by the customer). Most gripes about this post was from those hung up on saying it was just a licensing model. Wrong, according to Wikipedia, Techopedia, Cisco, and many others.]
I got a question about why am I griping that Alteryx is not a SaaS, passing along a SeekingAlpha article comparing SaaS companies that included AYX. Thanks for the question, and I figured it'd be a good post so am answering publicly.
Just because financial articles and blogs keep calling AYX a SaaS company and putting it their hyper-growth comparisons or fancy Rule of 40 charts doesn't make it so. They are wrong. Alteryx does have the oh-so important recurring revenue needed to obtain hypergrowth -- but it is NOT SaaS.
First a few terms...
- Software-as-a-Service (SaaS) = a software application being made available ON THE CLOUD, so that you don't have to install it locally on your computer then manage and upgrade it from there. For end-user applications, this means the software is entirely accessed via a web or mobile application, having most/all data stored in the cloud. For server-side applications like databases, SaaS can mean managed hosting of that application (see MongoDB Atlas).
- Single-tenancy = traditional method of installing software into your own system, where your company is the only "tenant" (customer of the application) accessing it. Every instance is its own install and is their "own island" (isolated from others). Hosted applications can be single-tenant, but requires separate infrastructure be utilized per customer.
- Multi-tenancy = SaaS term that means you can support multiple customers on the same hosted instance of the application, each user being secured to see only their own data. Vast majority of SaaS applications are architected to be multi-tenant.
- Data bleed = when security of a multi-tenant application is not implemented correctly, and a user can accidentally see another user's data or data becomes co-mingled. This is a big no-no. (Not really pertinent to today's discussion, but I always loved the term.)
- Tenant isolation = intentionally keeping application as single-tenant for security purposes. In cloud hosting, it means renting your own set of infrastructure, instead of using shared instances.
- Vertical scaling = buying a more powerful server to make it more responsive and performant. This is typically the only option for server-side installed software that isn't cluster-based.
- Horizontal scaling = being able to scale up more instances to make a cluster-based server-side application more responsive and performant. (I've covered this before in my recent ESTC and MDB coverage.)
BACK TO AYX...
So let's be clear - Alteryx is not a SaaS company. Every product is a software you download from them, then install on your system. However, unlike the days of old with boxed software that you bought at the store, access to these softwares is sold on an annual subscription basis - so it IS recurring revenue. But they are not hosting anything for you in the cloud, nor providing their products "as-a-service".
- Alteryx Designer runs on your laptop or desktop computer, as long as its Windows 10+.
- Alteryx Server or Connect runs on your on-premise server or cloud-based VM, as long as its Windows Server 2008+.
- Alteryx Promote runs on your on-premise server or cloud-based VM, as long as it's a CentOS7 cluster with 3+ nodes.
So none of their software exists solely in the cloud. For Alteryx, this makes data management easy. They don't need to worry about managing a customer's datasets, as a user just feeds in information into their computer -- whether from Excel or CSV files on their local file system, pointing to files in the cloud (AWS S3), or hooks into their on-premise or cloud-hosted databases and other data sources.
This disappoints me, as Alteryx could be making incremental moves in a SaaS direction, yet they are not. Yes, you can install it into a cloud-based server (e.g. a Windows instance running on Azure or AWS), but it remains a server software you install and manage and upgrade on your own.
Regardless of all my gripes, Alteryx is a raging success, and I own a large slug of it (13%). But I am disappointed in this decision to remain out of SaaS.
- They are limiting the scale of what a single server can handle, in terms of data load. (Vertical scaling can only go so far. Cloud SaaS architecture would allow for horizontal scaling.)
- This puts the onus of the compute and memory costs (the major factors in analytics work) on the customer, to purchase in advance.
- This doesn't let the customer scale up as needed, either.
- I think this leaves them more open to being disrupted by SaaS services that could provide a similar ETL and analytics platform that scales.
- It may also may be limiting their potential market by being so Windows-focused with their applications - though this is likely not a bad decision with their market (likely ~80% of enterprise companies are on Windows), but many companies are Mac-focused (design shops, software developers), and more and more companies are mobile-focused or tablet driven (restaurants, retail).
Let's think of Alteryx Server as something akin to the traditional MongoDB database - it is a software you need to install on your own on-premise or cloud-based server or VM.
But then, why isn't Alteryx offering a managed hosting service akin to Atlas? "We host Alteryx Server/Connect/Promote for you - just subscribe!" This would be an incredibly easy move for them to make (technically) if they kept it as single-tenant managed instances, and likely removes a big source of friction in getting users hooked into those products.
The vast majority of Alteryx products are WINDOWS-based. Not every company utilizes Windows, so they are limiting their market potential somewhat with this choice. Sure, most enterprises are likely Windows environments, but why limit it to just one OS? Not so much for the few Mac users like me, but today's companies are adopting tablets in their workforce more and more. You need a Windows laptop or desktop to use Alteryx Designer.
As for the server-side products, you can deploy these into the cloud (AWS, Azure, GCP) onto a Windows instance. Promote is the only non-Windows software Alteryx offers. It runs on a 3+ node CentOS7 Linux cluster.
Moves Alteryx could make...
EASY:
Offer a "vendor-neutral" managed hosting offering on the 3 major cloud platforms. Host Alteryx Server, Connect and Promote instances as single-tenant instances per customer. This basically reduces customer friction in using these products as they no longer need to buy the hardware up front, nor install and maintain the software themselves. (This isn't how most SaaS companies work though -- single-tenancy is expensive as each requires their own separate system to host it. But it would be a great first step.)
HARDER:
From there, take steps to allow Alteryx Server, Connect and Promote softwares to be a fully multi-tenant and cluster-based (and hence, horizontally scalable). They could then host the applications on a "shared" instance as a SaaS service. They could continue to have a higher price tier for larger or security-conscious customers to allow them to have tenant isolation. (This gets them to multi-tenancy, which is how all other SaaS companies typically are architected.)
HARDEST:
Regardless of the those server-side decisions, Designer can only be run on Windows laptops/desktops only. Instead of expanding the operating systems supported beyond Windows, migrate Designer to work as a browser-based SaaS application. This would make it more difficult to work with local files (browsers are mostly walled off from file system for security), so there would have to be a new module developed for uploading and managing your files and database connections, as datasets within the SaaS service.
The implications here are that it makes it more difficult for Alteryx platform to get at on-premise files and databases. But we know from Okta and other SaaS companies that enterprises are heavily moving into the cloud, and into hybrid or multi-cloud approaches. Alteryx is ignoring these trends.
Sure, as companies move more to cloud-only or hybrid environments, they can continue working with AYX right now, but it requires they create a Windows instance in the cloud and install & manage the AYX software on it. I feel that Alteryx platform should just be there, at the ready, as a SaaS service available in the cloud vendor of the customer's choice.
All that said, they may have finally made a move towards SaaS with their acquisition of ClearStory and their Spark-based tools. However, I cannot get much information on the company's products as their website now just forwards to Alteryx's site. If it is for on-premise integration with Spark, this merely passes the buck back to the customer to maintain more infrastructure (a Hadoop cluster running Spark). But if they had a SaaS offering, hopefully this develops into an AYX product where you pass in your final models and data, and they run the compute in the cloud.
So I await Alteryx's moves from here with bated breath. This could finally be the sign I have been looking for -- but it doesn't cover their existing product line, only Spark capabilities to run larger data sets and models. But leveraging Spark for analytics compute tasks DOES get them past the limits of what vertical scaling will allow one computer to do.
So this is what I mean by my griping about lack of SaaS, and in keeping a close eye out on AYX -- on the competition, and on seeing where AYX continues to take their platform from here.
- muji