At Rubrik, we hold a hackathon every year so that engineers have an opportunity to work on their creative ideas. Hackathon projects can include product features, productivity related improvements, and exploratory concepts. This year was our second hackathon, which was held at the Computer History Museum in Mountain View, CA. There was a tremendous amount of excitement built up to the day of the hackathon. As it neared, we were constantly reminded to think of ideas, form teams, and chalk up a plan of execution.

Our customers love Rubrik’s simplicity. Rubrik’s UI is minimalistic, user-friendly, and intuitive. The question I asked myself was how can I redefine how customers interact with their Rubrik cluster? The answer – a voice based conversational interface that would make our product even more easy to use.

Let’s begin by answering our customers’ most important question – “How are my SLAs doing?”

So how did I set out to do this? First, I figured out what building blocks to use. Amazon Lex enables one to quickly and easily build sophisticated, natural language, conversational bots. With Amazon Lex, I could define intents and train the bot to identify these intents. A simple example of intent is to know the status of a Rubrik cluster. Once an intent is identified, the Amazon Lambda function can be invoked to fulfil the request.

Rubrik incorporates API-driven architecture. Everything in its web UI uses backend REST APIs. This makes everything on Rubrik’s Web UI scriptable. Without Rubrik’s API-driven architecture, this hackathon project would not have worked!

Here is how it all fits together:

 

img

Let’s break this down. A user’s question is mapped to an intent by Amazon Lex, which then invokes an AWS Lambda function. Node.js code running in AWS Lambda invokes necessary REST endpoints on Rubrik Cluster running in AWS. It then transforms the output from the cluster to a format that Lex understands, and Lex conveys the result to the end user in plain English.

With end-to-end workflow achieved in a few hours, code for fulfilling many intents was hacked up overnight. Here is a screenshot of Amazon Lex development console showing a sample intent definition, as well as how the Test Bot is recognizing user’s audio input and responding with the results:

img

In the end, here is a sample of questions that a user could ask a Rubrik Cluster:

Rubrik, what is the state of my cluster?

Rubrik, how much space is left?

Rubrik, what is the rate of data growth in my cluster?

Rubrik, how much data has been archived?

And of course, Rubrik, how are my SLAs doing?

Now, it’s time to meet Roxie, Rubrik’s Intelligent Personal Assistant. Check out the video here.