On my first post, I explained that my decision to leave NetApp and join EMC was a push/pull, with NetApp pushing and EMC pulling. I explained some of the issues I had with NetApp in my last six months in that post. I also said I would explain the attraction to EMC in my next post. However, I have decided for the moment to remain focused on NetApp. My next post will begin to explain why I think EMC is a better storage company than NetApp, with generally superior technology.
In this post I would like to focus on the issue of NetApp's SAN implementation.
During the first years of my tenure at NetApp, NetApp was not just a NAS company. They were the NAS company. The company invented the market. (Bear in mind that when I joined the company it had only about 100 employees, versus several thousand today.)
The goals of NetApp were simple:
1. Create a new market.
2. Dominate that market.
While NetApp focused on the NAS market, this worked beautifully. This strategy began to fall apart when NetApp hired Rich Clifton (now Senior Vice President at NetApp) away from Data General.
I remember one of my first meetings with Rich. He showed a pie chart of the storage industry, which at that time showed the NAS market as 7% and the SAN market as 93% of that market. Rich asked a rhetorical question: "Does anyone believe that we can sustain our current growth rates without penetrating the SAN market?" (At that time NetApp's growth rate was about 80% per annum.)
My response was a resounding "Yes!" All of NetApp's growth up to that point was fueled by stealing market share away from the SAN market, including the database storage market. Of course all of the Oracle storage which NetApp had captured up to that point had previously been SAN. Much of this had been stolen from EMC. In other words, I argued, the way for NetApp to continue to grow at its current rate was to reshape the pie, as it had done up to that point.
I know that others within NetApp felt the same way I did, by the way, including David Hitz. (David later admitted that he was wrong, but I maintain that he was actually right all along.)
Rich disagreed, and eventually his view prevailed. This led NetApp into the development of the FCP and later the iSCSI protocols as implemented in their filer within the ONTAP operating system. All of these events happened around 2000.
I can certainly see the eventual development of iSCSI as being central to NetApp's vision of being the IP storage company. However, iSCSI at that time was very immature and production implementations were rare. The SAN market was really a FCP market.
The trouble for NetApp occurred in the FCP protocol. This protocol was implemented tactically. A classic Steve Kleiman (NetApp CTO) quip was that the goal of the FCP protocol project was to be at least as good as the "crummiest SAN RAID array in the market." At that time, the crummiest array was the Sun T1000, so the performance and reliability of the Sun T1000 was set as the bar by which the FCP was measured.
Trouble was, the T1000 really was a piece of junk. Not the least was the issue of cluster timeouts. The ability of the FCP to failover in both a host and filer cluster became a huge issue. Eventually, every significant feature enhancement in ONTAP became gated on the ability of the FCP to support that feature in a cluster environment. QA became the gating factor on Engineering's ability to perform. And the bottleneck in QA was the problem of verifying the FCP protocol's ability to failover.
While this sounds easy to fix, it wasn't. I would maintain that the decline in the rate of development and innovation at NetApp directly resulted from this one issue. If NetApp had simply stuck to their knitting and remained a NAS-only company, certainly leading the iSCSI market as it became a popular protocol, but by all means ignoring the FCP protocol entirely, then NetApp would be a far larger, richer and more successful company today than they presently are.
My next post will, as promised, explore my attraction to EMC, and why they will eventually prevail in their struggle with NetApp.