Say you’re developing a new application and intend to run it in the cloud. Why wouldn’t you, this is 2019 right? So what cloud services are you going to use as part of this application. Likely compute power will come in the form of a virtual machine, but it may also be containers or even serverless functions. What about storage? Most new applications default to block or object storage, or perhaps a combination of the two. Those are the only options right? Well as it turns out, file services have been making a bit of a comeback as a means for storing stateful data that needs to be accessible after a container has been terminated, a serverless function has finished, or multiple virtual machines need to access the same data.
Using the Right Tool for the Job
The appetite for file services by cloud consumers is clear as we have seen releases of both first and third party products on Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Existing applications have been using NFS and SMB for years and although the plan may be to refactor such applications to a cloud native architecture over time, being able to address current needs is a necessity for any cloud provider that wishes to attract enterprise customers. Even new applications can benefit from the use of a shared file system in a variety of use cases.
Although file services may not be needed ubiquitously, there are still many use cases where it makes sense over object or block storage when building a cloud native application. Often times highly performant, persistent storage for High Performance Computing (HPC) or Kubernetes based applications that scale on demand is a necessity. Clever use of spot instances (also known as Low-Priority VMs in Azure or Preemptible Instances in GCP) in conjunction with persistent storage from file services means work that is not time sensitive can be done on the cheap as resources are available.
A New Take on File Services
One company that is staying at the forefront of the cloud file services space is Elastifile, as I discovered in a recent briefing. Elastilfile has been providing scale out file services by way of their software both on premises and in the cloud for years. Customers have had a few options available such as licenses for on-premises and cloud deployments alike, or a marketplace option to purchase and deploy within GCP or AWS.
New in late 2018 though is Elastifile’s Cloud File Service which is being offered as a fully managed service on GCP. Acting as a first class citizen, Cloud File Service can be deployed using the same GCP APIs or dashboard as other native services. Customers will be able to easily scale in or out based on demand as well as taken advantage of other features such as multiple service tiers and multi zone/region replication.
At first glance Elastifile’s partnership with Google and the native Cloud File Service offering would seem to be in conflict with GCP’s own native Cloud Filestore offering. Elastifile’s view is that their service is complimentary due to the differentiating factors of higher scale, multiple performance tiers and the ability to deploy the service in a hybrid cloud. All features that GCP’s Cloud Filestore currently lacks. Combine those features with the ability to tier cold data to object storage and you have a rather feature rich product.
Sometimes the old standbys when it comes to tools and technologies really are the right fit for the job. We’ve seen acknowledgement of this within the cloud native community as developers begin asking for better support of existing technologies and the cloud providers begin to supply them. Heck, there have even been talk that Kubernetes, the darling of developers, will begin to manage more VMs than containers. Just because a technology has been around for a while doesn’t mean it isn’t as useful as the new thing. The same is true of file services in the context of existing and new cloud native applications. Recognizing that the right tool for the job isn’t necessarily the hot new thing is a sign of wisdom and maturity in an experienced professional