Because I always love a good blog-battle, especially in the storage space, I was reading the storage blogs again, this time focusing on the Sun Flash camp vs the EMC Flash camp. And since I am easily distracted by shiny things (it's amazing I finish anything I write here) I read some other posts by Adam Leventhal from the Fishworks team. He's posted some details of the Sun Hybrid Storage Pool strategy and how it works with flash. The presentation here is of particular note.
The post that I found the most interesting and the reason I decided to write this is "Casting the shadow of the Hybrid Storage Pool." Mr Leventhal goes over the pros and cons of using flash as primary storage in an HSM array and correctly points out "The trouble with HSM is the burden of the M." Unless you have a good HSM tool that can slide old data to disk and leave the cache for 'hot' data, flash and disk combo arrays become a burden. Veritas addressed this issue in their VxVM product years ago to handle small fast drives vs big slow drives. So there's already a lot of ground covered in the industry here.
The other approach you can take with flash drives is to use them as cache. It's a great idea. They're like memory that doesn't need battery backup or de-staging for power outages. As Adam puts it "Tersely, HSM without the M." Its the same school of thought taken by the HDD makers who slapped a few hundred MB onto their laptop drives. Fast access for the data you needed and bigger/slower storage for the rest. That idea never took off because no one wrote the drivers to take advantage of it (it's not as easy a problem to solve as it sounds). Well, in this case, Sun's "written the driver". In this case they've integrated it into ZFS. Pretty good strategy. They're certainly not alone. Netapp has taken a similar approach. I like the idea of getting the flash performance but removing the need to know about flash. Hybrid storage pools (HSP) could turn into the next storage optimization trend that all the vendors adopt.
The detail that makes me thing Sun's on to something is this isn't the only flash/HSP announcement recently, nor the only avenue they're pursuing. There's the "Open Flash Module" which is a JEDEC form factor flash drive for servers (kind of like a SO-DIMM that plugs into the mother board). The initial capacity is only 24Gb, but that will grow over time. If you take the drives out of a server, their power and size can drop considerably. This could be interesting for the embedded server and telco markets. They've also announced a truck load of servers with extensive flash support . There's also their NetApp competing product The Sun Storage 7000 series. Then there's the flash based optimizations like Logzilla integrated into products. The point is that Sun isn't taking a 'lets graft flash onto our existing products' approach. They're not simply replacing existing components with flash equivalents and saying 'we do flash!" They're embracing and extending what flash can do. Now, that's not to say everyone else isn't as well, it's just that Sun is more open/up front about it. I think sun is on to something with their product designs that utilize flash at multiple points across the product line.
So design is one thing, but Implementation is another. The best designs can mean nothing if the implementation is poor. According to several reviews, my beloved t-mobile G1 is an example. I'm no expert on server design and engineering so I'm just speculating here, but all of Sun's design work can be for naught if they screw up the implementation. If it doesn't live up to the design's promises because the hardware doesn't hold up it's end, if it's just a bear to manage, or if it does things in such a non-standard way, then it will likely fail. On top of that, the hardware and software needs to be reliable and fail sanely. Nothing is a bigger product buzz-kill than data loss or down time. But lets assume that the implementations are reasonably sound.
The next hurdle for me is delivery. How does Sun deliver this design and implementation to you? Great design, great implementation, but horrific admin software would kill adoption. If the learning curve is too steep or it requires a change in thinking from the current method of doing things it will also slow adoption. I'm struggling to think of a good example of a change in thinking, so this example is a bit weak. If the current line of thinking is to "S.A.M.E." your data (stripe always, mirror everything), but Sun's approach is to "S.N.M.N." ( Stripe nothing, mirror nothing), this will hinder adoption as well. Because the industry best practices from software vendors and other 3rd parties will advocate "S.A.M.E." and the sys admin will constantly be fighting the 'but this is different so I don't have to S.A.M.E.' battle. At some point, people just stop pushing the rock up hill and forgo the benefits of doing it right for peace and harmony with their co-workers. Another delivery obstical is that the default or basic implementations must also be sane for the majority of deployments. So a ZFS pool with hybrid storage should provide benefits and perform well with default configurations. It doesn't have to perform optimally but it should perform well. If it requires infinite tinkering specific to every use case, then there will be a flood of experiences at each end of the spectrum. People who love to tinker and fine tune will offer up tales of wonderful performance and extoll it's virtues. The 'set it and forget it' crowd will likely have a different view and will poo-poo the product every change they get. Lastly, they need to get the flash optimized options in front of people for around the same price or with minimal added cost. Price can be a significant barrier to entry.
It's an uphill climb to be sure. But I think Sun is on to something. If they can execute their vision and deliver on the promise of Hybrid Storage, they can become a relevant player in the storage market. Here's hoping the 'previous performance is not an indicator of future success' axiom hold true for Sun in this case.
No comments:
Post a Comment