How Shift Improved Observability while migrating from a Monolith to Microservices

Share

Share on Twitter.
Share on Facebook.
Share on LinkedIn.

About Shift

Shift is on a mission to make buying and selling used cars “fun, fair, and accessible to everyone.” Headquartered in San Francisco, the fast growing e-commerce company is transforming the used car industry with a technology-driven, hassle-free customer experience.

Everyone buys and sells products online. But buying and selling used cars remains largely a brick and mortar experience. Shift reshapes the future of automotive e-commerce by replacing traditional pain points with digital solutions.

As the business is growing rapidly, Shift’s technology team is scaling up and is transitioning from a legacy monolith to a highly efficient service-oriented architecture. This meant the team needed strong observability of both new and old systems to allow them to focus on delivering a great product.

Better observability was an important theme in our 2021 vision, with a goal to empower the team with more visibility into their work once it was in Production. Sentry played an important role in helping us build that culture.

Karan Gupta, CTO

Since implementing Sentry, Shift has seen the following benefits:

  • Made issue notifications fast and reliable
  • Gained oversight over all errors - a complete view
  • Increased Engineers’ confidence in shipping releases due to visibility
  • Efficiently prioritized issues to make efficient use of Engineers’ time

Before Sentry: Tracking Errors with Homegrown Tools

In years past, Shift built a bespoke solution for tracking errors with a set of off-the-shelf tools in GCP. Unfortunately, the system was complex, hard to maintain, and prone to delays in reporting. This resulted in engineers unable to reliably monitor releases or receive notifications when their code threw exceptions.

“People weren’t observing their releases; they weren’t even aware when their software shipped. It’s not a great place to be,” said Aaron Chu, Senior Director, TechOps.

shift trackerrors

This bespoke solution could not scale - the queuing system never recovered from large backlogs and Engineers were in constant pain sorting through and reading errors in their mailboxes.

shift homegrowntools

Because of the backlog, the Shift engineering team couldn’t tell how they were doing at any given time. The final straw came when they had to determine how they were doing that very instant.

As Aaron noted, “We had to delete data - flushing the queue - to get a reading on how many errors were happening at that particular moment in time.”

Correcting Shift’s Error Reporting Using Sentry

Shift’s requirements for a new application monitoring solution were:

  • Reliable and timely collection of error data
  • Flexible alerting to notify the right person
  • Ability to slice-and-dice data by various attributes over time to understand trends
  • A managed solution to free up developer cycles to focus on the car buying experience

It turned out Sentry was already part of the monitoring system. But it was configured to receive notifications from the bespoke queuing system, so Sentry was hobbled by poor implementation. The Infrastructure Team realized that Sentry had all the required functionality, so they decided to reimplement Sentry by-the-book. It changed everything.

Suddenly we had all of our alerts coming in, and we could understand what was going on in real-time. The Engineering Team could and did start responding to issues.

Aaron Chu, Senior Director, TechOps

shift sentryalerts

Shift could finally track errors and monitor their application efficiently.

Error Reporting Like Grownups

At Shift, Engineers set their own alerts because they respond to them. Sentry’s Slack integration provided Shift with instant notifications delivered directly in chat. The Sentry web interface then allows them to quickly go deep into the error, and see it in full context with other activities.

shift engineeralerts

Sentry’s interface made it easy for the team to dig into issues instead of trying to interpret code blocks and error codes via email. Now, our developers could resolve issues faster, using the context provided. We were suddenly much more sophisticated.

Aaron Chu, Senior Director, TechOps

shift digging

Engineers also implemented Sentry’s performance monitoring and mobile application monitoring features.

Being able to use Sentry to monitor the performance as well as our mobile applications is important. Using one solution to monitor the entire application stack gives our engineers the visibility they need to deliver a first-rate experience for our customers.

Karan Gupta, CTO

Results

Sentry has enabled Shift to monitor its applications efficiently as they transition from monolith to microservices. Error volumes were now manageable, and developers were happier and more efficient. They could detect and address issues immediately, instead of when a stakeholder notified us.

Shift no longer maintains custom tools and can focus on developing features that benefit their customers instead.

Engineers can jump right into Sentry and begin monitoring instantly. This is important to a growing, modular engineering team with industry-specific technical problems.

Aaron Chu, Senior Director, TechOps

Most importantly, engineers are observing their releases, resulting in better code quality, fewer undetected errors, and a better experience for Shift users. Doing better work, providing a better product, with less effort and less waste.

A better experience for your users. An easier life for your developers.

Try Sentry For FreeRequest a Demo
© 2022 • Sentry is a registered Trademark
of Functional Software, Inc.