SONIC System Architecture

Published: 07/04/2020 / Updated: 07/04/2020

The SONIC Digital Team was started as an effort to keep up with and surpass our competitors. SONIC's goal it to become the "Most Personalized QSR" in the industry. To achieve this, we started out by coming up with strategies & concepts for apps, websites, and POPs. We did this for quite awhile, but there was a major blocker we could not overcome: CAPI, SONIC's monolithic Customer API.



CAPI has been around for several years -- guessing over 10 years as I write this. It was built by a vendor for a very specific purpose but over time it became it hub for everything -- even if it didn't make sense. **CAPI contains all of the rules and directives for user profiles, payment, email, locations and rewards.*That is not the full list, but you get the idea. The API was/is a beast. One of the more disconcerting issues was that if we had to update any API calls --it would lock tables and log all of our users out*. Definitely not the experience we want our users to have.

We struggled conceiving customer experiences *we could or would want to build on such a fragile infrastructure. Over time this became a point of contention amongst teams. The Product Team took a step back and decided they wanted to take a new approach the to problem and introduced the idea of microservices to our Director of IT. The premise was simple, but it was a departure from what SONIC was used to, we'd create a series of very specific services that we could use as a set or independently (case by case basis). This would allow us to keep users logged in if we had to update an API call. After quite a few discussions between execs and tech, it was agreed that we'd move to the microservice model.

This was a monumental moment in SONIC's history. We were going to shift everything and it required a lot of time, money and work from 100people over a 2 year period. At the time of this writing, we are about 70% of the way through the project. The goal of this case study is to point out that not all decisions have a direct and tangible effect on users, some take quite a bit of time to produce dividends for the business and its customers. This decision has taken SONIC from being just a QSR concept into a player in the digital e-commerce space.



Role & Responsibilities

  • SME for Web/Email/MySonic/CAPI

  • API recommendations

Tech Stack

  • RabbitMQ

  • GoCD

  • Java

  • AWS

  • Pivotal Cloud Foundry


The result of this agreement has had far reaching effects, some of which are philosophical shifts:

  • SONIC has a stable API platform (Digital Innovation Platform)

  • SONIC introduced CD/CI with GoCD with real time monitoring and 1 button push releases/rollbacks

  • Philosophical changes: CI/CD and rolling forward

  • API Flexibility and Separation of Concerns concepts can be leveraged for specific purposes: MySONIC Connect

  • Users have a better experience: average Mobile Pay times went from 9 seconds to 2-3