Scalability

Scalability is the ability to handle an increase in the workload without impacting the performance, or the ability to quickly expand the architecture.

It is the ability to expand the architecture to accommodate more users, more processes, more transactions, and additional systems and services as the business requirements change and the systems evolve to meet the future business demands. This permits existing systems to be extended without replacing them. This directly affects the architecture and the selection of software components and hardware.

The solution must allow the hardware and the deployed software services and components to be scaled horizontally as well as vertically. Horizontal scaling involves replicating the same functionality across additional nodes; vertical scaling involves the same functionality across bigger and more powerful nodes. Scalability definitions measure volumes of users and data which the system should support.

There are two key techniques for improving both vertical and horizontal scalability:

  • Vertical scaling is also known as scaling up and includes adding more resources such as memory, CPU, and hard disk to a system
  • Horizontal scaling is also known as scaling out and includes adding more nodes to a cluster for workload sharing

The following attributes are:

  • Throughput: Number of maximum transactions your system needs to handle for example, a thousand a day or a million
  • Storage: Amount of data you are going to need to store
  • Growth requirements: Data growth in the next 3-5 years
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset