SlideShare a Scribd company logo
1 of 43
Download to read offline
Persistent storage tailored for containers
Quentin “mefyl” Hocquet
mefyl@infinit.sh
CTO @ Infinit
Version 1.2-26-gbcb3c69
Plan
Containers and persistent storage
Infinit storage platform
Dive-in
Demo
Q&A
Containers and persistent storage
Containers are fast, scalable and flexible.
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
• Fast and easy to scale.
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
• Fast and easy to scale.
• Unified from development to production.
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
• Fast and easy to scale.
• Unified from development to production.
• Yet customizable for every situation.
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
• Fast and easy to scale.
• Unified from development to production.
• Yet customizable for every situation.
However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers.
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
• Fast and easy to scale.
• Unified from development to production.
• Yet customizable for every situation.
However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers.
• It should be created and started as easily as a container.
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
• Fast and easy to scale.
• Unified from development to production.
• Yet customizable for every situation.
However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers.
• It should be created and started as easily as a container.
• It should be able to scale with your container pool.
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
• Fast and easy to scale.
• Unified from development to production.
• Yet customizable for every situation.
However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers.
• It should be created and started as easily as a container.
• It should be able to scale with your container pool.
• It should work the same way for development, tests, production, …
Containers and persistent storage
Containers are fast, scalable and flexible.
• Fast and easy to start and stop.
• Fast and easy to scale.
• Unified from development to production.
• Yet customizable for every situation.
However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers.
• It should be created and started as easily as a container.
• It should be able to scale with your container pool.
• It should work the same way for development, tests, production, …
• It should adapt to all situations.
Infinit storage platform
Infinit is a storage platform designed with containers in mind providing several APIs: POSIX filesystem, object,
block. It aggregates local nodes storage into a single virtual pool.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
• No node is a point of failure, no bottleneck.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
• No node is a point of failure, no bottleneck.
• Nodes can come and go: scaling in and out is easy, both capacity and throughput.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
• No node is a point of failure, no bottleneck.
• Nodes can come and go: scaling in and out is easy, both capacity and throughput.
• Uniform API from development to production.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
• No node is a point of failure, no bottleneck.
• Nodes can come and go: scaling in and out is easy, both capacity and throughput.
• Uniform API from development to production.
• Customizable for every setup.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
• No node is a point of failure, no bottleneck.
• Nodes can come and go: scaling in and out is easy, both capacity and throughput.
• Uniform API from development to production.
• Customizable for every setup.
Thus, Infinit:
• Can be created and run as seamlessly as a container.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
• No node is a point of failure, no bottleneck.
• Nodes can come and go: scaling in and out is easy, both capacity and throughput.
• Uniform API from development to production.
• Customizable for every setup.
Thus, Infinit:
• Can be created and run as seamlessly as a container.
• Can scale with you container pool.
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
• No node is a point of failure, no bottleneck.
• Nodes can come and go: scaling in and out is easy, both capacity and throughput.
• Uniform API from development to production.
• Customizable for every setup.
Thus, Infinit:
• Can be created and run as seamlessly as a container.
• Can scale with you container pool.
• Is the same in all situations: development, unit tests, production …
Infinit storage platform
The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
• Works the same with 1 or 10k nodes.
• No node is a point of failure, no bottleneck.
• Nodes can come and go: scaling in and out is easy, both capacity and throughput.
• Uniform API from development to production.
• Customizable for every setup.
Thus, Infinit:
• Can be created and run as seamlessly as a container.
• Can scale with you container pool.
• Is the same in all situations: development, unit tests, production …
• Can be configured for each situation: encryption, redundancy, compression, …
How to achieve this
Infinit fundamental principles:
How to achieve this
Infinit fundamental principles:
• Federate all nodes in an overlay network for lookup and routing.
How to achieve this
Infinit fundamental principles:
• Federate all nodes in an overlay network for lookup and routing.
• Store data as blocks in a distributed hashtable (key-value store) with a per-block consensus.
How to achieve this
Infinit fundamental principles:
• Federate all nodes in an overlay network for lookup and routing.
• Store data as blocks in a distributed hashtable (key-value store) with a per-block consensus.
• Use cryptographic access control to dispense from any leader.
How to achieve this
Infinit fundamental principles:
• Federate all nodes in an overlay network for lookup and routing.
• Store data as blocks in a distributed hashtable (key-value store) with a per-block consensus.
• Use cryptographic access control to dispense from any leader.
• Use symmetrical operations to ensure resilience and flexibility.
Dive-in: DHT blocks
Because we are symetric and use cryptographic access control, all blocks must be self-certified and ciphered.
Dive-in: DHT blocks
Because we are symetric and use cryptographic access control, all blocks must be self-certified and ciphered.
• Mutable blocks
◦ Subject to conflicts.
◦ Subject to invalidation.
◦ Hard to certify and cipher.
Dive-in: DHT blocks
Because we are symetric and use cryptographic access control, all blocks must be self-certified and ciphered.
• Mutable blocks
◦ Subject to conflicts.
◦ Subject to invalidation.
◦ Hard to certify and cipher.
• Immutable blocks
◦ No conflicts.
◦ No invalidation: cachable forever.
◦ Easy to certify since content addressable: address = hash(contents).
Dive-in: DHT blocks
Because we are symetric and use cryptographic access control, all blocks must be self-certified and ciphered.
• Mutable blocks
◦ Subject to conflicts.
◦ Subject to invalidation.
◦ Hard to certify and cipher.
• Immutable blocks
◦ No conflicts.
◦ No invalidation: cachable forever.
◦ Easy to certify since content addressable: address = hash(contents).
Immutable block are fetchable from any source with permanent on-disk LRU cache.
A file is mostly a mutable block with
metadata and a FAT of immutable
block.
Dive-in: filesystem layer
A file is mostly a mutable block with
metadata and a FAT of immutable
block.
Dive-in: filesystem layer
File contents is cachable at will, cheap
and atomic writes.
Dive-in: filesystem layer
The POSIX API is inherently sequential. We are highly parallel.
Dive-in: filesystem layer
Directories prefetching and files look-ahead enables batching and pipelining.
Dive-in: consensus
Each block is managed by a specific quorum of node with a variable composition, running multipaxos.
Dive-in: consensus
Each block is managed by a specific quorum of node with a variable composition, running multipaxos.
No failure point or bottleneck, strong read after write consistency.
Dive-in: overlay
The overlay layer is one major customization point of the platform.
Dive-in: overlay
The overlay layer is one major customization point of the platform.
Algorithm choice:
• Several thousands machines: kelips, kademlia, chord.
• Few hundreds machines and dozen of terabytes: global knowledge.
Dive-in: overlay
The overlay layer is one major customization point of the platform.
Algorithm choice:
• Several thousands machines: kelips, kademlia, chord.
• Few hundreds machines and dozen of terabytes: global knowledge.
Data placement: rack-aware, zone-aware, reliability-aware, ensure local copies, ...
Demo!
Let's persist that storage!

