SlideShare a Scribd company logo
Storage for containers
shouldn’t be annoying
Karolis Rusenas
@KRusenas
https://github.com/rusenask
karolis.rusenas@storageos.com
Agile Storage. On-Demand, Anywhere, Made Easy.
What we care about
 Developer experience
 Use existing tools (create and use Docker volumes without ever interacting with StorageOS
directly (UI/CLI/API).
 Reasonable defaults - compression, encryption, replication

 Operating experience
 Run StorageOS as a container, separate image or whatever way you like, it’s just a binary! :)
 API first - UI and CLI reuses same single HTTP API, easy to automate stuff.
 Pluggable configuration backends for whatever you have in your stack - Consul, Zookeeper,
BoltDB, Etcd (easy to add custom ones).
 Security
 Perfomance
2
Challenges
‱ Persistent storage
‱ Networking
‱ Security
‱ Infrastructure
‱ Orchestration
Our targets
‱ Persistent storage
‱ Networking
‱ Security
‱ Infrastructure
‱ Orchestration
Persistent storage
Jim was almost ready to implement his first app
with persistent storage running in Docker container
How easy is it to get persistent
storage with StorageOS?
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
That’s the line
‱ sudo docker run -d --name test-redis01 -v test-dev-redis01:/data --volume-driver=storageos
redis redis-server --appendonly yes
Usual stuff
Let’s give our new friend a name
Telling Docker to use
StorageOS driver
More of the usual stuff
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
Infrastructure
Infrastructure
‱ Cloud providers such as GCE or AWS provide EBS
volumes for persistent storage.
You can always build
something on your own

On-premises infrastructure
& StorageOS
‱ Benefits of containers without moving to cloud by providing EBS volume alternative via
Docker volume plugin.
‱ Hyper-converged mode - run your workloads on the same nodes as StorageOS
controllers for maximum performance.
‱ Client mode - present virtual volumes to Docker containers, easy access to remote
volumes.
‱ QoS
‱ Compression
‱ Data deduplication
‱ E2E encryption
Agile Storage. On-Demand, Anywhere, Made Easy.
StorageOS Use Cases
15
 Stateful Containers for Databases and Fast DB
recovery
 Continuous Integration/Delivery
 Secure Cloud Mobility and Cost Reduction  Performance Acceleration and
Volume Management
API
StorageOS insides
17
Controller Node
control plane
HTTP
API
Nats
UI
(Angular)
Docker
plugin
Scheduler
Dataplane
drivers
Supervisor 5 secret binaries
Configfs
data plane
18
Controller Node
control plane
HTTP
API
Nats
UI
(Angular)
Docker
plugin
Scheduler
Dataplane
drivers
Supervisor 5 secret binaries
Configfs
Client Node
control plane
Docker
plugin
Nats
HA
Client
Supervisor
5 secret
binaries
data plane
19
controplane
High level overview
controplane controplane
dataplane dataplane dataplane
nats
Consul Consul Consul
http
client
http/nats
Docker dataplane
server
Our stack
‱ Consul/BoltDB - store configuration. BoltDB is useful
when running a single node or during
development/testing.
‱ Nats - messaging system
‱ Go - control plane is written in this awesome
language
‱ C - data plane, mostly for speed and available
libraries
Consul/BoltDB
 KV store, easy to use, backup.
 Service discovery (when using
BoltDB it’s not important since we
assume that you are running a single
node)
 Leadership election - some
components of the system should be
running only on one node so they
are all fighting for leadership (i.e.
scheduler, retry logic).
 Split brain detection
21
Leadership election.. why?
 Sometimes (and quite often) you need only one
node in your distributed system performing specific
actions, i.e. scheduling, retrying some actions..
 Most of the distributed KV stores implement locking
mechanism on keys, that could be used to elect
leaders and detect leader failures.
 Check out https://github.com/docker/leadership -
