跳轉到主要內容

Scalability and High Availability

  • 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.