What does server storage I/O scaling mean to you?
Scaling means different things to various people depending on the context or what it is referring to.
For example, scaling can me having or doing more of something, or less as well as referring to how more, or less of something is implemented.
Scaling occurs in a couple of different dimensions and ways:
- Application workload attributes - Performance, Availability, Capacity, Economics (PACE)
- Stability without compromise or increased complexity
- Dimension and direction - Scaling-up (vertical), scaling-out (horizontal), scaling-down
Scaling PACE - Performance Availability Capacity Economics
Often I hear people talk about scaling only in the context of space capacity. However there are aspects including performance, availability as well as scaling-up or scaling-out. Scaling from application workloads perspectives include four main group themes which are performance, availability, capacity and economics (as well as energy).
- Performance - Transactions, IOP's, bandwidth, response time, errors, quality of service
- Availability - Accessibility, durability, reliability, HA, BC, DR, Backup/Restore, BR, data protection, security
- Capacity - Space to store information or place for workload to run on a server, connectivity ports for networks
- Economics - Capital and operating expenses, buy, rent, lease, subscription
Scaling with Stability
The latter of the above items should be thought of more in terms of a by-product, result or goal for implementing scaling. Scaling should not result in a compromise of some other attribute such as increasing performance and loss of capacity or increased complexity. Scaling with stability also means that as you scale in some direction, or across some attribute (e.g. PACE), there should not be a corresponding increase in complexity of management, or loss of performance and availability. To use a popular buzz-term scaling with stability means performance, availability, capacity, economics should scale linear with their capabilities or perhaps cost less.
Scaling directions: Scaling-up, scaling-down, scaling-out
Some examples of scaling in different directions include:
- Scaling-up (vertical scaling with bigger or faster)
- Scaling-down (vertical scaling with less)
- Scaling-out (horizontal scaling with more of what being scaled)
- Scaling-up and out (combines vertical and horizontal)
Of course you can combine the above in various combinations such as the example of scaling up and out, as well as apply different names and nomenclature to see your needs or preferences. The following are a closer look at the above with some simple examples.
Example of scaling up (vertically)
Example of scaling-down (e.g. for smaller scenarios)
Example of scaling-out (horizontally)
Example of scaling-out and up(horizontally and vertical)
Summary and what this means
There are many aspects to scaling, as well as side-effects or impacts as a result of scaling.
Scaling can refer to different workload attributes as well as how to support those applications.
Regardless of what you view scaling as meaning, keep in mind the context of where and when it is used and that others might have another scale view of scale.
Ok, nuff said (for now)...
Cheers gs