Technical Glossary

Scalability

Escalabilidad

Definition: Scalability is the ability of a system to handle an increase in workload —users, data, transactions— without significantly degrading performance or requiring major architectural changes.

— Source: NERVICO, Software Development Consultancy

What is Scalability

A scalable system is one that can grow. More users, more data, more operations per second. What worked with 100 users still works with 10,000.

Scalability isn't a luxury for big companies. It's the difference between a system that can capitalise on success and one that collapses just when you need it most.

Types of Scalability

Vertical Scalability (Scale Up)

Adding more power to the existing server: more CPU, more RAM, more disk. It's the simplest way to scale, but has a physical ceiling and can be expensive.

  • Advantage: Simple, requires no code changes
  • Disadvantage: Maximum limit exists, single point of failure

Horizontal Scalability (Scale Out)

Adding more servers in parallel. The system distributes across multiple machines. The most powerful way to scale, but requires prepared architecture.

  • Advantage: No theoretical limit, redundancy included
  • Disadvantage: More complex, requires distributed design

Dimensions of Scalability

Load Scalability

Ability to handle more requests per second. Directly affects user experience and ability to serve traffic spikes.

Data Scalability

Ability to store and query growing volumes of information without queries becoming slow.

Geographic Scalability

Ability to serve users in different regions with acceptable latency. Implies distribution of data and services close to users.

When Scalability Matters

Not always. An internal system with 50 users doesn't need Netflix's architecture. Premature scalability is a form of over-engineering.

It matters when:

  • You expect significant user growth
  • The business depends on availability during spikes (Black Friday, campaigns)
  • Data grows predictably and continuously
  • The cost of not being able to scale is greater than the cost of preparing

Patterns for Scalability

  • Caching: Store frequent results to avoid recalculating them.
  • Load Balancing: Distribute traffic among multiple servers.
  • Database Sharding: Split data across multiple databases.
  • CDN: Serve static content from locations close to the user.
  • Async Processing: Process heavy tasks in the background.
  • Microservices: Scale components independently.

Common Mistakes

1. Premature Optimisation

Designing for millions of users when you have 100. Adds unnecessary complexity and delays launch.

2. Ignoring Scalability Completely

Not thinking about growth until the system collapses. Emergency refactoring is more expensive than planning ahead.

3. Only Scaling Compute

The database is usually the bottleneck, not the application servers. Scaling applications is easy; scaling data is hard.

Related Terms

Worried about your platform's growth?

We analyse your architecture and help you prepare for growth.