Tuesday 18 april 2017, Patrick van Helden, Director of Solution Architecture at Elastifile was at Metis IT to tell about Elastifile. We had the chance to try a real-life deployment of the Elastifile software. Elastifile is a relative new name in the storage area. Since this month, the company is out of stealth and has presented its Elastifile Cloud File System. The company is founded in 2013 in Israel by three founders with a strong background in the virtualization and storage industry. In three funding rounds the product raised $58 Million. In the last round $15M came directly from Cisco. Other investors in Elastifile are leading flash Storage vendors and Enterprise Cloud Vendors.

What is Elastifile?

The goal of the founders is to have a storage platform that is able to run any application, on any environment, at any location. Whereby any location means really any location: Cloud or on premise. The product is developed to run with the same characteristics in these environments. Therefor Elastifile wrote from scratch a POSIX compliant filesystem that supports file, block and object oriented workloads and is optimized for flash devices. You can store your documents, user shares, VMware VMDK files, but also use it for big data applications, all stored on the same Elastifile Cloud File System. But what is the difference with a NetApp storage for example? A NetApp system can also provide you the same capabilities and is already doing this for years. The first thing in which Elastifile's approach is different than NetApp, is the way the product is written. It's written for high performance and low latency. Elastifile only supports flash devices and the software knows how to handle the different types of flash devices to get the best performance and extend the lifetime of flash devices. Furthermore, ElastiFile is linearly scalable and can be combined with compute (Hyperconverged Solutions). Another difference is that the Elastifile Cloud File System can run inside a (public) cloud environment and connect this to your own on premise environment. The problem with (public) cloud environment is that it gives you not the same predictable performance as in your on-premise environment. The Elastifile Cloud File System have a dynamic data path to handle noisy and fluctuating environments like the cloud. Due to this dynamic path Elastifile can run with high-performance and most important with low latency in cloud-like environments.

Deployment models

Elastifile's Cloud File System can be deployed in three different deployment models:
  • HCI
  • Dedicated Storage mode
  • In-Cloud
The first deployment model is HCI, where the Elastifile software runs on top of a hypervisor. Now, Elastifile supports only VMware, additional hypervisors will be added in future releases. You can compare this deployment with many other HCI vendors, but when connecting and combining the HCI deployment model with one of the other deployment options it gives you more flexibility and capabilities. Most other HCI vendors only support a small set of certified hardware configurations, wherein Elastifile supports a broad range of hardware configurations. The second and in my opinion the most interesting deployment model is the dedicated storage mode deployment. In this model, the Elastifile software is directly installed on servers with flash devices. Together they create the Elastifile distributed storage. With this deployment model, it is possible to connect hypervisors directly to these storage nodes using NFS (and in the future SMB3), but also connect bare-metal servers with Linux, Oracle or even container based workloads to this same storage pool. As we already discussed earlier the latest deployment is the In-Cloud deployment. Elastifile can run In-Cloud in one of the big public cloud providers but is not limited to public clouds. Elastifile can also run in other clouds as long it delivers flash based storage as infrastructure. The Elastifile can use the storage to build its distributed low-latency cloud file system. When combining these three models you get a Cloud ready file system with high performance, low latency and a lot of flexibility and possible use-cases.

Use-cases

HCI file services
A great use-case for the Elastifile Cloud File System is that you can decouple the operating system and application from the actual data of the application in a HCI deployment. You can use the Elastifile Cloud File System to mount a VM directly to the storage and bypass the hypervisor. And because the Elastifile Cloud File System is a POSIX filesystem it can store millions of files with deep file structures.
Linear scalable in cloud-like environments
A second use-case for the Elastifile Cloud File system is that the performance with any deployment of Elastifile delivers a predictable low-latency performance. When expanding the Elastifile nodes each node will add the same performance as any other node. When adding additional storage, you’re also adding additional storage controllers to the cluster. This result in a linear scalable solution even in cloud-like environments.
Flash tiering
The last use-case of the Elastifile is that it could automatically move files on the filesystem to another tier of flash storage. This could be a cheaper type of flash or a less performing type of flash storage, for example consumer grade SSD’s. Movement will be based on policies. The Elastifile software can further offload cold data to a cheaper type of storage, like a S3 storage. This can be a cloud based S3 storage, but can also be an on premise S3 storage.

The future

How the future will look like is always difficult to say, but from all what I already tried is this a very promising first version of the Elastifile Cross-Cloud Data Fabric. In the session with Patrick, I deployed the software myself and Patrick showed us the performance on these deployed nodes without any problems. The idea's around the product are great and on the roadmap, you find the most important capabilities which are needed to make it a real mature storage product.