Blog
AWS Cloud

AWS EFS Capabilities and Cost Analysis

Nishant Thorat
November 19, 2024
5 min read
W

hen it comes to AWS storage services, choosing the right option can often be confusing, especially with the wide range of options available—S3, EBS, and EFS being the most prominent. In this post, we’ll dive into Amazon Elastic File System (EFS) and examine various strategies for optimizing costs effectively. But before we dive into EFS, let’s look at the different storage solutions AWS provides and how they compare.

S3: Simple, Scalable Object Storage

Amazon S3 (Simple Storage Service) is a highly scalable, object-based storage solution designed for applications that need infinite storage without worrying about downtime. It’s highly flexible for storing data as objects, but it doesn't support traditional file system operations like appending to files. Developers interact with S3 by uploading (PUT) or retrieving (GET) objects, making it straightforward for cloud-native applications.

  • Advantages:
    • Infinite scalability
    • Flexibility with data types
    • Cost-effective with various storage classes
  • Limitations:
    • Lacks traditional file handling, such as file appending
    • Managing access permissions with AWS IAM may be cumbersome for legacy workloads

While you can use versioning to simulate appending in S3, it can quickly become costly since every version of the file is stored.

EBS: Low-latency Block Storage for OS Boot and More

Amazon Elastic Block Store (EBS) is a good choice for workloads that need low latency and traditional file system features. EBS stores data in blocks, which makes it ideal for tasks like boot partitions or databases where high-speed access is essential. It integrates seamlessly with Linux, Windows, and macOS—so long as the storage is formatted correctly for the OS. You can also use EBS volumes with multi-attach for up to 16 EC2 instances, allowing shared file access in a single Availability Zone.

  • Advantages:
    • Low-latency block storage
    • Supports file system operations
    • Can be expanded without downtime (shrinking requires downtime)
    • Multi-attach for cluster-aware applications
  • Limitations:
    • Only 16 EC2 instances can access a multi-attach volume simultaneously
    • Shrinking volumes require downtime

EBS is great for scenarios that demand performance, but it doesn’t scale as easily across instances as other options.

EFS: Scalable, Serverless File System for Linux

Amazon Elastic File System (EFS) is an elastic and serverless network file system that allows multiple EC2 instances to access files concurrently. Unlike EBS, EFS scales automatically and doesn’t require manual resizing. This is a perfect solution for workloads like web servers, content management systems, and any scenario where many instances or services need to access the same data across Availability Zones.

  • Advantages:
    • Serverless and elastic
    • Supports concurrent access by thousands of instances
    • Ideal for shared data across multiple services
  • Limitations:
    • Limited to Linux workloads
    • Cannot be used for OS boot partitions
    • Slower initial response time compared to EBS
    • Higher network latency

EFS provides high availability and scalability but comes with a performance trade-off compared to EBS, particularly with latency. Additionally, the cost of EFS can be higher, which we’ll explore more deeply later in this blog.

Cost Considerations

Each of these storage options comes with its own pricing structure, making it crucial to choose based on your workload requirements and budget. In general:

  • S3 is the most affordable and offers different pricing tiers for different storage classes.
  • EBS falls somewhere in the middle with its focus on performance.
  • EFS is the most expensive option, particularly because it charges based on the amount of storage used per month (GB/Month).

AWS Storage Pricing Comparison

To understand AWS storage costs better, review the pricing ($/GB-Month) below, which compares the costs across different tiers and services.

  • S3:
    • Standard: $0.023
    • Infrequent Access (IA): $0.0125
  • EFS:
    • OneZone: $0.16
    • Standard: $0.30
    • Infrequent Access (IA): $0.016
    • Archive: $0.008
  • EBS:
    • SSD (gp3): $0.08

Key Observations on Pricing

After reviewing the pricing table, several observations stand out:

  • S3 is the most affordable option, especially when compared to EFS and EBS. Even S3 Standard, its highest tier, remains cheaper than EFS’s Infrequent Access (IA) tier.
  • EFS is the most expensive storage solution, especially in its Standard tier, which is often used for high-performance computing (HPC) and cluster-aware applications. Without proper cost optimization, expenses can escalate quickly.
  • EFS has a wide price range, with up to a 19x difference between its cheapest (Archive) and most expensive (Standard) tiers.
  • EFS OneZone is approximately 47% cheaper than EFS Standard, but it’s still twice as expensive as EBS SSD gp3.
  • EFS Standard is 13x more costly than S3 Standard, which highlights the need for strategic selection based on workload requirements.
  • EFS IA is significantly more affordable than EFS Standard, costing 95% less. This makes it a strong candidate for workloads where data is less frequently accessed.
  • EFS IA is about 90% cheaper than EFS OneZone, offering another optimization avenue for infrequently accessed data.

