What type of storage does your application really need?
Server? Check. Network? Check. Storage? Mmm
When you are doing the spec for some new server hardware, what do you consider?
Well, first you decide whether you will go for a physical server infrastructure or a virtual one. For the former you buy several modest-sized servers, and for the latter you look at a small number of socking great machines or perhaps a blade-based offering.
Either way you calculate the CPU and RAM requirements and spec the kit accordingly. You pick your virtualisation platform if you have gone for the virtual option (and let's face it, that will be VMware or Hyper-V), then figure out the operating systems you will use.
If you already have sufficient LAN capacity then you will just plug it into the existing switch platform. If not you probably have a favourite design that lets you procure some switches, trunk them together with EtherChannel and dual-connect the servers.
These days 10gig Ethernet is pretty much a no-brainer as it is very cheap to implement, but at the very least you will use 1Gbps connections. And, of course, you will work out how much storage you need.
Okay, I may have exaggerated the “storage as an afterthought” point a bit but I am not far out. In many companies' eyes, storage is something that you buy by quantity, and perhaps by brand, not by type.
With today's storage options, though, there is such a choice of media and connectivity that you can't just say “I want six terabytes of disk” without answering a dozen questions about what type, colour and flavour you want.
Different types of storage lend themselves to different types of applications, so it is worth knowing what they are.
The art of spin
Option one for disk storage is spinning disks that store your data in the magnetic surface of their “platters”: my Reg colleagues like to term this “rotating rust”, though in reality the medium is likely to be a cobalt alloy rather than good old iron oxide.
Spinning disks are well understood and cheap. They have been bread and butter for years in the corporate infrastructure.
Option two is solid state disk (SSD), or flash. As the name suggests it has no moving parts, which means SSD is fast because you don't have to wait for (a) the right bit of the disk to spin to the right point on its cycle, or (b) the read-write head to move to the right position.
It is also more reliable because there is nothing mechanical in there that can seize up or fall off. There are various different technologies on the go in SSD R&D but we won't go into that – many features have been written on SSD technology families and this is not one of them. For our purposes we can disregard the funky physics happening inside the box.
Organisations have a range of different storage requirements.
Sustained high speed for high-performance number-crunching applications that work constantly on large volumes of data. They rely on data being delivered quickly so they can keep up with processing, and also on high-speed write capability so they can dump the results somewhere.
Bursty high speed for applications that have a sensible need for disk I/O but have bursts of hard work that need some oomph in the disk subsystem. Databases are a prime example, along with billing or analytics platforms where idle periods are interspersed with hard-working periods.
Normal speed for run-of-the-mill stuff such as users accessing files, email and the like. You don't need stupid-fast disk for general file and email access, but it still needs to be performant.
After all, your users will be unhappy if you give them some crappy low-speed nonsense because from time to time they will want to throw multi-gigabyte files and folders around the corporate file shares and like their file copies to be done in less than a fortnight.
Offline speed for the stuff that one doesn't have to achieve in real time because users are not waiting for it. Backups are a classic example (disk-to-disk backup is all the rage these days, if you hadn't noticed). They have to happen within a given window so there has to be a vaguely sensible average data rate, but it can vary over time because nobody is watching like a hawk and waiting for it to finish.