EFS (Elastic File System) vs EBS (Elastic Block Store) comparison in AWS
Amazon EFS is an NFS file system service offered by AWS. An Amazon EFS file system is excellent as a managed network file system that can be shared across different Amazon EC2 instances and works like NAS devices.
Amazon EBS is the block storage offered on AWS. An Amazon EBS volume is a persistent storage device that can be used as a file system for databases, application hosting and storage, and plug and play devices.
Every server needs a drive. EBS is essentially a cloud-based storage for the drives of your virtual machines. EBS is designed to store data in blocks attached to an Amazon EC2 instance, similar to a local disk drive on your physical machine. You need to mount EBS onto an Amazon EC2 instance.
EFS is on the other hand automatically scalable — this means that you need not to be worried about your running applications as there won’t be any problems even if the workload suddenly becomes higher — the storage will automatically scale itself. Now, if the workload decreases — the storage will itself scale down, so that you don’t pay anything for the part of storage that you don’t use.
Amazon EFS is especially helpful for running servers, shared volumes, big data analysis, and any scalable workload you can think of.
EBS: Block Storage
EFS: Object storage
EBS: Hardly scalable
• Manually scale the size of the volumes without stopping instance.
• Baseline performance of 3 IOPS per GB for General Purpose volume
• Use Provisioned IOPS for increased performance
• Highly Scalable Managed Service
• Supports up to 7000 file system operations per second
• Data stored stays in the same Availability zone.
• Replicas are made within the AZ for higher durability
• Data stored in AWS EFS stays in the region.
• Replicas are made within the region
EBS: Can only be accessed by a single Amazon EC2 instance
EFS: Can be accessed by 1 to 1000s of EC2 instances from multiple AZs, concurrently
EBS: Supports various file systems, including ext3 and ext4
EFS: File storage service for use with AWS EC2. EFS can be used as network file system for on-premise servers too using AWS Direct Connect.
EBS: Uses an AWS KMS–Managed Customer Master Key (CMK) and AES 256-bit Encryption standards
EFS: Uses an AWS KMS–Managed Customer Master Key (CMK) and AES 256-bit Encryption standards
EBS: 99.99% available
EFS: Highly available (No public SLA)
EBS: 20 times more reliable than normal hard disks
EFS: Highly durable (No public SLA)
Availability Zone Failure
EBS: Cannot withstand AZ failure without point-in time EBS Snapshots
EFS: Every file system object is redundantly stored across multiple Availability Zones so it can survive one AZ failure.
EBS: Maximum storage size of 16 TB
EFS: No limitation on the size of the file system
File Size Limitation
EBS: No limitation on file size in EBS disk
EFS: Single files have a maximum size of 47.9TiB
Data Throughput and I/O
EBS: SSD- and HDD-backed storage types. Use of SSD backed and Provisioned IOPS is recommended for dedicated IO operations as needed.
EFS: Default throughput of 3GB/s for all connected client.