DEV Community

Cover image for The Day an Interview Question Made Me Rethink Microservices
Karthik Korrayi
Karthik Korrayi

Posted on

The Day an Interview Question Made Me Rethink Microservices

Load Balancer vs API Gateway — A Simple Story

A few weeks ago, I was in an interview.

Everything was going smoothly — system design, microservices, cloud — all good.

Then the interviewer asked:

“Can you explain the difference between a Load Balancer and an API Gateway?”

Simple question, right?

But I paused.

I knew both terms. I had used them in architectures. But explaining the clear difference suddenly felt harder than expected.

I gave a basic answer… but later that day I thought:

"Wait… I should really understand this properly."

So I went back and simplified it the way I like to learn things — using a real-life analogy.

Let’s imagine something simple.


Imagine a Busy Food Court 🍔

Suppose you run a food ordering app.

Your system has multiple services:

  • Login Service
  • Payment Service
  • Notification Service
  • Order Service

And thousands of users are sending requests at the same time.

Now imagine this like a busy food court.

Customers keep entering and placing orders.

Your system needs two important things:

  1. Manage the traffic
  2. Send the request to the correct counter

And this is where Load Balancer and API Gateway come into the picture.


Load Balancer — The Traffic Police 🚦

Imagine a traffic police officer standing at a busy junction.

Cars are coming from all directions.

The officer's job is simple:

Make sure traffic flows smoothly.

Similarly, a Load Balancer sits in front of your servers and distributes incoming requests across multiple instances.

Example:

You have 3 login servers

User Requests
      ↓
   Load Balancer
   ↙   ↓   ↘
Login-1 Login-2 Login-3
Enter fullscreen mode Exit fullscreen mode

Instead of all traffic hitting one server, the load balancer spreads it across all servers.

This helps with:

  • Preventing server overload
  • Improving performance
  • Increasing availability
  • Scaling applications

In simple terms:

Load Balancer = Traffic Controller

Its main job is distributing traffic efficiently.


API Gateway — The Security Guard + Receptionist 🛂

Now imagine entering a big office building.

Before you go inside, there’s a security desk.

They will:

  • Verify who you are
  • Check if you are allowed inside
  • Direct you to the correct department

That’s exactly what an API Gateway does.

Instead of users calling microservices directly, they first go through the API Gateway.

Example request flow:

User Request
     ↓
API Gateway
     ↓
Login Service / Payment Service / Notification Service
Enter fullscreen mode Exit fullscreen mode

The API Gateway can:

  • Authenticate users
  • Apply rate limiting
  • Handle authorization
  • Route requests to the correct service
  • Aggregate responses
  • Hide internal microservices

In simple terms:

API Gateway = Security + Routing Layer


The Simple Difference

Feature Load Balancer API Gateway
Main Job Distribute traffic Manage API requests
Level Infrastructure / Network Application layer
Security No authentication Can handle authentication
Routing Server level Service/API level
Example Send request to server-1,2,3 Send login request → login service

Even though both route requests, their responsibilities are different.


In Real Systems, They Work Together

Most modern architectures actually use both.

Example flow:

User
  ↓
Load Balancer
  ↓
API Gateway
  ↓
Microservices
Enter fullscreen mode Exit fullscreen mode

Why?

Because:

  • Load Balancer handles heavy traffic
  • API Gateway handles API logic

Together they make the system scalable, secure, and manageable.


The Interview Lesson

That interview question taught me something interesting.

Sometimes we know concepts…

But we don't always explain them clearly.

And clarity usually comes from simplifying things.

For me:

  • Load Balancer = Traffic Controller
  • API Gateway = Security + Smart Router

And once you see it that way, the difference becomes obvious.


If you're learning Microservices or System Design, understanding this difference is extremely useful.

And if an interviewer asks you this question someday…

You probably won’t pause like I did. 😄

Top comments (0)