EFS Cost Optimization: Why It Matters

Given the significant price variations within EFS tiers and the fact that EFS is a costly solution overall, it’s clear that cost optimization is crucial for those using EFS extensively. Whether you're running HPC applications or multi-instance access systems, understanding EFS’s various functionalities and price points can lead to meaningful savings. In the next section, we’ll delve into the capabilities of EFS and explore strategies to optimize costs effectively.

Data Redundancy: Optimizing EFS for Your Workload

One of the first steps in optimizing your EFS costs is determining whether your workload truly requires data redundancy. EFS offers two primary storage options: EFS Standard (multi-AZ) and EFS One Zone (single-AZ).

If your data can be easily regenerated or is not mission-critical, opting for EFS One Zone can result in significant cost savings—as much as 50% compared to EFS Standard. This makes EFS One Zone an ideal solution for workloads where redundancy across multiple Availability Zones isn't required. For example, in non-critical workloads like development and testing environments, choosing EFS One Zone can reduce costs while maintaining adequate performance, especially when multi-AZ redundancy is not required. Opting for EFS One Zone can result in significant cost savings—as much as 50% compared to EFS Standard.

Storage Classes in EFS: Tailoring to Your Access Patterns

Another major lever for cost optimization is leveraging EFS storage classes based on how frequently files are accessed. For most applications, the 80:20 rule applies—20% of files are accessed 80% of the time, while the remaining 80% are accessed much less frequently. However, many organizations still pay for high-cost storage for infrequently accessed files.

It’s like buying front-row seats at a football match but leaving early because your favorite team is losing badly. You’ve paid a premium for something you didn’t fully utilize.

EFS offers several storage classes to accommodate different access needs, ensuring you don’t overpay for storage. Files frequently accessed can remain in high-performance storage, while less accessed files can be moved to lower-cost, higher-latency storage options.

EFS Storage Classes Overview

As of now, Amazon EFS offers three storage classes:

  1. Standard: Frequently accessed, low-latency, high-performance.
  2. Infrequent Access (IA): Cost-effective for files accessed less often, with higher latency and retrieval fees.
  3. Archive: Introduced in 2023, it’s designed for long-term, rarely accessed files at a fraction of the cost of IA.

EFS Infrequent Access (IA) and Archive Classes

The IA storage class, introduced in 2018, provides a much cheaper option for storing infrequently accessed files. However, it comes with trade-offs: higher latency, lower data throughput, and per-GB retrieval fees.

In 2023, AWS introduced the EFS Archive class, optimized for long-term storage of files that are accessed a few times per year or less. Archive storage can save you up to 50% compared to the already reduced cost of the IA tier—ideal for data such as regulatory files or historical logs.

EFS Storage Class Comparison

Here’s a comparison of the three EFS storage classes based on key factors:

Heads of Comparison Standard Infrequent Access (IA) Archive
Access Frequency Regularly A few times a quarter A few times a year
First byte read latency Sub-millisecond (~600 µs) Tens of milliseconds Tens of milliseconds
Storage Cost (per GB/Month) $0.30 $0.016 $0.008
Reads per GB $0.03 $0.04 $0.06
Writes per GB $0.06 $0.06 $0.06
Min File Size N/A 128 KiB 128 KiB
Min Storage Duration N/A N/A 90 days
Use Cases User shares, SaaS applications Backups, old blogs Regulatory data (e.g., financial or medical records)

The Value of EFS IA and Archive for Cost Optimization

As your data grows, the benefit of moving infrequently accessed files to the IA tier becomes apparent. However, while IA offers a more affordable storage solution, each access to these files incurs a retrieval fee. This is where keeping an eye on access patterns is crucial.

If files in IA are accessed multiple times in a short period, costs can rise unexpectedly due to the per-GB retrieval fees. Regularly monitoring your file access patterns can help you make informed decisions about which files to move to the IA or Archive tiers and when to retrieve them.

EFS Lifecycle Management with Intelligent Tiering

To streamline the process of optimizing storage costs, EFS Lifecycle Management Policies can be implemented to automatically move files between storage tiers based on their access patterns. These policies help reduce costs by transitioning data from EFS Standard to EFS Infrequent Access (IA) or EFS Archive storage classes.

EFS Lifecycle Policies

Amazon EFS allows you to set lifecycle management rules that automatically transition files based on inactivity. Here’s a breakdown of the key policies:

  • Transition into IA: Files can be moved to the IA storage class after a customizable duration of inactivity. You can set this transition to occur after 7, 14, 30, 60, 90, 180, 270, or 365 days since the file’s last access in the primary storage class.
  • Transition into Archive: Similar to the IA transition, files can be moved to the Archive storage class after 1, 7, 14, 30, 60, 90, 180, 270, or 365 days of inactivity in primary storage. This is ideal for rarely accessed files but must be retained for regulatory or compliance reasons.

