Amazon Web Services (AWS) bolstered its Elastic Container Service (ECS) and Fargate services by providing access to its Elastic File System (EFS) platform that extends persistent data storage to containers running in the AWS ecosystem.
The support allows containers running in ECS and Fargate to use EFS as a data storage medium. Martin Beeby, an AWS principal advocate, explained in a blog post that this allows those containers to now back data-persistent applications such as content management systems, internal DevOps tools, and machine learning (ML) frameworks.
ECS customers could previously access EFS-based data if their containers were also running on a cluster of AWS Elastic Compute Cloud (EC2) instances. That capability is now expanded for ECS and migrated to AWS’ Fargate container deployment service.
Deepak Singh, VP of containers, Linux, and networking at AWS, explained in an email that for containers running in a Kubernetes environment like AWS' Elastic Kubernetes Service (EKS) it offers persistent storage with AWS EC2 worker nodes using Container Storage Interface (CSI) drivers.
Beeby in his blog post also said he was working on a “little side project” that would provide persistent storage in combination with serverless containers. This model typically uses the Kubernetes container orchestration platform to provide more control over running serverless applications in a containerized environment. AWS has its Elastic Kubernetes Service (EKS) as an orchestration layer for this model and has targeted Fargate as a serverless compute engine for containers.
"This allows developers to pay for only what they use and not have to manage compute and storage primitives since AWS Fargate hides the details of compute infrastructure and Amazon EFS hides the details of storage infrastructure," Singh explained of the serverless angle.
Container StorageAWS offers a handful of storage options – and acronyms.
EFS provides a scalable storage platform that is optimized to work with its EC2 service and can provide data to multiple instances. It can also be accessed across multiple availability zones and is targeted at high availability
Its Elastic Block Storage (EBS) only allows access from a single EC2 instance in a user’s particular available zone. AWS also offers its more robust and secure Simple Storage Service (S3) that can support more diverse use cases.
Containers were initially viewed as a perfect match for stateless applications that did not require stored data to operate or support a running application. These were typically web services that acted as a go-between for any storage needs. Any actual storage within a stateless container was ephemeral, and thus a restart flushed out stored data.
A number of vendors and projects have been developed that allow for containers to tap into a central data repository so that they can support stateful applications. The Cloud Native Computing Foundation (CNCF) lists 42 vendors and projects that support runtime cloud native storage.
UPDATED: This story has been updated to further clarify the difference between AWS' EFS and EBS storage systems.
Comments