🔗scale out (horizontal scaling)

Refers to adding more servers with less processors and RAM. This is usually cheaper overall and can literally scale infinitely

Pros:

  • Much cheaper than scaling vertically
  • Easier to run fault-tolerance
  • Easy to upgrade

Cons:

  • Bigger footprint in the Data Center
  • Higher utility cost (Electricity and cooling)
  • Possible need for more networking equipment (switches/routers)

🔗scale in (vertical scaling)

Refers to adding more processors and RAM, buying a more expensive and robust server.

Pros:

  • Less power consumption than running multiple servers
  • Generally less challenging to implement
  • Uses less network hardware than scaling horizontally

Cons:

  • Price
  • Greater risk of hardware failure causing bigger outages
  • Generally severe vendor lock-in and limited upgradeability in the future