Transition back to Standard: Files moved to IA or Archive storage are automatically moved back to Standard storage when they are accessed again. This eliminates additional Infrequent Access request charges. This rule can be configured as either disabled or set to On First Access, depending on your needs.

By default, files that haven’t been accessed for 30 days are moved to the IA storage class, and files not accessed for 90 days are moved to the Archive storage class. However, in cases where the data is rarely accessed and doesn't require the intermediate IA tier, you can configure lifecycle policies to move files directly from EFS Standard to Archive. This approach can reduce both storage and tiering costs, maximizing long-term savings.

EFS Intelligent-Tiering: Automating Storage Optimization

To further simplify cost management, AWS offers EFS Intelligent-Tiering. This feature monitors the access patterns of your file system and automatically moves files between storage classes based on your configured lifecycle management policy.

With intelligent tiering, files that haven’t been accessed for the specified duration are moved to the IA tier. If a file is accessed after being transitioned to IA or Archive, it’s automatically moved back to its original tier. This ensures your storage is always optimized, even if your file access patterns change over time.

Best of all, you won’t have to worry about unexpected data access charges since you only pay for data access fees during transitions between storage classes—not for subsequent access within the same tier.

Benefits of EFS Intelligent Tiering:

  • Cost efficiency: Files are automatically transitioned to lower-cost tiers, reducing unnecessary storage expenses.
  • Dynamic optimization: As your file access patterns change, Intelligent Tiering adjusts storage allocation without manual intervention.
  • No unbounded data access charges: Once a file is accessed, it’s moved back to Standard storage, eliminating the risk of continuous access charges.

EFS Throughput Modes

The cost of EFS is directly impacted by the throughput mode you choose. EFS is optimized for read-heavy workloads, and its throughput is related to the size of the standard storage. There are multiple throughput modes in EFS, each affecting performance and cost differently.

Baseline Throughput

For every 1 GB of standard storage, EFS provides a baseline throughput of 50 KB/s. This means the total throughput of your file system is tied to its storage size. EFS metering determines the size of your file system approximately every hour, setting the baseline throughput accordingly. You are only billed for throughput that exceeds the baseline.

For example, with 100 GB of standard storage, you’ll have a baseline throughput of 5 MB/s (100 GB × 50 KB/s). If you provision throughput at 6 MB/s, you will only be charged for the excess 1 MB/s beyond the baseline, not the entire 6 MB/s.

Bursting Throughput

Bursting Throughput allows your file system to exceed its baseline throughput when needed, using burst credits. Burst credits are accumulated when your workload consumes less than the baseline throughput and are used up when the throughput exceeds it.

  • Permitted throughput: The maximum throughput a file system can achieve, based on its size.
  • Burst credits: Earned when the file system’s usage is below its baseline; spent when the workload exceeds the baseline throughput.

This is ideal for workloads that occasionally need more throughput than what’s provided by the baseline.

Elastic Throughput Mode

With Elastic Throughput, EFS automatically scales the throughput up or down to match your workload, which is perfect for unpredictable or spikey workloads. You don’t need to provision throughput manually, making it ideal for workloads that use 5% or less of the peak throughput on average.

In this mode:

  • You are billed for the actual read/write data and metadata used.
  • Burst credits are not earned or spent.

Elastic Throughput is cost-efficient for applications with unpredictable throughput patterns, as it automatically adjusts to match demand. If your workload requires consistently high throughput, Elastic Throughput can become expensive because every read/write operation is charged. For such cases, Provisioned Throughput (with a fixed cost) may be more cost-efficient. Elastic Throughput is like using a ride-sharing service where you only pay when you need a ride, and it adapts to your schedule.

Provisioned Throughput

With Provisioned Throughput, you can set your file system’s throughput to meet specific application demands, regardless of the standard storage size.

In this mode:

  • You are billed for both storage and provisioned throughput, separately.
  • If your baseline throughput (based on storage size) exceeds the provisioned throughput, your system defaults to Bursting Throughput mode, ensuring cost-efficiency.

Provisioned Throughput is useful for applications that require high levels of consistent throughput and where you need to guarantee performance beyond the baseline. Provisioned Throughput is like renting a car—you pay upfront, ensuring capacity is always available when needed.

