Adding capacity when you genuinely need it.
BEFORE SCALING
Confirm the constraint. Adding CPU when the problem is memory, or memory when the problem is a missing index, wastes money and fixes nothing.
Check resource graphs over a period rather than reacting to one bad day.
VERTICAL SCALING
Increasing the resources of the existing server. Usually involves a brief reboot.
Simplest, and sufficient for most growth.
HORIZONTAL SCALING
Adding servers and distributing load: separate database server, multiple web servers behind a load balancer, dedicated caching.
Considerably more complex. Worth it at genuine scale, premature before that.
WHAT TO SCALE FIRST
Memory, usually. It is the most common constraint on web workloads.
Then storage performance, if iowait is high.
Then CPU.
CHEAPER ALTERNATIVES
Caching, database tuning, image optimisation and a CDN frequently deliver more than a larger server, at no ongoing cost.
Do those first. A server upgrade that masks an unindexed query buys you months, not a solution.