Recently, I was asked this question: What is the difference between scale up and scale out when it comes to storage? Sometimes, it’s easy to forget that terms that many people take for granted are new to someone just entering the field, so I’m going to provide a pictorial representation of both scale out and scale up storage in this post.
The figure below represents two different storage arrays. The one on the left is an array that supports scale up expansion while the one of the right is a scale out unit.
The array on the left has just a single “head” unit that holds processor and network connectivity. As more capacity is needed, an administrator simply adds more disks to this configuration, but these expansion shelves do not include additional processing power or network connections. The array on the right, on the other hand, supports adding both additional processor and additional network connectivity each time the administrator decides to add additional capacity.
In a scale UP environment, administrators can scale just capacity. The downside here is that it becomes more likely that the existing processing and network connectivity of the head end could be overwhelmed as more and more is done with the array. In the scale out environment, capacity, compute and network connectivity are scaled equally, so performance should remain linear even as more units are added.
In many cases, the scale up environment is suitable for SMB and low end mid market and often carries a lower total price tag. Scale out, on the other hand, is a bit more expensive and carries with it some additional complexity as the solution needs to be able to continue to scale as a single whole, even as additional devices with their own compute stacks are added.