More Related Content

What's hot

Introduction to containers running dockers using kubernetes - הרצאה לכנס מיק...
Introduction to containers  running dockers using kubernetes - הרצאה לכנס מיק...Introduction to containers  running dockers using kubernetes - הרצאה לכנס מיק...
Introduction to containers running dockers using kubernetes - הרצאה לכנס מיק...
Zohar Stolar
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
dotCloud
 

What's hot (20)

Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
 
DockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben Golub
 
Docker Networking in Production at Visa - Sasi Kannappan, Visa and Mark Churc...
Docker Networking in Production at Visa - Sasi Kannappan, Visa and Mark Churc...Docker Networking in Production at Visa - Sasi Kannappan, Visa and Mark Churc...
Docker Networking in Production at Visa - Sasi Kannappan, Visa and Mark Churc...
 
Introduction to containers running dockers using kubernetes - הרצאה לכנס מיק...
Introduction to containers  running dockers using kubernetes - הרצאה לכנס מיק...Introduction to containers  running dockers using kubernetes - הרצאה לכנס מיק...
Introduction to containers running dockers using kubernetes - הרצאה לכנס מיק...
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
Microservices using relocatable Docker containers
Microservices using relocatable Docker containersMicroservices using relocatable Docker containers
Microservices using relocatable Docker containers
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
 
2016 10-26 docker meetup - kubernetes on open stack
2016 10-26 docker meetup - kubernetes on open stack2016 10-26 docker meetup - kubernetes on open stack
2016 10-26 docker meetup - kubernetes on open stack
 
Jelastic - Containers Live Migration Behind the Scene
Jelastic - Containers Live Migration Behind the SceneJelastic - Containers Live Migration Behind the Scene
Jelastic - Containers Live Migration Behind the Scene
 
Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2
 
