Scalability means that an application / system can handle greater loads by adapting.
There are two kinds of scalability:
Vertical Scalability
Horizontal Scalability (= elasticity)
Scalability is linked but different to High Availability
Let's deep dive into the distinction, using a call center as an example.
High Availability
High Availability usually goes hand in hand with horizontal scaling
High availability means running your application / system in at least 2 Availability Zones
The goal of high availability is to survive a data center loss (disaster)
Scalability vs. Elasticity vs Agility
Scalability: ability to accommodate a larger load by making the hardware stronger (scale up), or by adding nodes (scale out)
Elasticity: once a system is scalable, elasticity means that there will be some "auto-scaling" so that the system can scale based on the load. This is "cloud-friendly": pay-per-use, match demand, optimize costs
Agility: (not related to scalability - distractor) new IT resources are only a click away, which means that you reduce the time to make those resources available to your developers from weeks to just minutes.