Scalable Systems

Rafael A. George Duval
2 min readOct 22, 2022

--

Scalability is used as a magic incantation to state something is poorly designed or broken.

You often hear, “but that doesn’t scale,” as the magical word to end an argument in a discussion. It is generally the desired property if scalability is used, as in “our platform needs good scalability.”

What is it that we mean by scalability?

A service is said to be scalable if it results in improved performance when we increase the resources in a system. Increasing performance generally means serving more work units, but it can also handle larger ones, such as when datasets grow.

Scalability is so hard because it cannot be an afterthought. It requires applications and platforms to be designed with scaling in mind. Adding resources results in improving performance. If redundancy is introduced, the system performance is not affected.

The second problem is that growing a system through scale-out generally results in a system that has to come to terms with heterogeneity.

Heterogeneity means that some nodes can process faster or store more data than others in a system. Algorithms that rely on uniformity either break down under these conditions or underutilize the newer resources.

Achieving good scalability is possible, but only if we architect and engineer our systems to consider scalability as part of its non-functional requirements.

--

--

Rafael A. George Duval
Rafael A. George Duval

Written by Rafael A. George Duval

✍🏼 Building a Solo Digital Media Company 🧪 Snippets of Text [https://snippetsoftext.substack.com/subscribe]

No responses yet