Maxim_Kazmin - Fotolia
AWS has a range of storage services designed for different scenarios, but there's enough overlap that potential users can struggle to select the best one for the job at hand.
Amazon FSx for Windows File Server is the latest example of the challenges that come with so many choices. Given that Windows servers are often deployed for file sharing, FSx for Windows seems to overlap rather significantly with Amazon Elastic File System (EFS), the managed network-attached storage (NAS) service.
In fact, when AWS rolled out FSx late last year, some industry observers thought it was positioned to eventually replace EFS in the AWS portfolio. That may or may not be the case, but our goal here is to sort out the confusion and provide guidance on the usage scenarios for each AWS file service.
Amazon FSx basics and differences from EFS
Amazon EFS is a managed NAS filer for EC2 instances based on Network File System (NFS) version 4. File systems are distributed across availability zones (AZs) to eliminate I/O bottlenecks and improve data durability. FSx for Windows, on the other hand, is a managed Windows Server that runs Windows Server Message Block (SMB)-based file services. It is conceptually analogous to Amazon Relational Database Service.
Because FSx runs on Windows, it is compatible with any server application designed for on-premises Windows Server environments. AWS manages, monitors and patches FSx infrastructure. Its resilient design automatically replicates data within an AZ. It's also deployed on redundant infrastructure and takes daily Volume Shadow Copy Service (VSS) snapshots that are stored on S3.
When AWS rolled out FSx for Windows, it also added FSx for Lustre. But since the Lustre file system is designed for high-performance computing workloads that typically run on compute clusters, users tend to know when they need it and when they don't.
Editor's note: For the purposes of this article and the comparison to EFS, all other references to FSx will pertain to the Windows variant.
In terms of EFS vs. FSx, the key attribute of the former is that it uses NFS, one of the first network file sharing protocols native to Unix and Linux. Windows has long provided an NFS client and server. Some Windows applications might not work on EFS or be feature-complete without access to a native Windows SMB file share. Indeed, the 2012 Windows Server update and later implementations of SMB include end-to-end data encryption, remote direct memory access support, VSS snapshot backups, support for Windows New Technology File System (NTFS) metadata and Active Directory (AD) security policies. These features might not be available on most NFS implementations, including EFS.
As a Windows-based service, FSx runs the integrated SMB server built into the OS with storage built on NTFS and supports AD users, access control lists, groups and security policies, along with Distributed File System (DFS) namespaces and replication. These features enable FSx to support multi-AZ deployments using Microsoft's DFS, along with the ability to synchronize file shares in different AZs and configure automatic failovers. FSx supports other Windows security features, such as data encryption at rest and in transit, along with Amazon security services, such as network traffic control using Amazon Virtual Private Cloud security groups and user access policies with Identity and Access Management. FSx for Windows can log system events and API calls to CloudTrail for later auditing and analysis.
FSx is built for high performance and submillisecond latency using solid-state drive storage volumes. This design enables users to select storage capacity and latency independently. Thus, even a subterabyte file system can have 256 Mbps or higher throughput and support volumes up to 64 TB.
EFS vs. FSx: Usage and use cases
EFS and FSx for Windows can both be used with file-based applications. However, the particular scenarios for each primarily differ in how much the applications rely upon native Windows features, as opposed to being able to operate with a generic, OS-agnostic network file system. Those that require Windows-specific features will do better with FSx. Typical application categories for FSx include:
- Home directories for Windows desktops. See this AWS blog for details on using FSx for Windows with the Amazon WorkSpaces virtual desktop infrastructure service.
- Windows line-of-business applications.
- Web servers and content management systems built on Windows and deeply integrated with the Windows Server ecosystem.
- Windows app dev environments, notably Visual Studio.
- Media workflows.
- Windows data analytics, such as Power BI, the SQL Server data platform, Sisense or other third-party applications.
You can use EFS and FSx interchangeably for most applications that support network file shares. But EFS is better for applications designed for heterogeneous environments and those that run on Linux systems.
Pricing and availability
According to pricing at the time of this article, EFS will consistently be more expensive than FSx for Windows.
Pricing for EFS has four compenents.
The Europe and Asia-Pacific regions are either 10% or 20% more expensive, depending upon the region.
EFS also has a Lifecycle Management feature that automatically migrates unused data to an Infrequent Access (AI) storage tier, which is 15% of the price of standard storage. Transition times vary and there are charges when data stored in AI storage is read or transitioned. For file systems that predate Feb. 13, 2019, a new file system must be created to use this feature.
AWS recommends customers estimate their costs based on 80% of their file data being infrequently accessed. With this approach, EFS would be cheaper than FSx for Windows in our 1 TB scenario.
FSx for Windows
The FSx for Windows pricing model has three components.
For example, a 1 TB (1,024 GB) file store provisioned with 8 MBps of baseline throughput (the lowest tier) with 2 TB of backup space (enough for several incremental snapshots) would cost:
- Storage capacity: 1,024 GB-months x $0.130/GB-month = $133/month
- Throughput capacity: 8 MBps-months x $2.20/MBps-month = $18/month
- Backup storage: 2,048 GB-months x $0.05/GB-month = $102/month
This would total $253 per month. The same sized EFS standard share would cost an additional $307 -- or about 21% more with backup and 103% more without backup -- than FSx for Windows.
FSx for Windows is currently available in four regions: U.S. West (Oregon), U.S. East (N. Virginia), U.S. East (Ohio), EU (Ireland).