Case Study: How Avenue used Suborbital to Unlock User Customization

Case Study: How Avenue used Suborbital to Unlock User Customization

Without Hiring an Integrations Team

Avenue is a business observability and incident response tool which plugs into companies’ data warehouses and provides centralized alerting. Customers use Avenue to intelligently route alerts, improve operational service levels, and respond in real time to emergent business conditions.

Monitoring in Avenue starts with SQL: for example, alerts can fire when new rows appear in a query or when a metric over time exceeds a threshold. Unfortunately, nuanced business rules are notoriously difficult to express in SQL.

Thus, Avenue encountered a challenge: how could they help their customers tame the complexity of SQL without taking on unsustainable levels of bespoke development or personalized support?

The answer was to give Avenue’s customers the power of code: many of the things that are difficult in SQL are easy to do in traditional languages like JavaScript. If their customers could use both, they could address their own needs.

As Jeff Barg, Avenue’s Co-Founder and CTO, put it, “we wanted lots of extension points throughout our application for custom transforms and actions, and we wanted those extensions to be accessible to all kinds of folks, not just people with data science / SQL backgrounds.”

Avenue turned to Suborbital to make that a reality.

Suborbital Extension Engine Powers Custom Filter & Transform Functions

The Suborbital Extension Engine (SE2) gives companies like Avenue a safe and scalable way to execute user-provided code as a part of their application. Avenue’s Custom Filter and Transform Functions are powered by SE2.

For example, an Avenue customer might want to exclude rows from the results in a way that’s unergonomic or impossible to describe with SQL, or they might want to add additional fields to the results by querying an external API for each row. Now, they can.

According to Jeff, “it tends to be that our customers are running into limitations of MySQL, so they’ll build things to overcome those limitations in JavaScript, where it’s super easy.”

Screenshot of the Suborbital code editor embedded directly within Avenue's dashboard. It's under a section titled "Transform your Data" with the caption "Optionally, write a function that transforms or filters all of the rows produced by the query result."

Thanks to SE2, they don’t have to spend time thinking about how to creatively solve something in SQL when it’s easier to just do it in code.

Using Suborbital Reduced Avenue’s Customer Onboarding Costs

As a growing startup, Avenue is built by a small but mighty team. When Avenue approached Suborbital, they hadn’t yet hired a post-sales implementation lead. This meant that their engineers had to handle customer onboarding, taking away time from core product work.

Jeff says that Avenue was “stuck in a hard place as an early stage company, where we would either have to say no to customers, which is never fun, or build custom features for each one.” But now that they have SE2, they don’t have to build that custom logic directly into their product. Instead, they have well-defined extension points that the customers can use themselves.

This is the magic of extensibility: it frees technical end users to shape a product or platform to meet their unique needs, without ongoing engineering involvement or support burden. In Avenue’s experience, “people find it easy to use [...] it feels like we haven’t really had to handhold people through the process at all.”

Extensibility as a Game Changer for Sales and Development

Like any company, Avenue has found itself on sales calls where the prospective customer says “this sounds great, but I need Feature X before I can commit.” With SE2, Jeff and his team have the tools to solve those problems. “It’s not even a feature development thing: we can just use Suborbital if it’s a data transform use case, and over time we’re going to do that for more of our system. It’s a selling point for us to be able to say that we can support more features more quickly for our customers.”

As Jeff tells it, “Suborbital gives us peace of mind in sales conversations.”

And with SE2 running directly in Avenue’s Kubernetes cluster, they can offer their customers a seamless experience end-to-end. “Previously, if a customer wanted to invoke custom logic before triggering an alert, they would need to set up and maintain their own services for that. Now, they can write and deploy code directly within Avenue, all without touching their own infrastructure.”

What’s Next for Avenue and Suborbital?

By building extensible custom functions into their product, Avenue freed their engineers to focus more on their core business needs. And because SE2 handles the full lifecycle, from authoring to execution, Avenue didn’t have to build their own code editor or implement a security sandbox. But there’s still more to do.

Many of Avenue’s customers come from Operations or Data Science backgrounds, and their most common request is to write custom functions in Python. Fortunately, a solution is in sight! Because SE2 is built on WebAssembly, it can support any language that compiles to WASM, including Rust, Go, and JavaScript. This means that as soon as Python supports WebAssembly, Avenue can support Python.

Interested in giving your users the power of code? Visit suborbital.dev and try SE2 for free, or schedule a call if you want to learn more!