Throughput Mode Use Cases Billing Key Features Limitations
Elastic Throughput - average throughput requirements are low but occasionally spike to higher levels
- Workloads that require scaling without manual intervention
Charged for actual read/write data and metadata used, with no need to provision capacity. - Automatically adjusts to traffic spikes
- No burst credits needed
- No burst credits earned.
- Can be more expensive for consistent high-throughput needs
Provisioned Throughput - Applications that need consistent, high-throughput
- Workloads with known throughput requirement
Charged for both storage and the provisioned throughput separately. - Guarantees throughput performance
- Ideal for workloads that need consistent high throughput
- More expensive due to separate billing for provisioned capacity
Bursting Throughput - Workloads with intermittent or occasional high throughput needs Only charged for storage, burst credits are earned automatically when using less than the baseline throughput. - Uses burst credits for excess throughput
- No extra cost for occasional bursts
Limited by burst credits availability
- Only suitable for workloads with occasional throughput spikes
EFS Throughput modes and workload patterns

How to Determine the Right Throughput Mode

AWS CloudWatch provides key performance metrics that help determine the right throughput mode for your workload in Amazon EFS. One of the most relevant metrics to monitor is PermittedThroughput, which indicates the amount of allowed throughput for your file system.

Here’s how to use CloudWatch metrics to guide your decision:

  1. Bursting Throughput Mode:some text
    • PermittedThroughput is based on the file system’s size and available BurstCreditBalance.
    • If the BurstCreditBalance metric is consistently low or near zero, it indicates that your file system is frequently running out of burst capacity. In this case, you should consider switching to Elastic Throughput or Provisioned Throughput to meet your additional throughput needs.
  2. Elastic Throughput Mode:some text
    • PermittedThroughput reflects the maximum throughput (usually write throughput) that your file system can handle at any point.
    • You can also monitor MeteredIOBytes in conjunction with PermittedThroughput. If both metrics show equal values, your file system is consuming all available throughput. This signals that your workload is fully utilizing the elastic capabilities.
  3. Provisioned Throughput Mode: For workloads in Provisioned Throughput Mode, you can manually provision more throughput when the metrics indicate that the current provisioned throughput is insufficient.
Throughput Mode CloudWatch Metric What to Look For Recommended Action
Bursting Throughput PermittedThroughput, BurstCreditBalance If BurstCreditBalance is near zero for extended periods Consider switching to Elastic or Provisioned Throughput for more consistent performance.
Elastic Throughput PermittedThroughput, MeteredIOBytes If MeteredIOBytes equals PermittedThroughput Your workload is consuming maximum throughput; Elastic Throughput is being fully utilized.
Provisioned Throughput PermittedThroughput If workload consistently needs more than provisioned throughput Manually provision additional throughput to meet demand.

Example Use Case

Let’s consider a scenario where you have a 100 GB file system. The baseline throughput will be 5 MB/s (100 × 50 KB/s). If your application needs a consistent 6 MB/s of throughput, you will provision (6MB/s), where you’ll be charged separately for an additional 1 MB/s.

Conclusion and Recommendations

AWS EFS provides a highly scalable and flexible storage solution with various performance and cost optimization opportunities. By leveraging EFS Lifecycle Management and Intelligent Tiering, you can automatically transition data to the most cost-effective storage classes, reducing unnecessary cloud spending.

For businesses aiming to optimize cloud storage costs, implementing bursting and elastic throughput modes provides flexibility while maintaining performance.

At CloudYali, our platform enables seamless cloud cost management, helping you identify savings opportunities and optimize AWS services, including EFS, for maximum efficiency and cost reduction.

Nishant Thorat

Stay Informed

Get the latest updates, news, and exclusive offers delivered to your inbox.

By clicking Sign Up, you agree to our Terms and Conditions.
Thank you! Your submission has been received!
Oops! Something went wrong. Please try again.
FEATURED BLOGS

Discover Our Featured Blogs

Stay up to date with our informative blog posts.

Cloud FinOps

Introducing CloudYali Budget Alerts: Smart Cost Control for Your Multi-Cloud Infrastructure

CloudYali Budget Alerts makes it easy to manage cloud costs across multi-cloud infrastructures. With flexible budgets, advanced filters, and smart alerts, users can track spending in real-time across AWS and GCP. Whether you need a unified budget for multiple accounts, environment-specific budgets, or departmental cost allocation, CloudYali’s tools provide visibility and control to prevent budget overruns. Getting started is simple: set up your first budget to monitor critical expenses, then expand as needed. CloudYali Budget Alerts ensures you stay informed and in control of cloud spending, helping to eliminate waste and improve financial accountability.
Nishant Thorat
November 18, 2024
5 min read
AWS Cloud

Demystifying AWS PrivateLink and VPC Endpoint Services: Everything You Need to Know

Learn about the technical details of AWS PrivateLink and VPC Endpoint services, and how they can improve your network security and performance.
Nishant Thorat
November 15, 2024
5 min read