Nirvanix is one of the companies at the forefront of offering cloud computing services. Their key products are based around the Nirvanix Storage Delivery Network (SDN); data can be stored and retrieved using a number of client applications, one of which is the Nirvanix CloudNAS product. I’ve been reviewing the latest Windows release to see how it works.
Cloud Computing and Cloud Storage offerings are all about letting someone else deal with the headaches of IT infrastructure management. By outsourcing to the “cloud”, organisations may be able to significantly reduce Capital Expenditure and the Operational costs associated with providing information technology. Nirvanix have been offering cloud-based storage for some time, mainly through third party channels (companies like Atempo and FreeDrive), but CloudNAS is a direct offering, integrating with a standard Nirvanix account.
The premise of the software is simple; use a standard Windows server as a gateway to virtually unlimited storage in the cloud. A Windows server (virtual or physical) acts as a standard Windows File Server and therefore storage can be divided out through multiple shares and be integrated into the Active Directory security model.
I installed the CloudNAS software on a Windows 2008 Server host on my VMware testing farm, meeting the minimum requirements of 2GB of memory and 2Ghz processor. The installation process requires SDN account details; userid/password and the details of a specific application under SDN created for CloudNAS. If you’re not familiar with the way SDN works, a user account can have specific applications against which data is stored. In this instance I created a new dedicated “NAS” application for storing the test data.
Software configuration was pretty simple. A number of screens requested the SDN Account details and an activation key for the CloudNAS product, then the final screen sets the Drive letter and installation directory. Once complete and the CloudNAS service started, then the virtual drive (in my case X:) can be shared out.
For my testing I chose to use a configuration mode which writes data to a local cache before uploading to the SDN. This ensures data is available if the server crashes or is rebooted. It’s also possible to run in a mode where data is written directly to the SDN as it is written to the virtual drive. Clearly this is more risky as any data not uploaded would be lost if the server crashed or was rebooted.
In testing, the CloudNAS application seemed to perform well, however I was only able to do limited performance testing and couldn’t generate a full scalability test with multiple clients. As data was written to the virtual drive, I was able to monitor the progress via the CloudNAS Monitor tool, which runs on the server.
Under the Hood
I always like to have a little dig around when I install software. I’m keen to see how it has been written and if certain standards of design have been thought through. These standards include scalability, performance and usability. Unfortunately, CloudNAS leaves me with some concerns.
The first thing I noticed was the use of a virtual file system tool called Dokan. This appears to be the way the SDN CloudNAS file system is emulated under Windows. Whilst using third-party plug-ins is no bad thing, in this instance it doesn’t appear that Dokan is a commercially supported product. I would have grave reservations about placing my data under a tool that was dependent on best-efforts home-grown software.
Usability throughout the product is woefully inadequate. Changes to the configuration parameters requires effectively stepping through the installation process. The “upload monitor” is a tool running on the server itself and doesn’t even auto refresh. Probably most disappointing is the lack of a browsable interface into both the local view of the filesystem compared to that in the cloud, with an indication of differences for data not yet uploaded.
I could find no way to list the files and volume of data already moved up to the cloud.
CloudNAS will not be suitable for certain types of files; data is only uploaded to the cloud when files are closed; there’s no file locking (presumably due to the Dokan implementation). This could significantly restrict the benefits.
CloudNAS only presents a single virtual drive. There also doesn’t appear to be any method for moving the local cache to another location (for example on a separate disk).
CloudNAS appears to be a direct Linux port, without Windows design thoughts. Logging is to flat files which have to be browsed in their target directory. Configuration parameters have to be edited directly in *.conf files. The most telling clue is the lack of full conversion of the user manual to Windows, with sloppy references to Unix style directory names, like /var/cache/nirvanix.
In summary, I’d say what could be a promising product is let down by poor implementation. The whole user experience hasn’t been thought through fully, leaving the product feeling like a University programming project. A major overhaul is needed. This should include proper Windows menu driven options settings, an automated refreshing console which displays the local and cloud data structures, plus basics like an indication of the volume of data stored online. The product needs to be completely refocused on the user experience. After all, the move to cloud storage is about delivering a service – the back-end technology will be expected to just work; what will become important in the future as cloud services mature, is usability – unfortunately sadly lacking in this version of the product.