title: AWS EFS vs EBS vs S3 (differences & when to use?)
body: <p>As per the title of this question, what are the practical differences between AWS EFS, EBS and S3?</p>
  <p>My understanding of each:</p>
  <ul>
  <li>S3 is a storage facility accessible any where</li>
  <li>EBS is a device you can mount onto EC2</li>
  <li>EFS is a file system you can mount onto EC2</li>
  </ul>
  <p>So why would I use EBS over EFS? Seem like they have the same use cases but minor semantic differences? Although EFS is replicated across AZs where as EBS is just a mounted device. I guess my understanding of EBS is lacking hence I'm unable to distinguish.</p>
  <p>Why choose S3 over EFS? They both store files, scale and are replicated. I guess with S3 you have to use the SDK where as with EFS being a file system you can use standard I/O methods from your programming language of choice to create files. But is that the only real difference?</p>