Scaling

"At scale” means that a system is at the required size to handle a situation. "Scaling" refers to designing a system so that its performance increases to meet accelerating demand.

As an organization flourishes and business intensifies, the demand on software applications amplifies, which in turn leads to greater levels of data to process and handling additional concurrent users. If an application can’t cope with the growing traffic, it will likely become slow or even unresponsive, resulting in a negative user experience and potentially lost revenue.

In broad terms, there are two types of scaling:
  • Vertical
  • Horizontal

Vertical scaling entails expanding the current system, making it bigger. By way of analogy, let's say you start with a midsize sedan and would like to transport more people. You could purchase a bigger vehicle, e.g., a minivan. From there, you could upgrade to a full-size van that seats twelve. Then on to a bus. At some point, however, it will no longer be practical or even possible to enhance the size of the system. You will have reached a limit. That's where horizontal scaling comes in.

Instead of expanding the size of a single server or instance of an application, horizontal scaling involves distributing the workload across multiple instances of the server. Continuing the analogy above, you could transport more people by purchasing additional midsize sedans and hiring drivers. You can continue adding sedans and drivers indefinitely; you would just need a way of orchestrating their usage.

Knowing which type of scaling to implement, vertical or horizontal, requires both knowledge and experience. Let one of our top-notch experts help you determine which path to take, and take your business to the next level.

Get Started