Drop-in API Monitoring for Quickly Debugging Customer Issues
I’m David Jaiyeola, an Engineering Manager at Shuttlers, a Nigerian startup focused on making commuting easier. Here at Shuttlers we are into making mobility cheap and affordable, therefore ease of payment is key to the whole operation.
In this blog post, I talk about how we were struggling to debug payment issues and how adopting Akita for API monitoring helped us to quickly address the problem.
The problem
With 40% of Nigerian cars registered in Lagos, commuting is not always accessible to all Nigerians. At Shuttlers, our goal is to make it easy for people to get where they need to go at 60% to 80% the cost of ride-hailing services. As we grew our user base, we started getting more complaints regarding our payment flows. Friction during payment goes against our mission, so it became my top priority to help identify the bottleneck. But it was not easy at first.
As a fast-growing, early-stage startup, we at Shuttlers have constraints that a larger company may not have. Given that we do not have a devops team, we could not afford to spend a lot of engineer time setting up a heavyweight monitoring or observability tool. Because we were moving fast, we had also built a lot of API endpoints that were not monitored. As a result, we could not simply spend the time instrumenting a small handful of endpoints that we knew could be the problem. We looked at Datadog and Logz.io, but they were too much work for what we needed.
Adopting Akita
We came across Akita from Google search while looking for alternatives to monitoring systems.
Integration of Akita into our Kubenetes environment was seamless and super easy compared to other solutions we have tried. We simply run Akita as a sidecar in our single-service Kubernetes, similar to the docs here.
Minutes after we installed Akita, without having to make dashboards, we got insights based on Akita analytics. Specifically, the per-endpoint latency error reporting helped us to find and resolve the issue in record time. We had a couple of endpoints failing silently which were asynchronous, so it was difficult to detect as it does not impact user direct calls. Most of them were affecting payments and hence we had many complaints from customers when payment flow became broken.
How we use Akita today
Today, we use Akita alongside Grafana Loki to monitor and analyze logs respectively. We check Akita regularly for all endpoints metrics and get per-endpoint alerts on errors from Akita. We’re excited for Akita to mature as a product so we can do more per-endpoint monitoring.
If the Akita beta sounds interesting to you, try it out here. And if what we’re doing at Shuttlers sounds interesting to you, check us out and follow us on Twitter!