1

I have just moved companies and I am building a new docker swarm on aws. In my last organisation everything was on premises.

I am trying to understand my options for persistent volumes, and see that rexray now offer docker certified plugins for all three storage systems.

I have been trying to look into my options, but a lot of the articles I am reading are 2 year old, which is a lifetime in the docker world.

I understand that to some extent it depends what I am storing, and that depends on the container. Usually it is either config files for the service or a database such as postgres or Mongo.

A few years ago everyone was talking about backing docker with S3, but I am concerned about storing databases there as it seems rather extreme to update the entire object if a record changes.

the old plugin documentation used to say that docker could use "any network attached block storage device", and back then I used flocker with ceph. I have found a few articles (from 2017) talking about performance and high availability going out of the window with EBS?

EFS I know nothing about, but presume it is a file system on top of EBS? and thus prone to the same issues.

Can anyone give me more up to date advice?

thank you

rvs
  • 4,125
  • 1
  • 27
  • 31
Mark Jones
  • 115
  • 6

1 Answers1

3

This really depends on your use case and cost tolerance.


S3

  • Cheapest option of the three
  • Can be shared with a multiple hosts
  • Redundant
  • Highest latency of the three
  • Elastic

EBS

  • Lowest latency of the three
  • Lower cost than EFS, but higher than S3
  • Redundant
  • Cannot be shared with multiple EC2 instances at the same time
  • Elastic, but you have to resize the EBS volume and then the file system

EFS

  • NFS as a service
  • Can be shared with multiple hosts
  • Elastic
  • Redundant
  • Lower latency than S3
  • Highest cost of the three
tacotuesday
  • 1,389
  • 1
  • 16
  • 27