Virtuozzo Persistent
Storage for Docker
Andre Moruga
Director of Program Management,
Virtuozzo
@VirtuozzoInc
Docker and
persistent storage
• Why go persistent
from test to
production?
• Available options
Agenda
State-of-the-art and
future development
• Developing for Docker
• Storage in Kubernetes
Virtuozzo Storage
for Docker
• Solution overview
and benefits
• Performance
Persistent Storage in Docker:
Why and How?
Persistent Storage in Docker
• “Cattle” vs “Pets”
• Persistent data for “Cattle”
containers
• Storing persistent data in
Docker
Copyright © 2016 Virtuozzo. All Rights Reserved. 4
5Copyright ©2016 Virtuozzo. All Right Reserved.
What You Need to Know About Docker Volume
Docker Volume:a directory with persistent
data in an ephemeralcontainer
• Long lived
• Attachesto a container on start
• Can be initialized with initial content
And why you should care
/
/etc
Container
Volume
/bin
/usr
/var
/data
6Copyright ©2016 Virtuozzo. All Right Reserved.
Docker Volumes in Production
Native Docker volumes:
• Coupled with physical servers
• Hard to manage
• Mostly for testing and
development
• Better options are available via
plugin extensions
Basics won’t do the job
Docker Volume Plugins 101
Docker Volume plugin:
externally stored and managed Docker volumes
• Available since Docker 1.8
• Simple to leverage
• Simple to implement
• Many plugins are available
Copyright © 2016 Virtuozzo. All Rights Reserved. 7
8Copyright ©2016 Virtuozzo. All Right Reserved.
Developing Docker Volume Plugin
Things change rapidly
• Changes ofAPIs/semantics during Q1 of 2016
• From 9 plugins in January to 18 in June of 2016
Room for improvement
• “Globally available” volumes are not (yet) recognized by Swarm
• Very little storage management exposed via Docker, Swarm or UCP
(no resize, snapshot, clone, QoS)
• No way to define volume availability boundaries in Compose
Our experience
Persistent Storage in Kubernetes
Kubernetes storage driver implementation
• Unique plugin system
• Shares pod’s lifetime
• About a dozen of plugins available
• Standard storages supported
• Native Virtuozzo storage/Kubernetes plugin is in
development
Copyright © 2016 Virtuozzo. All Rights Reserved. 9
10Copyright ©2016 Virtuozzo. All Right Reserved.
Virtuozzo Storage for Docker
• Originally built for system
containers
• Software-defined storage
• Combines compute and storage
• Focus on multi-tenant
performance
• Scalable to hundreds
of nodes and PBs of data
The prefect match
11Copyright ©2016 Virtuozzo. All Right Reserved.
Features and Benefits
Features
• Redundant and highly available
• SSD cache
• Hot/Cold data tiered
• Flexible redundancy
• Auto-balancing
Benefits
• Works on commodity hardware
• Converged platform: increase both storage and compute
capacity simultaneously
• Block, File, Object (S3) storage
• Put idle drives at work
• Fast replication/self-healing times
of Virtuozzo Storage
Virtuozzo Storage Performance
Optimized for a multi-tenant,
multi-user environment
• Great performance for random IO
• Up to 15x faster than alternatives
• Scales linearly as clusters grows
• Automatically (re)-balances data
Copyright © 2016 Virtuozzo. All Rights Reserved. 12
• Visit Virtuozzo at booth S28
• Download Virtuozzo Storage for Docker at
https://virtuozzo.com/docker-storage/
• Check out our performance comparison
https://goo.gl/IozPSW
• Developer? Our Docker Volume plugin is at
https://github.com/virtuozzo/docker-volume-ploop
Sound interesting?
Thank you.
Virtuozzo Booth S28

Persistent Data Storage for Docker Containers by Andre Moruga

  • 1.
    Virtuozzo Persistent Storage forDocker Andre Moruga Director of Program Management, Virtuozzo @VirtuozzoInc
  • 2.
    Docker and persistent storage •Why go persistent from test to production? • Available options Agenda State-of-the-art and future development • Developing for Docker • Storage in Kubernetes Virtuozzo Storage for Docker • Solution overview and benefits • Performance
  • 3.
    Persistent Storage inDocker: Why and How?
  • 4.
    Persistent Storage inDocker • “Cattle” vs “Pets” • Persistent data for “Cattle” containers • Storing persistent data in Docker Copyright © 2016 Virtuozzo. All Rights Reserved. 4
  • 5.
    5Copyright ©2016 Virtuozzo.All Right Reserved. What You Need to Know About Docker Volume Docker Volume:a directory with persistent data in an ephemeralcontainer • Long lived • Attachesto a container on start • Can be initialized with initial content And why you should care / /etc Container Volume /bin /usr /var /data
  • 6.
    6Copyright ©2016 Virtuozzo.All Right Reserved. Docker Volumes in Production Native Docker volumes: • Coupled with physical servers • Hard to manage • Mostly for testing and development • Better options are available via plugin extensions Basics won’t do the job
  • 7.
    Docker Volume Plugins101 Docker Volume plugin: externally stored and managed Docker volumes • Available since Docker 1.8 • Simple to leverage • Simple to implement • Many plugins are available Copyright © 2016 Virtuozzo. All Rights Reserved. 7
  • 8.
    8Copyright ©2016 Virtuozzo.All Right Reserved. Developing Docker Volume Plugin Things change rapidly • Changes ofAPIs/semantics during Q1 of 2016 • From 9 plugins in January to 18 in June of 2016 Room for improvement • “Globally available” volumes are not (yet) recognized by Swarm • Very little storage management exposed via Docker, Swarm or UCP (no resize, snapshot, clone, QoS) • No way to define volume availability boundaries in Compose Our experience
  • 9.
    Persistent Storage inKubernetes Kubernetes storage driver implementation • Unique plugin system • Shares pod’s lifetime • About a dozen of plugins available • Standard storages supported • Native Virtuozzo storage/Kubernetes plugin is in development Copyright © 2016 Virtuozzo. All Rights Reserved. 9
  • 10.
    10Copyright ©2016 Virtuozzo.All Right Reserved. Virtuozzo Storage for Docker • Originally built for system containers • Software-defined storage • Combines compute and storage • Focus on multi-tenant performance • Scalable to hundreds of nodes and PBs of data The prefect match
  • 11.
    11Copyright ©2016 Virtuozzo.All Right Reserved. Features and Benefits Features • Redundant and highly available • SSD cache • Hot/Cold data tiered • Flexible redundancy • Auto-balancing Benefits • Works on commodity hardware • Converged platform: increase both storage and compute capacity simultaneously • Block, File, Object (S3) storage • Put idle drives at work • Fast replication/self-healing times of Virtuozzo Storage
  • 12.
    Virtuozzo Storage Performance Optimizedfor a multi-tenant, multi-user environment • Great performance for random IO • Up to 15x faster than alternatives • Scales linearly as clusters grows • Automatically (re)-balances data Copyright © 2016 Virtuozzo. All Rights Reserved. 12
  • 13.
    • Visit Virtuozzoat booth S28 • Download Virtuozzo Storage for Docker at https://virtuozzo.com/docker-storage/ • Check out our performance comparison https://goo.gl/IozPSW • Developer? Our Docker Volume plugin is at https://github.com/virtuozzo/docker-volume-ploop Sound interesting?
  • 14.