Reading this story at AnandTech reminded me about why I’m not such a fan of SAN.
First off, I think it has uses. There are definite use cases for highly available, network available, high performance SAN installations, I just think there aren’t as many as SAN vendors would like you to think.
It’s an enticing option, the nirvana of expandable storage available across the network at lightning speed, with high reliability, a range of enterprise level features, things like de-duplication, virtualised storage, highly dynamic provisioning, simplified backup etc.
But in general, it’s just:
- Far too expensive to be worth it.
- Underperforming in real workloads.
- Expensive/hard to put in, expensive/hard to maintain, and forces you on an upgrade cycle that seems to be unfair to the consumer.
My general rule, from time in the industry is that its expensive to scale out in hardware, and cheap in software. SAN doesn’t obey this rule, and for an industry obsessed with horizontal scalability, SAN is a distinctly hierarchical model – it’s just that it lets you believe you’re scaling horizontally, when you’re not.
As they explain in the article, far better than I can, SAN has underperformed for a massively long time, and requires a huge expense, largely glossed over by the vendors, for maintenance, specialised skills to manage, specialised networks, specialised, custom (normally hard to get) hardware, and doesn’t necessarily provide significantly improved provisioning times over traditional storage. It’s also, for me, a massive single-point-of-failure, from experience. We had firmware issues with our SAN environment at one stage that took down whole sections of the data centre, and wiped out our backup arrangements because they were local, and on the same, misbehaving SAN. Admittedly, there were a range of other issues that caused that scenario – but we were sold equipment expecting it to do, and behave, much better than it actually ended up.
Now Virtualisation is a special case in the SAN conundrum, and it’s no accident the biggest SAN vendor had the cash, and the reason, to snatch up the biggest virtualisation vendor. SAN provides a range of benefits for virtualisation, allowing increased flexibility, but how many people really use it? Vmotion is probably one of the biggest benefits, but underused in practice.
The real problem, as I see it, a lack of a cheap method of abstracting storage in software, while taking advantage of the new range of SSD’s available, to have the advantages that companies like facebook have in abstracting their storage, without paying the SAN price.
We need something like the Hadoop/CouchDB revolution in Big Data to happen in storage virtualisation.
The good news is companies like Fusion-IO working to bridge this gap. I’m hoping after they forge their way, enterprising minds will work out how to do a passable attempt within open source, and we’ll finally have a storage layer that works. Until then, we need to keep waiting, but hoepfully, if we have enough control of the application itself, individual companies can build their apps to use cheap IOPS on local PCIe SSD’s, while implementing caching to external storage pools.