Earlier quoted context omitted.
I think EFS is meant for large read-heavy patterns, at least that's what we used it for. For example, I help run an e-commerce site that has a lot of content (JS, CSS, images, etc.) that we serve up from 10 dedicated servers as well as 30 general servers. When we release new content we have to update each of the servers and make sure that everything got installed properly everywhere. With EFS, we just have to update…
Why don't you use S3 and Cloudfront to serve all the assets?
Amazon Elastic File System – Production-Ready in Three Regions
61–70 of 122 posts
Re: Amazon Elastic File System – Production-Ready in Three Regions
#62To store small files (10 to 1000 KB) uploaded by users in a web app, what is the best tool, S3 or EFS?
Object storage (i.e. s3+cloudfront) is still the correct way to store immutable files. that said, I know this will be used when the options are to rewrite filesystem access to an abstract (i.e. fs/s3/azure/etc) or just use nfs. People already use s3fs-fuse[1] which is dubious at best. [1]: https://github.com/s3fs-fuse/s3fs-fuse
Immutable files => Object storage => S3
Mutable files => File storage with POSIX semantics => EFS/NFS
Re: Amazon Elastic File System – Production-Ready in Three Regions
#63I am excited by EFS but during the beta it didn't perform as well as I would have liked. I had a small Wordpress install that I wanted to make elastic in that I could have multiple web servers and all of the data was stored apart from the AMI. After testing my setup I found that latency was way too high and the performance of my site was terrible. I'm guessing it's because the amount of data was really low (100MB) an…
Re: Amazon Elastic File System – Production-Ready in Three Regions
#64Earlier quoted context omitted.
The difference is that all of those services are accessed via an API, which means your client can do clever things when it fails, like timeout, give a fallback, find an equivalent resource in another zone or region, etc. With EFS, it's exposed as NFS, which hooks in much deeper. If it goes down, there isn't anything you can do to work around the problem, unless you start hacking your own file system kernel modules.
Can't you measure and timeout on the file-descriptor writes too?
Re: Amazon Elastic File System – Production-Ready in Three Regions
#65Would love to see this in comparison to a 10Gbps (or 1Gpbs) attached spinning rust or SSD NSF drive. That would really help me understand what tradeoffs are happening here.
Re: Amazon Elastic File System – Production-Ready in Three Regions
#66Earlier quoted context omitted.
Not at present. I would be interested in learning about use cases for this. Post here or find me online, as you wish.
One use case would be one that came up a while back here on HN -- The person had a large binary blob that they needed to load up every time their Lambda function ran. If they could mount EFS from Lambda, they could put the large binary blob there. Depending on how they wrote their code, if the Lambda could seek to the right part of the file then this would work, but if it has to load the entire file into RAM anyway,…
From a caching perspective, you wouldn't seem to gain much in lamda. You can cache in memory/tmpfs until your container eventually dies, and then you likely aren't on the same machine so there's no EFS level caching to take advantage of.
Re: Amazon Elastic File System – Production-Ready in Three Regions
#67I am excited by EFS but during the beta it didn't perform as well as I would have liked. I had a small Wordpress install that I wanted to make elastic in that I could have multiple web servers and all of the data was stored apart from the AMI. After testing my setup I found that latency was way too high and the performance of my site was terrible. I'm guessing it's because the amount of data was really low (100MB) an…
Re: Amazon Elastic File System – Production-Ready in Three Regions
#68Can EFS be mounted from the Lambda environment?
Not at present. I would be interested in learning about use cases for this. Post here or find me online, as you wish.
Re: Amazon Elastic File System – Production-Ready in Three Regions
#69Seems like no Windows support?
That's a good question. Originally it was Linux only as the EFS client was locked to NFS 4.0 and the Windows Server NFS client was 4.1 (why 4.1 is not backwards compatible, I don't know). However, the announcement mentioned using the PowerShell cmdlets to attach EFS volumes, and in fact the PowerShell help pages have specific commands for working with EFS. So, my guess is that it is now available for Windows and Jeff…
Re: Amazon Elastic File System – Production-Ready in Three Regions
#70Earlier quoted context omitted.
I have to admit that is the first use case that I thought of when I read this. No more messing around with AMIs and launch config whenever an update is deployed. You bring up a good point on the EFS being a point of failure though. What use case do you think the EFS is good for? It seems like even worse for data storage since IO can easily become a bottleneck.
> What use case do you think the EFS is good for Out of band big data/data pipeline processing. Something where you want an easy way to sync your data but can handle extended downtimes.
Keep in mind (and this comes from hard experience in 'traditional' NFS web server architecture) - if you mount everything on an NFS volume, you ensure that
1) If something goes wrong on that NFS mount, everything goes wrong. (bad code deploy? All nodes are down!)
2) If you rely on an NFS mount to store everything (e.g. trust keystores for JVMs,etc.) your entire infrastructure is dependent on the I/O capabilities of that NFS mount.
3) No matter how clever you are (or how much you trust NFS clients/versions) you will deal with file locking if you are doing a fair amount of read/write from multiple nodes to a single NFS mount.
Short story - EFS will make some of the 'hard' things with distributed nodes possible, but don't make the easy things impossible to troubleshoot.