Evoke is an Australian zero-emissions limousine company founded by Pia and Mat Peterson in 2015, with a fleet of Tesla vehicles and a focus on sustainable luxury executive transportation. In order to deliver best-in-class service and ensure customers receive a seamless experience, Evoke needed a dependable error and application monitoring tool - so they turned to Airbrake!
Evoke’s engineering team consists of 2 developers & 2 project managers who build and manage an app that enables executive assistants to schedule trips for their executives easily.
The backend of the application stack itself is a monolith built in Rails with Postgres as database and integrations with multiple APIs for getting trip data from providers. These integrations also happen to be a significant source of problems that are, unfortunately, largely out of the team’s control. Senior Software Engineer Tom Tuddenham says, “Failures happen all the time. Very often, it is due to awful data returned by upstream providers… The other day a service we integrated with started to return crappy data, and it broke our entire search functionality of the app- a real show stopper.”
At Evoke, production deployments occur daily and on-demand. There are very few issues with their software once it makes it into production because of their rigorous QA system. Evoke developers use a CI/CD system for orchestrating the process of building, staging, and testing software. Before software is shipped, their engineers run a manual QA process to find any issues not caught during the CI/CD system. Once they finish this two-step process, they push the actual deployment manually.
Tom has used Airbrake for the better part of a decade and knew Airbrake was necessary for the health of their application stack. As he puts it, it’s “critical to the mental health of people working with software and DevOps.” Now at Evoke, everyone uses Airbrake. “We are even using it for business process things, which we probably shouldn’t be, but it works,” says Tom.
Evoke is a big fan of Airbrake's integration features. Not only is Airbrake deeply integrated with their code, but they use the Slack integration to quickly raise awareness and triage errors almost immediately. They also ingrained the GitHub integration into their workflows, allowing them to create tickets for support and development. In fact, the GitHub integration is Tom’s favorite part of Airbrake because it helps drive actions on errors.
While talking to Tom, it becomes clear that they put a lot of effort into instrumenting their code. Part of this instrumentation comes from custom-made exception handlers that populate context around errors via payloads. That way, when a developer sees an error, they take immediate action.
Tom says that the value of Airbrake, and monitoring in general, is dependent on built in-processes, because it comes down to acting on the information. For Tom, “Airbrake is a rough measure of quality.” And it works! They are able to release software every day while keeping their code reliable. “Airbrake is a part of our continuous improvement process,” says Tom.
“When we have deployed to staging and are about to deploy to production, we look at Airbrake to get a rough idea of the quality of the build,” says Tom. “We also go through all the [Airbrake notifications and dashboards] every Friday as a team, and if there is a significant amount of [error notifications], we stop feature development to get ahead of issues.”
Tom Tuddenham is a seasoned engineer who builds software for Evoke. He has used Airbrake for 10 years, both at Evoke and before. During his career, he has done pretty much everything there is to do with software - including engineering, management, and monitoring. In his spare time, Tom loves lounging on his warm and sunny porch in Adelaide, Australia.
Fun fact: Each vehicle in Evoke’s fleet is named after a Spaceship or a superhero, depending on which city the car is based in!