The Software World

Scaling Client-Server Architecture — An Exploration

Exploration of various scenarios to enable forming of a scalable Client-Server architecture

Elye - A One Eye Dev By His Grace
11 min readMay 9, 2023

--

Photo by Growtika on Unsplash

Wheater we develop a mobile or web application, their usage is relatively limited if they are not connected to a server to provide meaningful content or personalized attribution. Therefore it is very critical for one to have a scalable architecture for the client (Web and App) with its Server/s (source of data).

I’m trying to think of various scenarios and try to make sense of them. Sharing my thought process here, and welcome anyone pointing out any mis-consideration.

In this exploration, our focus is more on the architecture between the client and servers, than the architecture of the server side on how they are partitioned (e.g. into multi-tier, etc, as shared here).

A simple view, the concept of BFF

The most simplified view we usually draw a Client Server Relationship is below.

However, in a more realistic scenario, sometimes the client needs to stitch information from various sources (server), hence making it look more like below.

--

--