AWS releases new Elastic File System this week. See http://aws.amazon.com/efs/ The page doesn't contain many details. I'd like to know its performance comparing to S3, as well as other differences.
-
1possible duplicate of [AWS EFS vs EBS vs S3 (differences & when to use?)](http://stackoverflow.com/questions/29575877/aws-efs-vs-ebs-vs-s3-differences-when-to-use) – PSR May 21 '15 at 10:40
5 Answers
You almost can't compare EFS and S3 because they are two very different things, even though there is some overlap in their functionality, or at least their apparent functionality.
They both store things and they both have a storage pricing model that scales linearly with usage over time.
But S3 is an object store with an HTTP interface and a mixed consistency model....
...while EFS is an actual filesystem with an NFS interface and as such will almost certainly offer immediate consistency.
S3, coupled with a utility like s3fs can be used in a way that mimics a filesysem, but not to the point of behaving in all ways like an actual filesystem.
One way of looking at EFS is that it is an answer to the question, "how do I attach an EBS volume to multiple instances at the same time?" Previously, of course, the answer was, "you can't." You can mount the filesystem exposed by EFS on any nunber of instances and the result should be very similar to what you'd see if you had a "shared volume."
Its performance compared to S3 is not really a fair comparison, again, because they are different things for different purposes, but EFS will almost without question be "faster" by any meaningful definition of the word.
Also, no software should be required in order to mount an EFS filesystem on a Linux system.

- 169,571
- 25
- 353
- 427
-
It's not clear why this answer has a downvote, as it's not exactly what I'd consider [an egregiously sloppy, no-effort-expended post, or an answer that is clearly and perhaps dangerously incorrect](http://stackoverflow.com/help/privileges/vote-down). Perhaps the user who doesn't like this answer will do another drive-by and explain my error. – Michael - sqlbot Jul 21 '15 at 13:35
-
As already mentioned EFS is completely different to S3. The simplest way to look at is to look at what the underlying technology is.
S3 is an object store, meaning it is a higher layer data storage system, essentially it is a database "blob" storage, storing data in an underlying simple database as an object. It's designed for Write once Read many access, perfect for media data like image or video particularly as it is distributed and offers a very high level of redundancy.
EFS is a Network Storage system, underlying it is a storage array (SAN) and it offers the standard protocol for multi session network file systems (NFS) It's built on high speed SSD drives and is intended for shared storage for your ec2 instances, think file servers. It's been a long time coming for AWS and IMO this was one of the biggest missing key components for aws to really be a competitor to on-premise enterprise data centers.
Performance for EFS will be scalable and although I have not seen the details yet I am sure it will allow for provisioned IOPS just like EBS.

- 156
- 6
-
On the AWS forums, EFS performance has been a source of complaints. It seems that many of the complaints have been from those expecting similar performance to EBS. – curious_george Dec 14 '16 at 22:11
-
1well that's rather naive isn't it, I often see DBA's and other number crunchers complain about network storage in generals performance, at the end of the day a network accessible storage array and even a fiber channel arrays will never get the performance of directly attached storage, you can buy a $1000 pcie ssd drive that writes at a million random IOPS but what good is it in a distributed system? they're completely different solution to completely different use cases. – Josh James Saunders Apr 27 '17 at 15:03
EFS is also considerably (10x) more expensive than S3 at $0.30 vs $0.03. From an IOPs perspective you should see better performance from EFS as it's SSD based and doesn't have the overheard of HTTP on top as does S3. It's essential NAS as a Service.

- 1,554
- 17
- 15
Two addition differences between the two:
- AWS S3 offers Server-Side Encryption: http://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html The same is not currently offered in AWS EFS
- Files stored in AWS S3 as public, are accessible via a public URL to anyone. In AWS EFS however, in order to achieve the same, you'll need to deploy a web server that will serve your files.

- 3,965
- 1
- 22
- 22
Choosing between EFS and S3 is depend on your usage pattern
EFS availability and durability is same as S3
but both have different usage patterns
S3 have four common usage patterns:
- static web content
- host entire static websites
- store data for large-scale analytics.
- backup and archiving of critical data.
EFS is designed for applications thats concurrently access data from multiple EC2 instances. simply, by having one EFS you can attach it to multiple EC2.. you can't do that with EBS.
Amazon claim that S3 performance is more than any current users needs.
EFS performance has two modes
- General Purpose
- Max I/O
General Purpose is the default and it's appropriate for most operations type. but, if your workload will exceed 7000 file operations per second then Max I/O is your target

- 420
- 2
- 7
- 17