Does scaling out bring TCO advantages over scaling up? The Reg offers advice
You get what you pay for
Analysis I usually tend to look at technology from a technical point of view, but when in the field talking to end users it often turns out they bought it for the same reason it was pitched ... only to realise later that actually they like it for totally different reasons.
What I’m about to say was backed up for me a few days ago while speaking to Andy Warfield (CTO and co-founder of Coho Data) about a couple of statements he had made during the last Storage Field Day, here.
Scale-up vs scale-out
The difference between the two is very simple. Scale-up (or vertical scaling) happens when you add more resources to the same box. On the opposite side, scale-out (or horizontal scaling) is an architecture where you add more boxes to obtain the same result.
The first one is much simpler but limited while the latter is now the basis of larger infrastructure designs. In fact, the advantages of scale-out are seen at large scale.
If the system is well designed, the more you add to the cluster the more you obtain in terms of performance and capacity, in a linear and predictable manner.
On the other hand, if you don’t plan on growing consistently in the near future, starting small with scale-out is usually more expensive. But, it turns out that in the real world this is both true and false at the same time.
Modern “scale-well” infrastructures
For several reasons, ranging from ease of procurement to organisational issues or just project isolation, when it comes to building new infrastructures, most enterprises have been adopting a POD-like approach for quite a while now, with standard building blocks (usually the size of a rack) made up of a certain number of servers, storage arrays and networking switches.
This also helps to facilitate operations and defines fault domains very clearly. This is much more an organisational aspect than a technological one, but enterprises seem to like the idea and you can find these PODs becoming more and more common in their data centres.
They can be pre-packaged by vendors or built in a DIY fashion. In either case, they all look the same, and if you analyse the content of the POD, it resembles a small autonomous piece of infrastructure.
So why spend more money and add complexity to a small infrastructure by using scale-out components? At a first glance it doesn’t make any sense. But ...
Where are the benefits of scale-out in a POD?
If you go deeper into analysing what large enterprise IT usually deals with, the reality is quite different. Scale-out is not just about scalability; most of its benefits are also applicable to smaller infrastructures or, better, to small parts of a large infrastructure. What are the biggest problems for a large IT organisation when it comes to day-to-day operations?
Mileage could vary but, usually, procurement, provisioning and migrations are always in the Top 5 (and please, correct me if I’m wrong).
Let me make a quick example: you need 100TB of storage in three years, say a hybrid array made of disks and flash. Today, you have the chance to buy a traditional 100TB scale-up system for $1/GB or a similar configured scale-out system for $2/GB.
Even though these numbers are just hypothetical, for a small system like this, they are credible because the scale-out system needs much more resources (in terms of nodes and connectivity) to build a minimal cluster with comparable availability and resiliency features.
Now we'll analyse what the difference is between scale-up and scale-out.
With traditional scale-up storage, enterprises usually tend to buy more than is actually needed at the beginning of a system’s life. It is justified by long-term forecasts and capacity planning ... which often proves wrong (and we will come to this later).
In more general terms here, the big problem is that we are buying today what we suppose will be used in two or more years. Look at flash memory for example; buying flash memory today that you’ll be using in two years time, even with considerable discounts, means you will still be paying more than anything you can buy later.
There is nothing new here, as with scale-out you can buy exactly what you need today and, even though it is relatively more expensive than an equivalent scale-up system in terms of IOPS or capacity, in time you’ll be able to buy additional resources at better prices.
No doubt that if you buy 100TB upfront today, economics works for a simpler system. It just costs less. But the problem is that you are buying something that you’ll probably be using in two or more years.
On the other hand, if you buy a smaller scale-out system today, you’ll pay a higher $/GB, but chances are that you’ll pay much lower prices for the expansion in the future, and eventually the scale-out systems will end up costing you less.
Scale-out systems, by their nature, are easy to expand and modern design products allow us to build systems with nodes of different size and performance. And it is likely that the new nodes added over time will be more efficient and powerful than older ones.