What is Elastic File System?
S3 is about storing and retrieving fairly static files; documents, images, video, and even static HTML. S3 is very efficient for distributing the same copy of a file to hundreds, thousands or millions of end users.
EFS, is intended to be used as part of the file system itself. It works with files and directories that change frequently and need to be used by applications or server processes across multiple server instances. Essentially, data that changes but needs to be consistent across multiple application or server instances.
So… How does that differ from RDS?
RDS manages hierarchical data. Data that defines entities and the relationships between those entities. EFS manages file based data. Executables, directories, logs, and resources that don’t often have or need relationships to each other.
When EFS is integrated with a server instance it replaces the local file system with a centralized repository. To the server or application there is no change in behavior.
The app or server writes to and from the EFS volume as if the file system was still local. However, this location is shared with any other server utilizing the EFS storage so that whenever any application or server updates the contents of the EFS volume, every other application and server has access to the updated contents.
No more local dependencies and possibility for stale data. No more duplicated storage for the same files for each server or application instance. Simple, centralized file storage, instantly synchronized across all applications and servers that share the EFS volume; that’s what EFS provides.
If you are interested in learning more about EFS and how to implement it check out my AWS Essentials email course. It covers EFS and other essential topics to get you started with Amazon Web Services.