Contents

Scaling Methods

There are two main approaches to scaling that can be used exclusively or in tandem.

Vertical Scaling

Summary: Scaling Server Resources Scaling vertically consists of adding more RAM, CPU, and Disk to your node(s), providing more power or capacity to accomplish their specific tasks.

Scaling vertically is extremely effective for services with heavy processing loads like databases, caches, and sometimes even webs and workers depending on what they're doing.

Horizontal Scaling

Summary: Scaling for Traffic and/or Redundancy Horizontal scaling is accomplished by increasing the number of nodes inside a component cluster.

Horizontal scaling does a few things:

  1. Increases a code components' ability to handle concurrent requests.
  2. Increases a code components' traffic throughput.
  3. Adds redundancy and fail-over to both code and data components.

Scaling horizontally is extremely effective for web and worker components. Adding nodes spreads the load across multiple processes instead of dumping it on one.

Reach out to help@nanobox.io and we'll try to help.