Usage Patterns - AWS Storage Services Overview

Usage Patterns

Amazon EFS is designed to meet the needs of multi-threaded applications and applications that concurrently access data from multiple EC2 instances and that require substantial levels of aggregate throughput and input/output operations per second (IOPS). Its distributed design enables high levels of availability, durability, and scalability, which results in a small latency overhead for each file operation. Because of this per-operation overhead, overall throughput generally increases as the average input/output (I/O) size increases since the overhead is amortized over a larger amount of data. This makes Amazon EFS ideal for growing datasets consisting of larger files that need both high performance and multi-client access.

Amazon EFS supports highly parallelized workloads and is designed to meet the performance needs of big data and analytics, media processing, content management, web serving, and home directories.

Amazon EFS doesn’t suit all storage situations. The following table presents some storage needs for which you should consider other AWS storage options.

Storage Need Solution AWS Services
Archival data Data that requires encrypted archival storage with infrequent read access with a long recovery time objective (RTO) can be stored in Amazon S3 Glacier more cost-effectively. Amazon S3 Glacier
Relational database storage In most cases, relational databases require storage that is mounted, accessed, and locked by a single node (EC2 instance, etc.). When running relational databases on AWS, look at leveraging Amazon RDS or Amazon EC2 with Amazon EBS PIOPS volumes. Amazon RDS Amazon EC2 Amazon EBS
Temporary storage Consider using local instance store volumes for needs such as scratch disks, buffers, queues, and caches. Amazon EC2 Local Instance Store