Sysadmin blog Developed by Sun, NFS version 2 was published as an IETF standard. Sun guarded NFS development for nearly two decades before handing protocol guardianship over the ITEF for version 4. This openness fueled adoption by the major UNIX vendors, even though most had their own competing protocols.
Deployment on Big Iron fueled enterprise demand for interoperability. In turn this saw the number of different implementations explode. Everyone had their own take; BSD, Linux, Microsoft and all the big UNIX branches.
An open standard does not mean homogeneity of interpretation, and fragmentation has been a constant concern throughout the lifetime of the protocol.
The NFS community has overcome this with bakeathons. Bakeathons are events that happen multiple times throughout a given year. Pretty much any time storage companies have a reason to send a group of people to the same location, a quorum of developers (and their attendant equipment) go along for the ride. Here, developers from all the major storage and operating system companies - as well as representatives from the open source community - bring their latest code together and break it all repeatedly.
Everyone tests their code against everyone else's code to see what throws a wobbly, and patches are often coded in real time. When things are really out of alignment, changes to the specification may be voted upon.
Some may take a cynical view of bakeathons, but Microsoft's representatives are not among them. I had the opportunity to speak with Microsoft's Siddhartha Roy (program manager for file server protocols), the man who, in his own words, "owns the NFS protocol at Microsoft". The history of NFS at Microsoft - and Microsoft's participation in bakeathons - proved to be a genuine eye opener.
The first thing to jump out at me was that regression testing isn't the focus of a bakeathon. Roy is quick to point out that Microsoft regularly tests its NFS server against 15+ NFS clients in lab. Bakeathon is about bleeding edge implementation. No incompatibility is minor; any failed test means your implementation won't cut it. After an hour of conversation, the overwhelming take-home message from Roy was an almost paternal sense of pride. Roy is genuinely proud of Microsoft's NFS implementation. Frankly, he has plenty to be proud of.
With Server 2012, Microsoft has helped push the frontiers of NFS's capabilities by delivering an absolutely top-notch clustered implementation. Far from a locked-down, proprietary implementation, Microsoft's Windows Server clusters provide seamless failover for mixed-mode clients.
Microsoft has devoted a great deal of resources to making an NFS server designed for clustered VMWare environments, where I/O continuity exists regardless of the operation being performed at the time of failover. Microsoft's aim is not to provide the most bleeding edge implementation of the NFS specification, but the most robust, reliable and easy to deploy.
To this end the new Microsoft implementation contains autotuning technology designed to find the optimal NFS configuration for your network conditions. Manual tuning is still possible, but now largely unnecessary.
While the technical details of Microsoft's implementation and integration are impressive, to hear Roy speak, this was obviously not the only source of his pride. There was genuine fondness in his voice as he talked about "the community." He spoke of camaraderie at bakeathons, an environment of professionalism where "everyone makes sure it all works together."
Here, Microsoft isn't an 800lb gorilla throwing its weight around. Here, Microsoft is one among equals. All members of the NFS community debate, advance and stress-test NFS based on technical merit. It is software engineering in its purest form.
Whatever the corporate history of Microsoft, the incomprehensible logic driving the licensing department, the facepalms of marketing or the variegated legal machinations, Microsoft employs an great many good people, and they do a lot of good works. Roy has the opportunity to work with the best Microsoft has to offer, and it shows each time he talks about them.
Microsoft's storage team provide a positive example of successful interaction with the rest of the IT community. Considering the natural fragmentation of the community as well as the somewhat chaotic nature of standards advancement and testing, Roy - and the rest of Microsoft's storage team - have done a great job in a difficult and complex environment. That is indeed something to be proud of. ®