probably not enough code there to include it as a
library though.
22
23
Node 1 Node 2 Node 3 Node 4 Node 5
Leader’s
key
All nodes try to
acquire a lock on
specific key
24
Node 1
(leader)
Node 2 Node 3 Node 4 Node 5
Leader’s
key
Only one will
succeed
P.S. Don’t forget to use locks with TTL!
Nats (https://nats.io)
 Lightweight
 Server is just a goroutine in your
main process
 Instant messaging between
components
 Simple pub/sub or request/reply
syntax
 Mesh networking
25
Nats (https://nats.io) auto discovery:
https://github.com/nats-io/gnatsd/issues/126
26
Safer messaging
27
Messaging
wrapper
Dispatch
event
Persist
event in KV
store
Publish
event to
Nats
Send event:
Receive event:
Receive
event
Update
event to
“receive”
state
Do stuff
Then we can have a
process that
constantly looks for
forgotten events :)
Statik (https://github.com/rakyll/statik)
 Compile your static assets into Go
binary!
28
Suture (https://github.com/thejerf/suture)
 Erlang-ish supervisor trees for Go
 Stable
 Combined with statik and go-bindata
you can drastically simplify your
deployments
29
Using Docker’s healthcheck functionality
(added in 1.12)
 https://docs.docker.com/engine/reference/builder/#/healthcheck
 Dockerfile:
 $docker ps
30
Useful when you have
several dependencies,
like KV store.
Thanks!
@Storage_OS
We are hiring!
http://storageos.com/careers/

More Related Content

PPTX
StorageOS - 8 core principles of cloud native storage
StorageOS
 
PPTX
Open Cloud Storage @ OpenStack Summit Paris
it-novum
 
PDF
Vault 1.4 integrated storage overview
Mitchell Pronschinske
 
PPTX
Excelero overview for slideshare
Tom Leyden
 
PDF
Military Edge Computing with Vault and Consul
Mitchell Pronschinske
 
PPTX
AppOrbit DevOps NYC
Bob Sokol
 
PPT
Multi-Cloud Roadmap: Architecting Hybrid Environments for Maximum Results
RightScale
 
PDF
Developing microservices with wildfly swarm and deploying on openshift
andreas kuncoro
 
StorageOS - 8 core principles of cloud native storage
StorageOS
 
Open Cloud Storage @ OpenStack Summit Paris
it-novum
 
Vault 1.4 integrated storage overview
Mitchell Pronschinske
 
Excelero overview for slideshare
Tom Leyden
 
Military Edge Computing with Vault and Consul
Mitchell Pronschinske
 
AppOrbit DevOps NYC
Bob Sokol
 
Multi-Cloud Roadmap: Architecting Hybrid Environments for Maximum Results
RightScale
 
Developing microservices with wildfly swarm and deploying on openshift
andreas kuncoro
 

What's hot (20)

PDF
Nutanix Technology Bootcamp
ICT-Partners
 
PDF
Experiencing the hyperconverged
ICT-Partners
 
PDF
Citrix VDI on FlexPod with Microsoft Private Cloud
NetApp
 
PPTX
Microsoft Azure Stack in Tunisia
Aymen Mami
 
PDF
Speed up Digital Transformation with Openstack Cloud & Software Defined Storage
Matthew Sheppard
 
PDF
ITCamp 2018 - Thomas Maurer - Azure Stack - Everything you need to know!
ITCamp
 
PPTX
BusinesstoVirtual Nutanix Solution Provider http://tinyurl.com/b2vnutanix
BusinesstoVirtual
 
PDF
LoadBalancing_Print_Webair
Andrew Paladino
 
PDF
Why Nutanix for Enterprise Workloads
NEXTtour
 
PPTX
The Long Awaited Cloud Solution - Company Overview
PT Datacomm Diangraha
 
PDF
DataKeeper_SAN-SANLess_Clusters_Windows_Product_Brief(RaxcoBE)
Peter Vervaene
 
PPTX
Web scale IT - Nutanix
Unitiv
 
PDF
Building the ibm containers cloud service
ieeepondy
 
PDF
Presentation v cat 3.0 - architecture to implementation
solarisyourep
 
PDF
T. Anagnostopoulos, Uni Systems: Container First? Meet Quarkus. An Introducti...
Uni Systems S.M.S.A.
 
PDF
Bring Object Storage to your Nutanix Cluster with Cloudian HyperStore
NEXTtour
 
PPTX
Preparing for Multi-Cloud
Konstantin Tjuterev
 
PPTX
Nutanix Fundamentals The Enterprise Cloud Company
NEXTtour
 
PDF
Y. Tsesmelis, Uni Systems: Quarkus use cases and business value
Uni Systems S.M.S.A.
 
PDF
Nutanix and microsoft_webinar_oct_28
groberts52
 
Nutanix Technology Bootcamp
ICT-Partners
 
Experiencing the hyperconverged
ICT-Partners
 
Citrix VDI on FlexPod with Microsoft Private Cloud
NetApp
 
Microsoft Azure Stack in Tunisia
Aymen Mami
 
Speed up Digital Transformation with Openstack Cloud & Software Defined Storage
Matthew Sheppard
 
ITCamp 2018 - Thomas Maurer - Azure Stack - Everything you need to know!
ITCamp
 
BusinesstoVirtual Nutanix Solution Provider http://tinyurl.com/b2vnutanix
BusinesstoVirtual
 
LoadBalancing_Print_Webair
Andrew Paladino
 
Why Nutanix for Enterprise Workloads
NEXTtour
 
The Long Awaited Cloud Solution - Company Overview
PT Datacomm Diangraha
 
DataKeeper_SAN-SANLess_Clusters_Windows_Product_Brief(RaxcoBE)
Peter Vervaene
 
Web scale IT - Nutanix
Unitiv
 
Building the ibm containers cloud service
ieeepondy
 
Presentation v cat 3.0 - architecture to implementation
solarisyourep
 
T. Anagnostopoulos, Uni Systems: Container First? Meet Quarkus. An Introducti...
Uni Systems S.M.S.A.
 
Bring Object Storage to your Nutanix Cluster with Cloudian HyperStore
NEXTtour
 
Preparing for Multi-Cloud
Konstantin Tjuterev
 
Nutanix Fundamentals The Enterprise Cloud Company
NEXTtour
 
Y. Tsesmelis, Uni Systems: Quarkus use cases and business value
Uni Systems S.M.S.A.
 
Nutanix and microsoft_webinar_oct_28
groberts52
 
Ad

Similar to StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK (20)

PPTX
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
PPTX
Docker-Intro
Sujai Sivasamy
 
PPTX
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
PPTX
OpenStack Summit
Docker, Inc.
 
PDF
Docker handons-workshop-for-charity
Yusuf Hadiwinata Sutandar
 
PPTX
Accelerate your development with Docker
Andrey Hristov
 
PDF
Accelerate your software development with Docker
Andrey Hristov
 
PDF
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Mario Ishara Fernando
 
PDF
Containers and Nutanix - Acropolis Container Services
NEXTtour
 
PPTX
Docker - Demo on PHP Application deployment
Arun prasath
 
PDF
Journey to the devops automation with docker kubernetes and openshift
Yusuf Hadiwinata Sutandar
 
PDF
stackconf 2020 | SecDevOps containers by Jose Ortega
NETWAYS
 
PDF
SecDevOps containers
Jose Manuel Ortega Candel
 
PDF
Docker Introduction
Jeffrey Ellin
 
PDF
Docker introduction
Jo Ee Liew
 
PPTX
Docker & Daily DevOps
Satria Ady Pradana
 
PPTX
Docker and-daily-devops
Satria Ady Pradana
 
PPTX
State of the Container Ecosystem
Vinay Rao
 
PPTX
Docker - Portable Deployment
javaonfly
 
PPTX
Webinar Docker Tri Series
Newt Global Consulting LLC
 
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
Docker-Intro
Sujai Sivasamy
 
ma-formation-en-Docker-jlklk,nknkjn.pptx
imenhamada17
 
OpenStack Summit
Docker, Inc.
 
Docker handons-workshop-for-charity
Yusuf Hadiwinata Sutandar
 
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Andrey Hristov
 
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Mario Ishara Fernando
 
Containers and Nutanix - Acropolis Container Services
NEXTtour
 
Docker - Demo on PHP Application deployment
Arun prasath
 
Journey to the devops automation with docker kubernetes and openshift
Yusuf Hadiwinata Sutandar
 
stackconf 2020 | SecDevOps containers by Jose Ortega
NETWAYS
 
SecDevOps containers
Jose Manuel Ortega Candel
 
Docker Introduction
Jeffrey Ellin
 
Docker introduction
Jo Ee Liew
 
Docker & Daily DevOps
Satria Ady Pradana
 
Docker and-daily-devops
Satria Ady Pradana
 
State of the Container Ecosystem
Vinay Rao
 
Docker - Portable Deployment
javaonfly
 
Webinar Docker Tri Series
Newt Global Consulting LLC
 
Ad

Recently uploaded (20)

PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
Doc9.....................................
SofiaCollazos
 
PPT
Coupa-Kickoff-Meeting-Template presentai
annapureddyn
 
PDF
Software Development Company | KodekX
KodekX
 
PPTX
Comunidade Salesforce SĂŁo Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira JĂșnior
 
PPTX
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
Doc9.....................................
SofiaCollazos
 
Coupa-Kickoff-Meeting-Template presentai
annapureddyn
 
Software Development Company | KodekX
KodekX
 
Comunidade Salesforce SĂŁo Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira JĂșnior
 
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
Software Development Methodologies in 2025
KodekX
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 

StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK