SaaS Observability Done Right
SaaS (software as a service) is the common model for many businesses today. Even longstanding behemoths such as Cisco and Microsoft have been strategically shifting their software products to SaaS and recurring revenue models (just think Office365 shift from licensed Office).
These SaaS businesses need agility to move fast and remain competitive. This means agility in the IT stack, but also agility in the business models to support bottom-up GTM and product-led growth (PLG). Observability is the eyes, ears and sensors that enable SaaS organizations to do that.
This was the topic of an OpenObservability Talks episode I held with Aviad Mizrachi, CTO & Co-Founder at Frontegg, a startup that provides SaaS companies with user management tools for building their own services (a SaaS-as-a-Service platform, if you fancy recursive patterns).
In this post, I will look at the elements of a successful SaaS, what kind of observability is needed to enable these elements, and the recommended SaaS technology stack needed for the job. Whether you are a founder, a product manager, an engineer or a UX designer — this one’s for you.
SaaS Success Drivers: Bottom-up, Product Led Growth, Self-Service, Agile, Reliable
Let’s look into the different elements required for a successful SaaS, and the observability needed to enable each one:
Frequent Releases with Fail-Fast Mentality
Startups need to move fast. They need to set up their beta version as fast as they can and roll it out to users, then monitor the user activity and adjust in a lean, startup fashion. This agility is critical, and results in high release rates and a data-driven approach to analyzing the user journey. Collecting and analyzing this data is where observability plays a key role, as well as in ensuring the software release pipeline itself.
Bottom-up and Product-Led Growth Strategy
Many startups choose the bottom-up model. Just take Slack or Zoom as examples. The bottom-up, product-led growth model means that the purchasing decision is made without involving a salesperson. A good self-service experience enables individuals to sign up and try the product on their own. Then a product-led experience will help them quickly find the value and fit to their use case and maximize it.
Ensuring this self-service, in-app experience and convergence to purchase makes observability even more critical for startup founders to analyze their PLG performance, as Mizrachi shares:
As a founder I need to understand: Who are my freemium users? what‘s their engagement level? How soon I believe they’ll be converting to paid? or are they forever free users?
Consumption-Based Pricing
Another important factor is consumption-based pricing, which has made the SaaS model so popular. You pay for what you use, plain and simple. Supporting this model, however, isn’t that simple, as it requires extensive usage metering in your application across multiple KPIs — be it number of sent messages, the megabytes of ingested traffic, or amount of API calls, depending on the product and usage.
Observability into this usage data also helps bottom-up SaaS companies determine and tune their public pricing (as unlike top-down businesses you don’t have a sales rep to wiggle the price for each deal).
Service Availability and Performance
Since SaaS is a product served from the cloud, it is much more susceptible to service disruptions. Just look at the recent AWS outages, which took down prominent SaaS companies such as Slack and Hulu. Mizrachi shared how companies use Frontegg’s service to provide login for their products:
If we are down, none of our customers or our customers’ customers can log in to their products… The observability here for us is crucial, because we need to know ahead of our customers that something is wrong.
But it goes far beyond availability. People have grown accustomed to delightful user experiences, and expect SaaS applications to be as responsive as on-prem applications. They don’t really care that your product is hosted on far-away data centers or of the associated network latency or jitter.
This means that availability and performance monitoring of your system and underlying infrastructure is a tenet of SaaS observability, and companies have very clear SLOs (service level objectives) to track the end user experience, some even tied to contractual SLA (service level agreement).
Recommended SaaS Tools and Observability Types
Now that we understand the critical elements of SaaS, let’s see what types of observability is needed.
Frontend Observability
Understanding how users interact with your product over the UI (user interface) is crucial. SaaS user analytics tools such as Mixpanel, Amplitude and Heap can help track this and provide important data and insights. Such tools are in common use by product managers and UX designers.
You can get deeper insights into UI interaction by watching individual user sessions (whether recorded or real-time) with tools such as Hotjar, Fullstory or Smartlook, but these are quite time-consuming and typically require a human to analyze sessions or heatmaps.
API Observability
In the case of developer platforms, most of the user engagement with the product happens not over UI but rather programmatically. Platform as a Service (PaaS) products offer a rich API suite for users, and these APIs need to be monitored to collect analytics and understand the user journey, just as we do for UI interactions.
Many SaaS companies utilize API management tools such as Amazon API Gateway, Kong and Apigee (now part of Google Cloud) to speed up their API development and setup. API management SaaS typically offer built-in API analytics capabilities that can provide this observability. Even if you’re not using a full-fledged API management tool, services such as Moesif can provide monitoring of your API and client interactions with it.
Customer Data Consolidation
Receiving and consolidating customer data from so many sources can become a challenge. Customer Data Platforms (CDP) such as Segment, mParticle and Rudderstack help with collecting and aggregating event data from the various sources and send it to different downstream tools to analyze user behavior. You can also enrich the collected events to provide additional context such as account ID or category. These SaaS products make it easy to build these data pipelines and do not require data engineering expertise.
Backend Observability
Developers, DevOps, SRE and SysAdmins need to monitor the IT systems and ensure the availability, performance and correct work of the infrastructure and the application code. For cloud-native environments, the popular stack is based on open source tools such as Prometheus for metrics monitoring, Elasticsearch and its open source fork OpenSearch for log management, and Jaeger for distributed tracing.
As with customer data, consolidating and correlating IT telemetry data across different signal types and IT systems can be a challenge. This is one of the key topics that our industry is facing now, and what my company Logz.io aims to address.
Final Notes
Building a successful SaaS requires good observability throughout the user journey, across the different touch points and interfaces. There are many SaaS platforms out there that can help build out this functionality, generate and collect the raw data, as well as aggregate and analyze the data.
Want to learn more? Check out the OpenObservability Talks episode: SaaS Done Right:
This article was originally published here.