On client-server and evolution

Part 1: emergence of the apex predator

stan klimoff
live stanklimoff com
2 min readMay 25, 2014

--

Known from early Paleolithic era, client-server was probably the first and to this day, most successful, way to deal with scaling information systems outside of a single computer. We find fossilized remains all across the world, from polar circles to the equator, deep in the trenches and high in space. Officially, this gigantic apex predator does not exist anymore, been long displaced by more sophisticated and/or nimble architectures. However, its legacy can be easily traced both in the genotype and phenotype of the modern software species. In some sense, it’s more alive today than when it was the only available option.

Much of the appeal of this pattern comes with its simplicity and ubiquity. The client-server mode of thinking is so appealing, it’s easy to fall into the trap of taking it to be a basic, irreducible unit of architecture. We’ve got databases — let’s add database servers and clients into the model. We’ve got message queues — let’s add message queue servers. The word computer is all but banished from the data centers, replaced by a mysterious server. Applications fell prey to application servers since BEA times — where does the madness end? Even data structures are in danger.

Well, what’s the peril? Recall that the servers are solitary, highly territorial predators. This behavior lends itself well to closed systems with very little coupling with the rest of the world, which is ironically seen as submissive to the server. Once the architecture requires multiple servers to collaborate, the system breaks down. Even when the servers are declared as specialized (database server, message queue server, application server, integration server), they still compete fiercely for the territory, making the job of the application architect much more dangerous than it needs to be.

While computer networks made the emergence of the client-server pretty much inevitable, its dominance is now challenged by smaller social species, compensating in agility and smartness where they lack in raw muscle power. Applications are finally making a comeback, determined not to be torn in pieces and digested by servers anymore.

--

--