Storagezilla's post on Clariion LUNs demonstrates aptly EMC's and many other vendor's problems with dealing the legacy; when I see gloating posts from the newer vendors, I feel very tempted to save the posts in order to bring them up in ten or fifteen years when they themselves are struggling to cope with an established customer base and legacy arrays.
Dealing with legacy is a big deal for all of the vendors; if you move away from the legacy, you potentially upset your customer base but if you continue to support the legacy, you find yourself building on more and more cruft. Customers with long established process, procedures and scripts are loath to change them.
And indeed, even the vendor's own staff may well be treating the new features with suspicion. How many times have you sat in a meeting with a vendor's staff who tell you that they wouldn't touch that release of the code yet as it's too new and not 'Enterprise' ready.
Yet vendors spend a huge amount of money QAing their code; 50% of product development time is often QA. However, we often get code which is still not bug-free and still often has some whopping bugs in it but in many ways, we as customers do add to the problem. We insist on using deprecated commands, not trusting the new features and generally insisting that the vendor supports features from 10-20 years ago.
All of this adds complexity into the code-base; inefficiencies and mis-understandings creep in, bits of code become fossilised and no-one knows what they do anymore.
However how does a vendor take its customers on a journey allowing them to transition to a newer, better way of doing things? I'm not sure but certainly their own field-staff need to show confidence in their own products; they need to redouble their efforts to ensure that nothing ships with service impacting bugs. Some serious thought needs to be applied to creating tools which migrate scripts and allow customers to move into new features. But there will always be customer resistance to change.
EMC's problems are fairly horrible for them to deal with; their plethora of product lines does make dealing with this legacy harder. And at present, we just see that product-base expand; even if they just turn all of their products into personality modes which run on a base platform, they will still have an ever expanding mountain of code to deal with.
To be honest, I think that at some point EMC will have to bite the bullet and consolidate their product-sets but which one? There are significant overlaps and the overlaps are getting worse not better; the low-end Clariion overlaps with the new rackmount Iomega and the high-end Clariion overlaps with the low-end Symm. And if we throw VPLEX into the mix?
EMC are not the only company with this problem but they are the company with the largest problem due to the size of their install base, the maturity of the install base and also the fact that they make all of their own stuff. They have also been very good about ensuring a certain level of compatibility and retaining features for almost no good reason.
Yes, they do deprecate hardware; I don't really blame them for this, the CX4 for example is significantly more powerful than the CX3. And with VMAX, it is a completely different processor architecture to the DMX.
Companies like IBM and HP, who at first look to have similar issues, do OEM at least some of their product base. And IBM were very ruthless when they moved from ESS to the DS8k range; changing CLIs for example. But they had less customers to piss off really!
But to poke at EMC, for at least trying to support their legacy and doing the right thing by the customer; is a little small. When you've had products in existence for as long as EMC and others and you find the magic bullet for dealing with legacy; then you can poke.
And yes, NetApp et all; your unified storage approach helps in that it reduces the number of code-bases that you have to support but don't pretend that there are not some wierd and wonderful legacy structures that you probably would rather not support.