Scalability

Why a system that feels quick for five people crawls for a hundred, what actually causes it, and why it costs far less to plan for at the start.

Also known as scaling growth capacity load handling

Definition

Scalability is what decides whether your system still feels fast when the number of people using it grows. Five staff members log in at nine in the morning and everything opens instantly. Add a hundred and the same screen takes twenty seconds. Nothing broke. The work simply got bigger than the machine underneath it.

The causes are usually dull and specific. The most common one is a report that reads the live data while everyone else is trying to use it. A manager opens last month's sales at 8 a.m., the database locks up while it counts, and every cashier in every branch waits. Another is images. A photo straight from a phone can be six megabytes; put forty of them on one page and the page is a quarter of a gigabyte before a single word appears. The third is the server itself, often one small shared box that was fine for the first year.

None of this is a mystery to solve after the fact. It is a set of choices made at the beginning. Copy the heavy reports onto a second copy of the data, so a manager's curiosity cannot slow down the counter. Resize photos on the way in, once, instead of on the way out, every time. Put a number on how many people will use the system in year three, not year one, and size the hosting to that.

Fixing it later costs far more than allowing for it at the start, and the reason is not the hosting bill. It is that the shape of the data has to change, and every screen that touched it has to be rewritten and tested again. Work that would have taken two days in the first month can take six weeks in the second year. Linkysoft asks for the year-three number before writing any code for a web application project, because that single answer changes the design.

Ask a supplier one question before you sign. How many people can this handle at once, and what does the next step up cost. A clear answer means someone has thought about it. Our own Hostrena hosting exists partly so the answer is a number, not a shrug, and Linkysoft would rather give you that number early.

Questions about Scalability

Why is my system fast for five people and slow for a hundred?
Because the work grew faster than the machine and the design underneath it. The usual culprits are heavy reports reading the live data, oversized images, and one small shared server.
Will a bigger server fix a slow system?
Sometimes, for a while. It does not help if a single report is locking the data for everyone, because the problem is the way the work is arranged, not the size of the machine.
How much more does it cost to fix this after launch?
Usually several times more. The shape of the data has to change, and every screen that used it must be rewritten and tested, so two days of early work can become six weeks later on.
What should I ask a supplier about growth before I sign?
Ask how many people the system handles at once, what the next step up costs, and how long it takes. A number means someone measured it. A vague answer means nobody has.

Still not sure how this applies to your project?

Tell us what you are building and we will answer in plain language.