This NFR defines the ways in which the system is expected to scale-up by increasing capacity, hardware, or adding machines based on business objectives.
Capacity is delivering enough functionality required for the end users. A request for a web service to provide 1,000 requests per second when the server is only capable of 100 requests a second, may not succeed. While this sounds like an availability issue, it occurs because the server is unable to handle the requisite capacity.
A single node may not be able to provide enough capacity, and one needs to deploy multiple nodes with a similar configuration to meet organizational capacity requirements. Capacity to identify a failing node and restart it on another machine or VM is a NFR.
The following attributes are:
- Throughput is the number of peak transactions the system needs to handle
- Storage is the volume of data the system can persist at runtime to disk and relates to the memory/disk
- Year-on-year growth requirements (users, processing, and storage)
- The e-channel growth projections
- Different types of things (for example, activities or transactions supported, and so on)
- For each type of transaction, volumes on an hourly, daily, weekly, monthly basis, and so on
- During the specific time of the day (for example, at lunch), week, month, or year are volumes significantly higher
- Transaction volume growth expected and additional volumes you will be able to handle