Few Thoughts about Scalability
Back to Articles
Software Telecom Whitepaper

Few Thoughts about Scalability

March 13, 2018 2 min
Aivis Olsteins

Aivis Olsteins

Nowadays it is difficult to find a piece of software which is not scalable by some measure. That is perhaps not only due to the fact that it was originally designed to be scalable in the first place, but rather in a larger context systems operate nowadays. As an example lets take a popular webserver, say Apache. It was of course designed with some scalability in mind, in terms of adding more worker processes when number of requests increases, and can do it in very intelligent and effective way. However, at some point the system resources would be exhausted and that can put the limits to the maximum number the server can handle. But if you look it at larger context - a webserver does not have to be a single standalone machine anymore: it can be a set of identical webservers, server by a load balancer, which distributes load between individual servers. In such way the capacity can increase far beyond limits of what single server can do. And this functionality was not necessary designed and buit in by Apache designers in the first place.

The definition of scalabilty says that there are two dimensions of scalability: horizontal, where adding more similar nodes increases system performance. That is the case described above in the example of webserver. The other dimension is vertical, where adding more resources (usually hardware) to the same node will add more capacity. But maybe in a wider system context there is another dimension, which is neither vertical nor horizontal: splitting different tasks to different nodes. if we take an example of webserver, that would be taking apart work of processing an individual request, and delegating these tasks to different nodes. That, of course, is not new concept: the proxy in front of webserver can do TLS negotiation and decoding, pass unencrypted traffic to webserver, therefore reducing the load. In the larger setups database are split on the separate servers, further reducing loads etc.

The scalability of this third mode (neither vertical nor horizontal) is a task of system architects. That mostly boils down to designing the system in a way that it can be separated in small, "atomic" tasks which can eventually run on their own, on a separate server, a.k.a. microservices. They are easier to manage, profile their performance, and debug. They can be initially set to operate to share single resource , i. e. single server and later, based on each process performance decided either to move to the separate hardware or not. And besides that, two of the other scalability dimensions apply as well.

To sum up, in the context of the system, not a single application, there are more than 2 dimensions of scalability. The system architects as well as developers should be aware of it.

 

Share this article

Aivis Olsteins

Aivis Olsteins

An experienced telecommunications professional with expertise in network architecture, cloud communications, and emerging technologies. Passionate about helping businesses leverage modern telecom solutions to drive growth and innovation.

Related Articles

The Commitment Economy: Why Voice AI Bookings Must Be Integrated, Not Just Conversational

The Commitment Economy: Why Voice AI Bookings Must Be Integrated, Not Just Conversational

AI can promise a booking, but what about the broken promise? Learn why systemic integration, Accuracy Rate, and System Sync define the real test of Voice AI reliability

Read Article
Beyond the Dial Tone: 3 Metrics That Define Outbound AI Success

Beyond the Dial Tone: 3 Metrics That Define Outbound AI Success

Outbound AI requires a new scorecard. Learn the 3 metrics (Connection Rate, Engagement Quality, and Conversion Impact) that measure pipeline movement, not just call volume

Read Article
The New AI Scorecard: How to Measure Campaign Effectiveness Beyond "Call Volume"

The New AI Scorecard: How to Measure Campaign Effectiveness Beyond "Call Volume"

Stop guessing with 'Call Volume'. Discover the 3-Layer Framework for measuring Voice AI success: Goal Completion Rate (GCR), Sentiment Drift, and Knowledge Retrieval. Turn phone calls into structured marketing data

Read Article
What Happens to Metrics When "Hold Time" Hits Zero?

What Happens to Metrics When "Hold Time" Hits Zero?

Does Voice AI just save money? No. Discover the "CSAT Paradox" and how zero hold time improves revenue, lead capture, and team morale simultaneously.

Read Article

SUBSCRIBE TO OUR NEWSLETTER

Stay up to date with the latest news and updates from our telecom experts