8 Scalability
8 Scalability
8 Scalability
shared-nothing architecture
Non-functional requirements - Scalability
clients servers
service discovery
load balancing
request routing
maintenance
Non-functional requirements - Scalability
I still think that every system must run on multiple It is possible to achieve high availability in a single machine
machines these days. It allows to have redundant (almost ☺) system. Relational databases and load
machines in the system. Thus, increases availability. balancers often use active/passive setup for this.
software
software engineer
engineer
Non-functional requirements - Scalability
elasticity scalability
the ability of a system to acquire resources as it needs them,
and release resources when it no longer needs them
Non-functional requirements - Scalability
request
count
06 12 18 24 hour
machine
count
elasticity
2N
we grow or shrink infrastructure resources
over short time intervals to adapt to workload
N
changes
06 12 18 24 hour
Non-functional requirements - Scalability
request
count
machine
count
scalability
3N
we provision resources in incremental
manner over longer time intervals
N