The number and types of workloads with stateful data that can be run in containers is expanding, resulting in a growing need for persistent storage. But up until now persistent storage models for containers have required a lot of manual and inconsistent intervention due to relatively immature implementations. There are a handful of storage drivers and plug-ins available today that enable Docker-driven provisioning and management of persistent data volumes.
In this session and demo you will learn how to to:
- Deploy persistent storage for databases, CI/CD, big data, & many other workloads
- Provision storage on demand
- Provide highly available data for containers from multiple hosts using NAS or SAN
5. Always try to be stateless, but …
• It’s not a stateless world
• Databases are important
• Sometimes you just can’t be stateless
Persistent Data
6. Don’t go crazy, these aren’t VM’s
• We still want micro-services
• We still want ephemeral services
• BUT we tend to *do things* with data
Persistent Data
7. Choose wisely
• We still want/need to be elastic
• Portability matters
• Automation
• Scale
• Simplicity matters
Persistent Data
9. There will be a quiz!
• External storage is often automatically backed
up and can do more advanced stuff too
Storage Types
Persist
beyond
the
container
Share
across
containers
on the same
host
Available to
containers
on other
hosts
Dynamical
ly
provisione
d
Survive
s host
outages
Ephemeral
Host X X
External (Mount) X X X X
External (Plugin) X X X X X
13. Expose more advanced storage concepts
but in an app-friendly way
• Snapshots
• Clones
• Replication
• …
Extending Docker Engine
14. Storage needs to be scheduled too
• Match capabilities to app requirements
• … over the entire lifecycle!
• Host and network affinity
• … all coordinated with container
scheduling!
Extending into Orchestrators