Pure is announcing the addition of file services to its Purity management software. At a high level, they are adding SMB and NFS protocols and a file system to their storage arrays. This means that with Pure Storage, you can now run the storage services needed, block or file, to match the requirements of your workload.
Let’s dive into the details of these additions to the Pure FlashArray™ family.
Integrated Architecture
The technology for the FlashArray™ File Services product comes from the 2019 acquisition of the Swedish company Compuverde. Key parts of the Compuverde technology stack have now been integrated into Pure Purity.
The Purity operating system traditionally provided the means for storage admins to manage block protocols, volumes, data reduction, and RAID-HA. The Compuverde technologies (file protocols and file systems) were integrated into the stack, and the goodness from both technologies was applied across the environment. This means the SMB and NFS services will benefit from data reduction and RAID/HA services.
Some of the features of this integrated approach are:
- Cross-protocol access via SMB and NFS data to provide the same file data in the same array.
- Directory snapshots, directory-level metrics provided by the File System
- Global dedupe and compression for file and block via the existing Purity data reduction and RAID-HA layers.
- Access is integrated into the Purity GUI, CLI, and REST APIs. So existing Purity concepts like snapshots and deduplication are extended to the file system, and new concepts like managed directories and export policies are added.
Additionally, if you currently use Pure Storage in your environment, there won’t be a big learning curve. File services will show up in however you access Purity.
Finally, as per usual with Pure Storage, there is no extra license and no extra charge for this new feature, you just need to upgrade to the new version of Purity. There will be restrictions on which arrays can host the new file services and file system, as it takes sufficient CPUs and memory to host them. Be sure to verify your array capabilities, as the smaller arrays will not be beefy enough to run file services or to run file services and block at the same time.
Managed Directories
Here are some of the basics of the NFS file system being offered. The root is always a managed directory, but other managed directories can be created under the root. Purity 6.0 will support up to 500 managed directories per array.
NAS clients will just see another directory, although the client won’t have the permissions to remove the managed directory. A managed directory looks like any normal directory. It will be visible in the UI, enabling storage admins to manage and monitor space, as well as apply policies (e.g. export managed directories, take snapshots).
In the diagram above, there are four managed directories: root, depts, projects, and users. The directories under users (alan, jon, naveen) are not managed. Space can be managed and monitored on the managed directories. However, on the individual subdirectories, such as the ones under the users managed directory, management of the individual subdirectories will be an aggregate of the users managed directory, as will any policies applied.
It is important to think about how you’ll want to organize your file system. It isn’t possible to convert an ordinary directory into a managed directory. And once the users start to populate those directories or use them in production, it could be difficult and disruptive to make changes. For example, if I wanted the ability to manage, monitor, and apply policies to alan, I’d need to plan to make it a managed directory from the beginning.
Use Cases
I now can run block and file services from the same Pure FlashArray™. Awesome! But what are the business reasons that drive an organization to want to look for that option?
Using flash arrays for general-purpose file share and home directories seem to be straight-forward use cases. But are there specific workloads or applications where having one storage system would satisfy multiple architectural requirements?
VDI is one such use case. VDI systems require stable and reliable operations of block storage. But user home directories, or where all the users do their work, is usually some sort of file system. How cool would it be to have both storage platforms on the same system? Surely there are management and low latency benefits that could be realized.
Any type of workload that is primarily a block-based application but has some file system requirements could be a good fit. An interesting use case could be an application like SAP that requires block storage, but then having the log files on a file system, but still in the same array.
Real Talk
It makes good sense to have an array with the ability to perform block-based and file-based storage. What will be interesting going forward is if File Services will be offered throughout the portfolio, especially in Pure Storage’s cloud offerings.
Additionally, while there are use cases like VDI that seem like a slam dunk for this type of architecture, will the addition of file services unlock some of the newer applications that are yet to be written for the Edge and IoT devices?
It will be great to see how this is used by developers in the future.