See what makes Kong the fastest, most-adopted API gateway
Check out the latest Kong feature releases and updates
Single platform for SaaS end-to-end connectivity
Enterprise service mesh based on Kuma and Envoy
Collaborative API design platform
How to Scale High-Performance APIs and Microservices
Call for speakers & sponsors, Kong API Summit 2023!
6 MIN READ
In this Kongcast episode, Danielle Dias, Software Engineer at Just Eat Takeaway.com, talks about how her team creates a seamless customer experience by using Kong Gateway for rate limiting, monitoring, alerting, and more.
Check out the transcript and video from our conversation below, and be sure to subscribe to get email alerts for the latest new episodes.
Kaitlyn Barnard: Welcome to Kongcast! I’m Kaitlyn Barnard. In this series, we chat with software developers and technology leaders to tackle your biggest connectivity challenges. Today, I’m super excited to welcome Danielle Dias, Software Engineer at Just Eat Takeaway.com. Danielle is here with us today to talk about how Just Eat Takeaway.com is leveraging Kong to solve common connectivity challenges. Danielle, I would love to start off with how you’ve ended up in this technical space and how you got to where you are today.
Danielle Dias: Hi everyone. Really excited to be on Kongcast. I’m Danielle Dias. I started off my career in software testing. I was doing API integration testing and was really interested in getting involved in the development lifecycle. I decided to change career paths and become an engineer. I’ve been with Just Eat Takeaway.com for over a year now and I focus on backend engineering in .NET.
Kaitlyn Barnard: I’m super excited today because we’re going to be talking about more of the customer and human impacts of some of these connectivity challenges. Let’s start at the beginning here to set the stage for the audience. What exactly is Just Eat Takeaway.com?
Danielle Dias: We’re a leading global online food delivery company. You may also know us as GrubHub, Menulog or Lieferando, to name a few. We’ve got a large customer base with 94 million customers and we have 680,000 connected partners. We have famous restaurant chains such as McDonald’s, Subway and Five Guys as well as restaurants. We also have moved into the grocery space. We have grocers such as Asda and Co+op. From Canada to Australia, we operate across 20 countries and we have 100 different cuisine types from famous brands like McDonald’s to the small, independent local restaurants. So the question for you, Kaitlyn, what’s your favorite takeaway?
Kaitlyn Barnard: Funny enough, we are new parents so we have spent a lot of time ordering food over the last year or so. I’m trying to think of what our top ordered is. But I have to say, either some of our local sushi joints here or I’m a big fan of Thai food. That’s probably what I think’s top in our order history.
Kaitlyn Barnard: Today, we’re going to be talking about API gateways and how important API management is to maintaining that seamless customer experience. I would love to hear a little bit about how Just Eat Takeaway.com thinks about those common connectivity challenges that come with this.
Danielle Dias: Yeah, so as I mentioned previously, we have a huge customer base, so technical considerations are really high priority so we can deliver a seamless experience for our customers, restaurant partners, grocers and even down to our couriers to make using all aspects of Just Eat Takeaway.com a seamless experience. Everything from searching for your favorite dish, so your sushi, to tracking your food or grocery grocery deliveries to your door. We’ll dive a little bit deeper into how we achieve that through rate limiting, load testing, monitoring and alerting.
Kaitlyn Barnard: One of the pieces I alluded to in the beginning that’s going to come into play, and we’ll dive in more here, is an API gateway. Can you talk about or define exactly what is an API gateway?
Danielle Dias: An API gateway allows you to manage, configure and route requests to your APIs. It sits in between your client, whether that’s Android, iOS Web, and then it sits in between your restful APIs and it can be extended through plugins such as Rate Limiting and Prometheus, which we’ll talk about in a moment. It also allows you to secure and govern your APIs as well as improve visibility across your entire company.
Kaitlyn Barnard: I imagine you’re dealing with a ton of APIs, a ton of requests here. How do APIs impact the customer experience? And then, I’d love to expand on that too. How does that then impact your development process and the things you’re having to think about day to day?
Danielle Dias: Here at Just Eat Takeaway.com, we handle around 300 million requests per day. We have a team of 900 engineers overseeing more than 700 microservices. It’s a pretty big scale operation so we definitely need Kong API Gateway to standardize that approach by using rate limiting, monitoring and alerting. For example, we use rate limiting on all our routes. So if we’re adding a new microservice or an endpoint, it needs to go through an onboarding checklist.
Danielle Dias: What is rate limiting? Rate limiting is a strategy to restrict network traffic in a certain timeframe, or there’s other strategies where you can use sliding windows instead. A bit more on the onboarding checklist – you have to go through determining what the rate limit is for your route. The way that we achieve this is through load testing. We’ll send thousands of requests to that specific route and over time we’ll monitor it on Grafana and through our logs until it gets to breaking point and it can’t handle it anymore. In that case, we’ll see it returning. Hey, I’m getting too many requests, so we’ll set our rate limiting below that. It is not black and white like determining the rate limiting, there’s other factors that you need to consider as well, such as scaling how many instances you have in play at the time. It is quite an interesting problem to look at and come up with the correct rate limit for. In addition to that, we can add custom load test plans for any endpoint and they can be run daily, weekly. We also have constant load running through our test systems to ensure all our business processes are running as expected. That’s really helpful to have.
Kaitlyn Barnard: Can you dive in a little bit deeper to what specific elements of an API gateway are important to maintaining that customer experience?
Danielle Dias: I would say number one is security through authentication and rate limiting to protect our infrastructure, as well as timely monitoring and alerting. It’s good to have alerts so if anything goes wrong, we can respond quickly and get online to check what’s going on. I think another important thing is having a standardized approach across all teams at Just Eat Takeaway.com. For example, when you’re onboarding a new feature, you know what’s expected when and all parts of the system will be the same quality and have the same expectations.
Kaitlyn Barnard: We’ve talked about API gateways, we’ve talked about customer experience, I would love to hear a little bit more about why Kong specifically. Why that was the decision made for the API gateway?
Danielle Dias: One of the main benefits with Kong, it allows you to run anywhere – in the cloud or using Kubernetes. The documentation is really useful and in depth. There’s a lot of learning resources on the Kong website, lots of training courses to check out on there. I would say another one of the big benefits is the community. You’ve got the Kong Nation forum and Slack channels. There’s a lot of frequent tech talks on topics that are really interesting, such as Chaos Engineering. I love that Kong really cares about its users. There’s frequent user calls around what new features are coming up and anything you want to see on the product roadmap. The final thing I would say is the Kong Champions program. It’s really great to be able to bounce ideas off people from different companies and see new possibilities.
Kaitlyn Barnard: That’s great to hear. We spend a lot of time and I’m glad to see that that’s recognized within the user community as well. I’ll make sure to drop some of these links in the description of this video. Last question. I promise, before we see some of this in action. How is Just Eat Takeaway.com using Kong?
Danielle Dias: Problems such as rate limiting are really easy to achieve using Kong API Gateway so we can set rate limits for our components, whether that’s at the service, IP, credential, consumer level to protect our infrastructure. Not only that, we can also use rate limiting for business rules. Like I was saying before, it’s a standardized approach for onboarding new routes, new microservices. When we deploy to production, we know we can handle the peak traffic and beyond the peak traffic. For monitoring and alerting, we use the Prometheus plugin. Prometheus is a free software application used for event monitoring and alerting. So you can understand the scale of logs we get a day, we have 400 billion logs and 2 billion data points a day and nearly 120TB of usable data so we need to really make use of all of this data and present it in a meaningful template. In terms of alerts that come from Kong API Gateway, we have alerts that fire if a route is being rate limited over a certain period of time, so that will report back that we’re getting too many requests. We also have alerts enabled if the service is unreachable through Smart Gateway. As you can imagine, the urgency on those is quite high. For monitoring, we use Grafana dashboards so all the requests that come through Smart Gateway will have a graph that displays the total number of each status code and will also display the response times for the service. We can see over a day, are we meeting our SLAs? Are there any spikes? And what can we do better to achieve those goals?
I hope you’ll join us again for our next Kongcast episode! Until then, be sure to subscribe to Kongcast to get episodes sent to your inbox (and a chance to win cool swag)!
Share Post
Learn how to make your API strategy a competitive advantage.