11thDockerMeetupSwitzerland
11thDockerMeetupSwitzerland11thDockerMeetupSwitzerland
11thDockerMeetupSwitzerland
 
Intro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conferenceIntro to Docker at the 2016 Evans Developer relations conference
Intro to Docker at the 2016 Evans Developer relations conference
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
Immutable Awesomeness by John Willis and Josh Corman
Immutable Awesomeness by John Willis and Josh CormanImmutable Awesomeness by John Willis and Josh Corman
Immutable Awesomeness by John Willis and Josh Corman
 

Viewers also liked

Viewers also liked (20)

containerd and CRI
containerd and CRIcontainerd and CRI
containerd and CRI
 
Prometheus design and philosophy
Prometheus design and philosophy   Prometheus design and philosophy
Prometheus design and philosophy
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data plane
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
 
Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EE
 
Driving containerd operations with gRPC
Driving containerd operations with gRPCDriving containerd operations with gRPC
Driving containerd operations with gRPC
 
Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0 Online Meetup: What's new in docker 1.13.0
Online Meetup: What's new in docker 1.13.0
 
Containerd - core container runtime component
Containerd - core container runtime component Containerd - core container runtime component
Containerd - core container runtime component
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
containerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerdcontainerd summit - Deep Dive into containerd
containerd summit - Deep Dive into containerd
 
Talking TUF: Securing Software Distribution
Talking TUF: Securing Software DistributionTalking TUF: Securing Software Distribution
Talking TUF: Securing Software Distribution
 
Orchestrating Least Privilege by Diogo Monica
Orchestrating Least Privilege by Diogo Monica Orchestrating Least Privilege by Diogo Monica
Orchestrating Least Privilege by Diogo Monica
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container Environments
 
Docker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&A
 
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 
'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Cilium - BPF & XDP for containers
 Cilium - BPF & XDP for containers Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containers
 
Heart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object ModelHeart of the SwarmKit: Store, Topology & Object Model
Heart of the SwarmKit: Store, Topology & Object Model
 

Similar to Persistent storage tailored for containers

Message:Passing - lpw 2012
Message:Passing - lpw 2012Message:Passing - lpw 2012
Message:Passing - lpw 2012
Tomas Doran
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
Zivtech, LLC
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)
Tomas Doran
 

Similar to Persistent storage tailored for containers (20)

Persistent storage tailored for containers #dockersummit
Persistent storage tailored for containers #dockersummitPersistent storage tailored for containers #dockersummit
Persistent storage tailored for containers #dockersummit
 
Integration
IntegrationIntegration
Integration
 
Message:Passing - lpw 2012
Message:Passing - lpw 2012Message:Passing - lpw 2012
Message:Passing - lpw 2012
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
Docker volume plugins and Infinit – Mini-conf Docker Paris #1
Docker volume plugins and Infinit – Mini-conf Docker Paris #1Docker volume plugins and Infinit – Mini-conf Docker Paris #1
Docker volume plugins and Infinit – Mini-conf Docker Paris #1
 
Why puppet? Why now?
Why puppet? Why now?Why puppet? Why now?
Why puppet? Why now?
 
The Highs and Lows of Stateful Containers
The Highs and Lows of Stateful ContainersThe Highs and Lows of Stateful Containers
The Highs and Lows of Stateful Containers
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)
 
