Persistent File Storage for Modern Applications

Why is persistent file storage important for modern application development?

Development teams are modernizing their applications by adopting containers, serverless, and microservices-based architectures. Because containers are transient in nature, long-running applications can benefit from keeping state in durable storage. Distributed applications like machine learning training, and web serving, benefit from a shared storage layer. Amazon Elastic File System (Amazon EFS)  is a simple, serverless, set-and-forget, cloud native file system, enabling you to build modern applications, persist and share data from your AWS containers and serverless applications, with zero management required.

Modernizing Serverless Applications with AWS Lambda and Amazon EFS (1:47)

Data persistence for your serverless applications

Serverless computing enables you to be more agile while spending less time dealing with the security, scalability and availability of your applications. At the same time, modern data-intensive applications require fast access to large volumes of shared data. AWS Lambda lets you run large-scale, and mission-critical serverless applications. Amazon EFS provides highly available and durable serverless storage for those applications, and simplifies the sharing of data that needs to persist beyond and between executions of Lambda functions and AWS Fargate tasks. This powerful combination is ideal for building machine learning applications, loading large models, libraries, and other reference data, processing and backing up large amounts of data, hosting web content, and developing internal build systems.

Amazon EFS: Secure data persistence with Amazon ECS and AWS Fargate (14:11)

Benefits

Simple

Amazon EFS attachments are configured in the application metadata, such as the Amazon Elastic Container Service (Amazon ECS) task definition or the Kubernetes persistent volume, including connectivity, so developers can focus on their applications, not infrastructure.

Elastic

Amazon ECS, Amazon Elastic Kubernetes Service (Amazon EKS), AWS Fargate, and Amazon EFS are fully elastic, scale up and down rapidly based on demand. 

Available and Durable

Amazon ECS, Amazon EKS, AWS Fargate, AWS Lambda, and Amazon EFS are regional services. You can build applications that span multiple availability zones, with automatic failover. 

Secure

AWS provides a secure cloud computing environment. Access to Amazon EFS can be controlled based on the IAM role of the Amazon ECS task.

Cost-optimized

Pay only for the storage and compute you use. Amazon EFS scales on demand from zero to petabytes with no disruptions, growing and shrinking automatically as you add and remove files, and Amazon ECS, Amazon EKS, and AWS Fargate Cluster Auto Scaling enables capacity to grow and shrink to meet demand.

How it works

Use Cases

Web serving and content management

Web serving and content management systems require shared data access across multiple containerized application instances, data persistence, and data durability. Examples include applications like WordPress and Drupal, that benefit from scaling out to multiple instances for performance and redundancy, and need to share uploads, plugins, and templates.

Stateful microservices

A stateful microservice is part of a loosely coupled application that needs to remember some things about its state each time it runs, as in the way a weather application remembers your home city. For these modern applications, Amazon EFS is a data foundation, operating in concert with containers and serverless technologies to reliably and consistently deploy to AWS, allowing data to persist application state.

ML and AI

Containers are a way to deploy machine learning (ML) training jobs, inference endpoints, and tools that run consistently in multiple environments. Using containers can solve problems such as consistency, portability, and dependency management that complicate matters for data scientists and developers whose focus should really be on their code, datasets, and training models, not on infrastructure. ML tools like Amazon SageMaker Notebooks, as well as open source tools like Jupyter use Amazon EFS to manage data scientist home directories. Amazon FSx for Lustre can be used for your most compute-intensive ML training jobs where the highest throughput is required.

Case Studies

T-Mobile Improves Customer Experience, Lowers Costs of Kubernetes Storage Using Amazon EFS

caltech_logo.png

Caltech Uses Amazon EFS to Automate Academic Computing File Management 

Discover Financial Services Creates Environments Where Data Scientists Can Collaborate Using Amazon EFS 

Faculty Uses Amazon EFS to Scale Innovative Machine-Learning Platform
 

Blog posts

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deploy Stateful Docker Containers with Amazon ECS and Amazon EFS
 

Resources

AWS re:Invent 2020: Modernize your applications with AWS Lambda and Amazon EFS
Run Stateful Container Workloads on ECS -OR- EKS using Amazon EFS!
AWS re:Invent 2020: Modernize your applications with containers using Amazon EFS
AWS Cloud Containers Conference - Persistent Storage on Containers
AWS Container Day - Persistent File Storage for Amazon EKS with Amazon EFS

Ready to get started?

Learn more about Amazon S3
Developers guide to using Amazon EFS with Amazon ECS and AWS Fargate – Part 1
Sign up for an AWS account
Using Amazon EFS for AWS Lambda in your serverless applications
Read data lakes deployment guide
Reinvent how your business delivers value with modern application development