---
title: Scaling Methods
seo_title: Horizontal & Vertical Scaling
description: There are two main approaches to scaling that can be used exclusively or in tandem - vertical and horizontal scaling.
keywords: horizontal scaling, vertical scaling, scaling strategies, scaling docker, how to scale docker
---

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.

<div class='interactive-svg'>
  <%= partial "svgs/scaling-vertical" %>
</div>

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.

<div class='interactive-svg'>
  <%= partial "svgs/scaling-horizontal" %>
</div>

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.

<!-- In data components, horizontal scaling is achieved by [making the service redundant](#). -->
