Scaling is widely known with horizontal(scale-out) and vertical(scale-in) but this is just one dimension of scaling. Referring to the scale cube:
X-axis: This is usually referred as scale-out and scale-in which can be achieved with Public-Cloud providers and also Kubernetes. One can scale-out using the resource utilisation like CPU, I/O or custom-metrics upon to your architecture.
Y-axis: Functional decomposition can be achieved by decoupling your architecture into functions. Microservices is an example for functional decomposing.
Z-axis: With Data Partitioning, the functions are able to run with a subset of data. Although there maybe several ways to achieve that, Event Sourcing is one of the most scalable and widely accepted approach for that.