• A scalable distributed system continues to perform effectively as its users and/or resources grow in different directions.
  • Usually, a system grows in terms of more data, more processes, more machines, more users.
  • Scalability can be measured in terms of size, geography & administrative effort.
  • Size scalability is the one most developers think about. It can be in terms of resources and/or users. Adding nodes should not degrade the performance or slow the system down irrespective of resources available.
  • Geographical scalability implies that adding nodes is done in a way that takes cognizance of the geographical distance between existing and new nodes. Adding new nodes shouldn’t slow down the amount of time it takes to communicate among the nodes.
  • Administrative scalability requires that adding new nodes does not greatly increase overheads on human engineering and management resources or on security concerns.

Full post here, 9 mins read