Locks, Blocks, and Snapshots: Maximizing Database Concurrency (PASSDC User Gr...
Locks, Blocks, and Snapshots: Maximizing Database Concurrency (PASSDC User Gr...Locks, Blocks, and Snapshots: Maximizing Database Concurrency (PASSDC User Gr...
Locks, Blocks, and Snapshots: Maximizing Database Concurrency (PASSDC User Gr...
 
Locks, Blocks, and Snapshots: Maximizing Database Concurrency (New England SQ...
Locks, Blocks, and Snapshots: Maximizing Database Concurrency (New England SQ...Locks, Blocks, and Snapshots: Maximizing Database Concurrency (New England SQ...
Locks, Blocks, and Snapshots: Maximizing Database Concurrency (New England SQ...
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
 
What is Reactive programming?
What is Reactive programming?What is Reactive programming?
What is Reactive programming?
 
Design for Scale / Surge 2010
Design for Scale / Surge 2010Design for Scale / Surge 2010
Design for Scale / Surge 2010
 
kafka simplicity and complexity
kafka simplicity and complexitykafka simplicity and complexity
kafka simplicity and complexity
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
 
Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as Code
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's Architecture
 

More from Docker, Inc.

Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
Docker, Inc.
 

More from Docker, Inc. (20)

Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
 
How to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker BuildHow to Improve Your Image Builds Using Advance Docker Build
How to Improve Your Image Builds Using Advance Docker Build
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINX
 
How To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and ComposeHow To Build and Run Node Apps with Docker and Compose
How To Build and Run Node Apps with Docker and Compose
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 
Distributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at SalesforceDistributed Deep Learning with Docker at Salesforce
Distributed Deep Learning with Docker at Salesforce
 
The First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker HubThe First 10M Pulls: Building The Official Curl Image for Docker Hub
The First 10M Pulls: Building The Official Curl Image for Docker Hub
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices World
 
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
COVID-19 in Italy: How Docker is Helping the Biggest Italian IT Company Conti...
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with Docker
 
Become a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio CodeBecome a Docker Power User With Microsoft Visual Studio Code
Become a Docker Power User With Microsoft Visual Studio Code
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels
 
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment ModelUsing Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
Using Docker Hub at Scale to Support Micro Focus' Delivery and Deployment Model
 
Build & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWSBuild & Deploy Multi-Container Applications to AWS
Build & Deploy Multi-Container Applications to AWS
 
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
From Fortran on the Desktop to Kubernetes in the Cloud: A Windows Migration S...
 
Developing with Docker for the Arm Architecture
Developing with Docker for the Arm ArchitectureDeveloping with Docker for the Arm Architecture
Developing with Docker for the Arm Architecture
 

Recently uploaded

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Persistent storage tailored for containers

  • 1. Persistent storage tailored for containers Quentin “mefyl” Hocquet mefyl@infinit.sh CTO @ Infinit Version 1.2-26-gbcb3c69
  • 2. Plan Containers and persistent storage Infinit storage platform Dive-in Demo Q&A
  • 3. Containers and persistent storage Containers are fast, scalable and flexible.
  • 4. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop.
  • 5. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop. • Fast and easy to scale.
  • 6. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop. • Fast and easy to scale. • Unified from development to production.
  • 7. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop. • Fast and easy to scale. • Unified from development to production. • Yet customizable for every situation.
  • 8. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop. • Fast and easy to scale. • Unified from development to production. • Yet customizable for every situation. However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers.
  • 9. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop. • Fast and easy to scale. • Unified from development to production. • Yet customizable for every situation. However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers. • It should be created and started as easily as a container.
  • 10. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop. • Fast and easy to scale. • Unified from development to production. • Yet customizable for every situation. However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers. • It should be created and started as easily as a container. • It should be able to scale with your container pool.
  • 11. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop. • Fast and easy to scale. • Unified from development to production. • Yet customizable for every situation. However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers. • It should be created and started as easily as a container. • It should be able to scale with your container pool. • It should work the same way for development, tests, production, …
  • 12. Containers and persistent storage Containers are fast, scalable and flexible. • Fast and easy to start and stop. • Fast and easy to scale. • Unified from development to production. • Yet customizable for every situation. However containers tend to be stateless, which can be quite limiting. We need persistent storage for containers. • It should be created and started as easily as a container. • It should be able to scale with your container pool. • It should work the same way for development, tests, production, … • It should adapt to all situations.
  • 13. Infinit storage platform Infinit is a storage platform designed with containers in mind providing several APIs: POSIX filesystem, object, block. It aggregates local nodes storage into a single virtual pool.
  • 14. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal.
  • 15. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes.
  • 16. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes. • No node is a point of failure, no bottleneck.
  • 17. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes. • No node is a point of failure, no bottleneck. • Nodes can come and go: scaling in and out is easy, both capacity and throughput.
  • 18. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes. • No node is a point of failure, no bottleneck. • Nodes can come and go: scaling in and out is easy, both capacity and throughput. • Uniform API from development to production.
  • 19. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes. • No node is a point of failure, no bottleneck. • Nodes can come and go: scaling in and out is easy, both capacity and throughput. • Uniform API from development to production. • Customizable for every setup.
  • 20. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes. • No node is a point of failure, no bottleneck. • Nodes can come and go: scaling in and out is easy, both capacity and throughput. • Uniform API from development to production. • Customizable for every setup. Thus, Infinit: • Can be created and run as seamlessly as a container.
  • 21. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes. • No node is a point of failure, no bottleneck. • Nodes can come and go: scaling in and out is easy, both capacity and throughput. • Uniform API from development to production. • Customizable for every setup. Thus, Infinit: • Can be created and run as seamlessly as a container. • Can scale with you container pool.
  • 22. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes. • No node is a point of failure, no bottleneck. • Nodes can come and go: scaling in and out is easy, both capacity and throughput. • Uniform API from development to production. • Customizable for every setup. Thus, Infinit: • Can be created and run as seamlessly as a container. • Can scale with you container pool. • Is the same in all situations: development, unit tests, production …
  • 23. Infinit storage platform The Infinit platform is truly distributed. There are no leader or followers, all nodes are equal. • Works the same with 1 or 10k nodes. • No node is a point of failure, no bottleneck. • Nodes can come and go: scaling in and out is easy, both capacity and throughput. • Uniform API from development to production. • Customizable for every setup. Thus, Infinit: • Can be created and run as seamlessly as a container. • Can scale with you container pool. • Is the same in all situations: development, unit tests, production … • Can be configured for each situation: encryption, redundancy, compression, …
  • 24. How to achieve this Infinit fundamental principles:
  • 25. How to achieve this Infinit fundamental principles: • Federate all nodes in an overlay network for lookup and routing.
  • 26. How to achieve this Infinit fundamental principles: • Federate all nodes in an overlay network for lookup and routing. • Store data as blocks in a distributed hashtable (key-value store) with a per-block consensus.
  • 27. How to achieve this Infinit fundamental principles: • Federate all nodes in an overlay network for lookup and routing. • Store data as blocks in a distributed hashtable (key-value store) with a per-block consensus. • Use cryptographic access control to dispense from any leader.
  • 28. How to achieve this Infinit fundamental principles: • Federate all nodes in an overlay network for lookup and routing. • Store data as blocks in a distributed hashtable (key-value store) with a per-block consensus. • Use cryptographic access control to dispense from any leader. • Use symmetrical operations to ensure resilience and flexibility.
  • 29.
  • 30. Dive-in: DHT blocks Because we are symetric and use cryptographic access control, all blocks must be self-certified and ciphered.
  • 31. Dive-in: DHT blocks Because we are symetric and use cryptographic access control, all blocks must be self-certified and ciphered. • Mutable blocks ◦ Subject to conflicts. ◦ Subject to invalidation. ◦ Hard to certify and cipher.
  • 32. Dive-in: DHT blocks Because we are symetric and use cryptographic access control, all blocks must be self-certified and ciphered. • Mutable blocks ◦ Subject to conflicts. ◦ Subject to invalidation. ◦ Hard to certify and cipher. • Immutable blocks ◦ No conflicts. ◦ No invalidation: cachable forever. ◦ Easy to certify since content addressable: address = hash(contents).
  • 33. Dive-in: DHT blocks Because we are symetric and use cryptographic access control, all blocks must be self-certified and ciphered. • Mutable blocks ◦ Subject to conflicts. ◦ Subject to invalidation. ◦ Hard to certify and cipher. • Immutable blocks ◦ No conflicts. ◦ No invalidation: cachable forever. ◦ Easy to certify since content addressable: address = hash(contents). Immutable block are fetchable from any source with permanent on-disk LRU cache.
  • 34. A file is mostly a mutable block with metadata and a FAT of immutable block. Dive-in: filesystem layer
  • 35. A file is mostly a mutable block with metadata and a FAT of immutable block. Dive-in: filesystem layer File contents is cachable at will, cheap and atomic writes.
  • 36. Dive-in: filesystem layer The POSIX API is inherently sequential. We are highly parallel.
  • 37. Dive-in: filesystem layer Directories prefetching and files look-ahead enables batching and pipelining.
  • 38. Dive-in: consensus Each block is managed by a specific quorum of node with a variable composition, running multipaxos.
  • 39. Dive-in: consensus Each block is managed by a specific quorum of node with a variable composition, running multipaxos. No failure point or bottleneck, strong read after write consistency.
  • 40. Dive-in: overlay The overlay layer is one major customization point of the platform.
  • 41. Dive-in: overlay The overlay layer is one major customization point of the platform. Algorithm choice: • Several thousands machines: kelips, kademlia, chord. • Few hundreds machines and dozen of terabytes: global knowledge.
  • 42. Dive-in: overlay The overlay layer is one major customization point of the platform. Algorithm choice: • Several thousands machines: kelips, kademlia, chord. • Few hundreds machines and dozen of terabytes: global knowledge. Data placement: rack-aware, zone-aware, reliability-aware, ensure local copies, ...