SlideShare a Scribd company logo
1 of 27
Download to read offline
Modern Storage Platform
for Container Environments
Julien Quintard
Member of Technical Staff
Docker Inc.
(http://infinit.sh)
1. Platform
2. Internals
3. Demo
the
CONTEXT
The uniqueness of containers compared to traditional virtual machines
comes mainly from the fact that they are lightweight, fast and scalable, at
least when it comes to stateless applications.
Containers also bring new concepts such as portability while opening ways
to new techniques such as micro-services in which an application is split
into several containers.
the
PERSISTENCE
Docker has gained in popularity mainly through the use of stateless
applications. Developers and enterprises now require statefulness.
However, given their uniqueness, containers need more than just
traditional storage but a platform allowing stateful applications to be
deployed and scaled as easily in spite of failures, be it the host or
container itself.
More precisely, a modern storage platform should be both elastic (scalable
and fault tolerant) and customizable.
1. Platform
the
OVERVIEW
the
KEY-VALUE STORE
Infinit’s key layer is its key-value store whose role is to aggregate storage
capacity from a set of nodes. Unlike most key-value store available on the
market, Infinit’s benefits from the following:
Consensus
Infinit’s consensus algorithm is block-
based and allows for a strong
consistency model on top of which
others (eventual) can be emulated.
Policies
The key-value store can be configured
through a set of policies from
encryption (e.g key size), block size,
compression, deduplication, data
placement, redundancy, versioning
and more.
On top of the key-value store, a number of interfaces is provided, each with
its tradeoffs from usage, performance etc.
Decentralization
While most distributed systems rely
on a leader/follower model, Infinit is
completely decentralized allowing for
better scalability and fault tolerance.
the
INTERFACES
On top of the key-value store, a number of interfaces is provided, each with
its tradeoffs from usage, performance etc.
File System
The file system interface was the first one introduced in the Infinit storage
platform. It allows for the creation of hierarchical volumes of files and
folders. For now only FUSE (Linux/macOS) and Dokan (Windows) are
publicly available.
POSIX-compliant file system interfaces allows for concurrent reader/writer
accesses from multiple client nodes/containers, the drawback being that
such interfaces are often quite complex, hence impacting performance.
Examples range from storing logs, configuration files, credentials or just
running a legacy application.
Object Storage
An object storage HTTP-based API allows for storing unstructured data
through binary large objects (blob). The most well known of such APIs is
Amazon S3 which has become the de-factor standard.
Such an interface is more adapted than file system when one is looking for
a simple way to store objects which are often independent from one
another.
Examples range from videos, images etc. in the context of a website for
instance.
Block Device
The most common network-based block storage interfaces are iSCSI and
FCoE. Those provide raw access to a networked partition which can be
formatted in the file system of your choice: ext4, NTFS etc.
Block devices are interesting because of their inherent limitation. Such
devices can only be attached to a single node. As such, concurrent
accesses are limited, only possible on the same node, going through the
same kernel handling the block storage.
This limitation implies that the underlying logic can be optimized to remove
the need for concurrent access mechanisms, to store a database for
instance.
the
EXAMPLE
database
block (iSCSI)
512-byte block size
replication
file (NFS)
replication
versioning
deduplication
object (AWS S3)
1-megabyte block size
datacenter aware
erasure coding
compression
ext4
im
ages/videos
configurationfiles
content
Below is an example of a micro-service application relying on a policy-
based storage platform providing multiple interfaces: Wordpress.
the
DEPLOYMENTS
Hyperscale
Deploy your storage infrastructure for it
to evolve and scale independently of
your cluster of applications (Swarm,
Kubernetes etc.).
#powerful #operators
Hyperconverge
Your storage infrastructure scales along
with your cluster of applications.
#simple #developers
2. Internals
the
DISTRIBUTION
Infinit is completely decentralized (peer-to-peer) meaning that any
operation could be carried out by any other node. In other words, every
node plays part of the role of the metadata server. This symmetry property
is critical to ensure the validation of operations a posteriori.
Infinit’s key-value store relies on two basic constructs to benefit from high
scalability and fault tolerance.
Overlay Network
(not related to Docker’s overlay)
The overlay network provides a routing mechanism
that allows a client to locate the nodes
responsible for a piece of data given an identifier.
Noteworthy is that there exist different types of
overlay network, each with its own advantages.
Distributed Hash Table
The distributed hash table relies on the overlay
network and ensures the redundancy (replication/
erasure coding), consistency (Paxos), self-healing
and mutability of the stored items in order to
guarantee their availability and durability.
Example: The Chord overlay network can scale to millions of nodes.
Example: In the Kouncil overlay network, every node has complete knowledge of the nodes and blocks.
the
FLOW
We’ve introduced the key-value store which is implemented through an
overlay network and distributed hash table on top of which several
interfaces are provided.
Let’s take an example to understand how all those layers interconnect
through a system call, create(“/foo”), in this case.
the
CONSENSUS
Most distributed system rely on a set of managers. Those special nodes
organize the network and authorize some critical operations.
When such an operation must be performed, the quorum of manager nodes
is contacted to reach an agreement and maintain consistency.
The problem with this design is that the manager nodes can become
bottlenecks, potentially leading to a cascading effect, not to mention an
ideal target for privilege escalation.
Infinit on the contrary, operates in a decentralized manner, meaning that
no central authority is involved.
Unlike traditional distributed systems that rely on a global lock, Infinit
relies on per-block quorums. As such, the complexity of the consensus
algorithm is related to the redundancy factor only, allowing for better
scalability, security and fault tolerance.
Distributed System Decentralized System
the
BLOCKS
The key-value store allows for storing blocks of variable size. There are
many types of blocks the construct allows one to store, from immutable
and mutable blocks to more specific ones such as named blocks that link a
string to an address.
Mutable Block
Such blocks evolve over time based on a version
number. As such they are subject to conflicts. Also,
clients need to invalidate such blocks in their cache
to make sure the latest version is refetched.
Finally, mutable blocks rely on heavier cryptographic
mechanisms to ensure integrity and security.
Immutable Block
Immutable blocks, on the other hand, can only exist
in one version. The address of such a block is
computed by applying a one-way function on the
block’s content (content addressed). Should the
content be modified, the address would change as
well, leading to a new block.
Immutable blocks therefore cannot conflict, can be
cached forever and are easy to validate by
reapplying the one-way function on the retrieved
content.
For instance, in the context of a file system, metadata a.k.a inode are
stored in a mutable block while actual data blocks are immutable, all
stored through the key-value store.
As such, a vast majority of the blocks are immutable, leading to better
performance because those are cheap to write, fetchable from any source
and cachable ad vitam æternam.
3. Demo
the
CONCLUSION
This demo is really all about the key basics. From that point you can
generate passports for other users to connect to your storage
infrastructure, you can control accesses on files and folder, scale out with
more storage capacity from the cloud and also, obviously, access an Infinit
volume in your Docker containers through Infinit’s Docker Volume Plugin.
Infinit is still at a very early stage of its development. In the future, we will
introduce “infinit cluster” to make it easier to deploy a storage
infrastructure (like Docker Swarm through —init/—join), provide more
interfaces (block/object) and open source the several layers I talked about
today.
Website
infinit.sh
Twitter
@infinit
Github
github.com/infinit
Reddit
/r/infinit

More Related Content

What's hot

Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017Docker, Inc.
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Steve Wilson
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersYajushi Srivastava
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT CampusAjeet Singh Raina
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker, Inc.
 
Docker and containerization
Docker and containerizationDocker and containerization
Docker and containerizationAmulya Saxena
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to AdvanceParas Jain
 
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...Docker, Inc.
 
New in docker containercamp 2016
New in docker containercamp 2016New in docker containercamp 2016
New in docker containercamp 2016Mano Marks
 
Docker container basics and efficiency of Kubernetes
Docker container basics and efficiency of KubernetesDocker container basics and efficiency of Kubernetes
Docker container basics and efficiency of KubernetesAkhter Al Amin
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesSteven Grzbielok
 
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 Docker, Inc.
 
DockerCon EU 2015: Nesting Containers: Real Life Observations
DockerCon EU 2015: Nesting Containers: Real Life ObservationsDockerCon EU 2015: Nesting Containers: Real Life Observations
DockerCon EU 2015: Nesting Containers: Real Life ObservationsDocker, Inc.
 
Docker taylor swift and protection v06
Docker taylor swift and protection v06Docker taylor swift and protection v06
Docker taylor swift and protection v06marketingunitrends
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackMulti-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackDocker, Inc.
 
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...Docker, Inc.
 

What's hot (20)

Docker & kubernetes
Docker & kubernetesDocker & kubernetes
Docker & kubernetes
 
Abc of docker
Abc of dockerAbc of docker
Abc of docker
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
 
Docker and containerization
Docker and containerizationDocker and containerization
Docker and containerization
 
Docker Basic to Advance
Docker Basic to AdvanceDocker Basic to Advance
Docker Basic to Advance
 
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
Infinit's Next Generation Key-value Store - Julien Quintard and Quentin Hocqu...
 
New in docker containercamp 2016
New in docker containercamp 2016New in docker containercamp 2016
New in docker containercamp 2016
 
Docker container basics and efficiency of Kubernetes
Docker container basics and efficiency of KubernetesDocker container basics and efficiency of Kubernetes
Docker container basics and efficiency of Kubernetes
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
 
Docker 101
Docker 101Docker 101
Docker 101
 
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
 
DockerCon EU 2015: Nesting Containers: Real Life Observations
DockerCon EU 2015: Nesting Containers: Real Life ObservationsDockerCon EU 2015: Nesting Containers: Real Life Observations
DockerCon EU 2015: Nesting Containers: Real Life Observations
 
Docker taylor swift and protection v06
Docker taylor swift and protection v06Docker taylor swift and protection v06
Docker taylor swift and protection v06
 
Multi-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStackMulti-Container Apps spanning Docker, Mesos and OpenStack
Multi-Container Apps spanning Docker, Mesos and OpenStack
 
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
 

Similar to Infinit: Modern Storage Platform for Container Environments

Devops Love Containers Meetup in Paris (13/06/2017)
Devops Love Containers Meetup in Paris (13/06/2017)Devops Love Containers Meetup in Paris (13/06/2017)
Devops Love Containers Meetup in Paris (13/06/2017)Infinit
 
Authenticated Key Exchange Protocols for Parallel Network File Systems
Authenticated Key Exchange Protocols for Parallel Network File SystemsAuthenticated Key Exchange Protocols for Parallel Network File Systems
Authenticated Key Exchange Protocols for Parallel Network File Systems1crore projects
 
Authenticated key exchange protocols for parallel network file systems
Authenticated key exchange protocols for parallel network file systemsAuthenticated key exchange protocols for parallel network file systems
Authenticated key exchange protocols for parallel network file systemsPvrtechnologies Nellore
 
What is Object storage ?
What is Object storage ?What is Object storage ?
What is Object storage ?Nabil Kassi
 
Adoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
Adoption of Cloud Computing in Healthcare to Improves Patient Care CoordinationAdoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
Adoption of Cloud Computing in Healthcare to Improves Patient Care CoordinationMindfire LLC
 
The Rise of App-chains: Driving Scalability, Security, and Performance with A...
The Rise of App-chains: Driving Scalability, Security, and Performance with A...The Rise of App-chains: Driving Scalability, Security, and Performance with A...
The Rise of App-chains: Driving Scalability, Security, and Performance with A...Zeeve
 
Study notes for CompTIA Certified Advanced Security Practitioner (ver2)
Study notes for CompTIA Certified Advanced Security Practitioner  (ver2)Study notes for CompTIA Certified Advanced Security Practitioner  (ver2)
Study notes for CompTIA Certified Advanced Security Practitioner (ver2)David Sweigert
 
IRJET- Distributed Decentralized Data Storage using IPFS
IRJET- Distributed Decentralized Data Storage using IPFSIRJET- Distributed Decentralized Data Storage using IPFS
IRJET- Distributed Decentralized Data Storage using IPFSIRJET Journal
 
Survey of distributed storage system
Survey of distributed storage systemSurvey of distributed storage system
Survey of distributed storage systemZhichao Liang
 
Sofware architure of a SAN storage Control System
Sofware architure of a SAN storage Control SystemSofware architure of a SAN storage Control System
Sofware architure of a SAN storage Control SystemGrupo VirreySoft
 
Launching a Rollup & Appchain: Everything from Idea to its Implementation
Launching a Rollup & Appchain: Everything from Idea to its ImplementationLaunching a Rollup & Appchain: Everything from Idea to its Implementation
Launching a Rollup & Appchain: Everything from Idea to its ImplementationZeeve
 
Authenticated key exchange protocols for parallel
Authenticated key exchange protocols for parallelAuthenticated key exchange protocols for parallel
Authenticated key exchange protocols for paralleljpstudcorner
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introductionTamrat Amare
 
modern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfmodern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfGuillaume Kpotufe
 
Containerization Report
Containerization ReportContainerization Report
Containerization ReportJatin Chauhan
 
Container Orchestration.pdf
Container Orchestration.pdfContainer Orchestration.pdf
Container Orchestration.pdfSimform
 
Inter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XInter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XHEM DUTT
 
Study notes for CompTIA Certified Advanced Security Practitioner
Study notes for CompTIA Certified Advanced Security PractitionerStudy notes for CompTIA Certified Advanced Security Practitioner
Study notes for CompTIA Certified Advanced Security PractitionerDavid Sweigert
 
Why is Virtualization Creating Storage Sprawl? By Storage Switzerland
Why is Virtualization Creating Storage Sprawl? By Storage SwitzerlandWhy is Virtualization Creating Storage Sprawl? By Storage Switzerland
Why is Virtualization Creating Storage Sprawl? By Storage SwitzerlandINFINIDAT
 
Top 6 Practices to Harden Docker Images to Enhance Security
Top 6 Practices to Harden Docker Images to Enhance SecurityTop 6 Practices to Harden Docker Images to Enhance Security
Top 6 Practices to Harden Docker Images to Enhance Security9 series
 

Similar to Infinit: Modern Storage Platform for Container Environments (20)

Devops Love Containers Meetup in Paris (13/06/2017)
Devops Love Containers Meetup in Paris (13/06/2017)Devops Love Containers Meetup in Paris (13/06/2017)
Devops Love Containers Meetup in Paris (13/06/2017)
 
Authenticated Key Exchange Protocols for Parallel Network File Systems
Authenticated Key Exchange Protocols for Parallel Network File SystemsAuthenticated Key Exchange Protocols for Parallel Network File Systems
Authenticated Key Exchange Protocols for Parallel Network File Systems
 
Authenticated key exchange protocols for parallel network file systems
Authenticated key exchange protocols for parallel network file systemsAuthenticated key exchange protocols for parallel network file systems
Authenticated key exchange protocols for parallel network file systems
 
What is Object storage ?
What is Object storage ?What is Object storage ?
What is Object storage ?
 
Adoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
Adoption of Cloud Computing in Healthcare to Improves Patient Care CoordinationAdoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
Adoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
 
The Rise of App-chains: Driving Scalability, Security, and Performance with A...
The Rise of App-chains: Driving Scalability, Security, and Performance with A...The Rise of App-chains: Driving Scalability, Security, and Performance with A...
The Rise of App-chains: Driving Scalability, Security, and Performance with A...
 
Study notes for CompTIA Certified Advanced Security Practitioner (ver2)
Study notes for CompTIA Certified Advanced Security Practitioner  (ver2)Study notes for CompTIA Certified Advanced Security Practitioner  (ver2)
Study notes for CompTIA Certified Advanced Security Practitioner (ver2)
 
IRJET- Distributed Decentralized Data Storage using IPFS
IRJET- Distributed Decentralized Data Storage using IPFSIRJET- Distributed Decentralized Data Storage using IPFS
IRJET- Distributed Decentralized Data Storage using IPFS
 
Survey of distributed storage system
Survey of distributed storage systemSurvey of distributed storage system
Survey of distributed storage system
 
Sofware architure of a SAN storage Control System
Sofware architure of a SAN storage Control SystemSofware architure of a SAN storage Control System
Sofware architure of a SAN storage Control System
 
Launching a Rollup & Appchain: Everything from Idea to its Implementation
Launching a Rollup & Appchain: Everything from Idea to its ImplementationLaunching a Rollup & Appchain: Everything from Idea to its Implementation
Launching a Rollup & Appchain: Everything from Idea to its Implementation
 
Authenticated key exchange protocols for parallel
Authenticated key exchange protocols for parallelAuthenticated key exchange protocols for parallel
Authenticated key exchange protocols for parallel
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
modern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdfmodern-guide-to-container-monitoring-and-orchestration.pdf
modern-guide-to-container-monitoring-and-orchestration.pdf
 
Containerization Report
Containerization ReportContainerization Report
Containerization Report
 
Container Orchestration.pdf
Container Orchestration.pdfContainer Orchestration.pdf
Container Orchestration.pdf
 
Inter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XInter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS X
 
Study notes for CompTIA Certified Advanced Security Practitioner
Study notes for CompTIA Certified Advanced Security PractitionerStudy notes for CompTIA Certified Advanced Security Practitioner
Study notes for CompTIA Certified Advanced Security Practitioner
 
Why is Virtualization Creating Storage Sprawl? By Storage Switzerland
Why is Virtualization Creating Storage Sprawl? By Storage SwitzerlandWhy is Virtualization Creating Storage Sprawl? By Storage Switzerland
Why is Virtualization Creating Storage Sprawl? By Storage Switzerland
 
Top 6 Practices to Harden Docker Images to Enhance Security
Top 6 Practices to Harden Docker Images to Enhance SecurityTop 6 Practices to Harden Docker Images to Enhance Security
Top 6 Practices to Harden Docker Images to Enhance Security
 

More from Docker, Inc.

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 Docker, Inc.
 
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 BuildDocker, 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 AWSDocker, Inc.
 
Securing Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXSecuring Your Containerized Applications with NGINX
Securing Your Containerized Applications with NGINXDocker, Inc.
 
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 ComposeDocker, Inc.
 
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 SalesforceDocker, Inc.
 
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 HubDocker, Inc.
 
Monitoring in a Microservices World
Monitoring in a Microservices WorldMonitoring in a Microservices World
Monitoring in a Microservices WorldDocker, Inc.
 
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...Docker, Inc.
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with DockerDocker, Inc.
 
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 CodeDocker, Inc.
 
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 RegistryDocker, Inc.
 
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!Docker, Inc.
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog ScaleDocker, Inc.
 
Labels, Labels, Labels
Labels, Labels, Labels Labels, Labels, Labels
Labels, Labels, Labels Docker, Inc.
 
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 ModelDocker, 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 AWSDocker, Inc.
 
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...Docker, Inc.
 
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 ArchitectureDocker, 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

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

Infinit: Modern Storage Platform for Container Environments

  • 1. Modern Storage Platform for Container Environments Julien Quintard Member of Technical Staff Docker Inc. (http://infinit.sh)
  • 3. the CONTEXT The uniqueness of containers compared to traditional virtual machines comes mainly from the fact that they are lightweight, fast and scalable, at least when it comes to stateless applications. Containers also bring new concepts such as portability while opening ways to new techniques such as micro-services in which an application is split into several containers.
  • 4. the PERSISTENCE Docker has gained in popularity mainly through the use of stateless applications. Developers and enterprises now require statefulness. However, given their uniqueness, containers need more than just traditional storage but a platform allowing stateful applications to be deployed and scaled as easily in spite of failures, be it the host or container itself. More precisely, a modern storage platform should be both elastic (scalable and fault tolerant) and customizable.
  • 7. the KEY-VALUE STORE Infinit’s key layer is its key-value store whose role is to aggregate storage capacity from a set of nodes. Unlike most key-value store available on the market, Infinit’s benefits from the following: Consensus Infinit’s consensus algorithm is block- based and allows for a strong consistency model on top of which others (eventual) can be emulated. Policies The key-value store can be configured through a set of policies from encryption (e.g key size), block size, compression, deduplication, data placement, redundancy, versioning and more. On top of the key-value store, a number of interfaces is provided, each with its tradeoffs from usage, performance etc. Decentralization While most distributed systems rely on a leader/follower model, Infinit is completely decentralized allowing for better scalability and fault tolerance.
  • 8. the INTERFACES On top of the key-value store, a number of interfaces is provided, each with its tradeoffs from usage, performance etc.
  • 9. File System The file system interface was the first one introduced in the Infinit storage platform. It allows for the creation of hierarchical volumes of files and folders. For now only FUSE (Linux/macOS) and Dokan (Windows) are publicly available. POSIX-compliant file system interfaces allows for concurrent reader/writer accesses from multiple client nodes/containers, the drawback being that such interfaces are often quite complex, hence impacting performance. Examples range from storing logs, configuration files, credentials or just running a legacy application.
  • 10. Object Storage An object storage HTTP-based API allows for storing unstructured data through binary large objects (blob). The most well known of such APIs is Amazon S3 which has become the de-factor standard. Such an interface is more adapted than file system when one is looking for a simple way to store objects which are often independent from one another. Examples range from videos, images etc. in the context of a website for instance.
  • 11. Block Device The most common network-based block storage interfaces are iSCSI and FCoE. Those provide raw access to a networked partition which can be formatted in the file system of your choice: ext4, NTFS etc. Block devices are interesting because of their inherent limitation. Such devices can only be attached to a single node. As such, concurrent accesses are limited, only possible on the same node, going through the same kernel handling the block storage. This limitation implies that the underlying logic can be optimized to remove the need for concurrent access mechanisms, to store a database for instance.
  • 12. the EXAMPLE database block (iSCSI) 512-byte block size replication file (NFS) replication versioning deduplication object (AWS S3) 1-megabyte block size datacenter aware erasure coding compression ext4 im ages/videos configurationfiles content Below is an example of a micro-service application relying on a policy- based storage platform providing multiple interfaces: Wordpress.
  • 13. the DEPLOYMENTS Hyperscale Deploy your storage infrastructure for it to evolve and scale independently of your cluster of applications (Swarm, Kubernetes etc.). #powerful #operators Hyperconverge Your storage infrastructure scales along with your cluster of applications. #simple #developers
  • 15. the DISTRIBUTION Infinit is completely decentralized (peer-to-peer) meaning that any operation could be carried out by any other node. In other words, every node plays part of the role of the metadata server. This symmetry property is critical to ensure the validation of operations a posteriori. Infinit’s key-value store relies on two basic constructs to benefit from high scalability and fault tolerance. Overlay Network (not related to Docker’s overlay) The overlay network provides a routing mechanism that allows a client to locate the nodes responsible for a piece of data given an identifier. Noteworthy is that there exist different types of overlay network, each with its own advantages. Distributed Hash Table The distributed hash table relies on the overlay network and ensures the redundancy (replication/ erasure coding), consistency (Paxos), self-healing and mutability of the stored items in order to guarantee their availability and durability.
  • 16. Example: The Chord overlay network can scale to millions of nodes.
  • 17. Example: In the Kouncil overlay network, every node has complete knowledge of the nodes and blocks.
  • 18. the FLOW We’ve introduced the key-value store which is implemented through an overlay network and distributed hash table on top of which several interfaces are provided. Let’s take an example to understand how all those layers interconnect through a system call, create(“/foo”), in this case.
  • 19.
  • 20. the CONSENSUS Most distributed system rely on a set of managers. Those special nodes organize the network and authorize some critical operations. When such an operation must be performed, the quorum of manager nodes is contacted to reach an agreement and maintain consistency. The problem with this design is that the manager nodes can become bottlenecks, potentially leading to a cascading effect, not to mention an ideal target for privilege escalation. Infinit on the contrary, operates in a decentralized manner, meaning that no central authority is involved.
  • 21. Unlike traditional distributed systems that rely on a global lock, Infinit relies on per-block quorums. As such, the complexity of the consensus algorithm is related to the redundancy factor only, allowing for better scalability, security and fault tolerance. Distributed System Decentralized System
  • 22. the BLOCKS The key-value store allows for storing blocks of variable size. There are many types of blocks the construct allows one to store, from immutable and mutable blocks to more specific ones such as named blocks that link a string to an address. Mutable Block Such blocks evolve over time based on a version number. As such they are subject to conflicts. Also, clients need to invalidate such blocks in their cache to make sure the latest version is refetched. Finally, mutable blocks rely on heavier cryptographic mechanisms to ensure integrity and security. Immutable Block Immutable blocks, on the other hand, can only exist in one version. The address of such a block is computed by applying a one-way function on the block’s content (content addressed). Should the content be modified, the address would change as well, leading to a new block. Immutable blocks therefore cannot conflict, can be cached forever and are easy to validate by reapplying the one-way function on the retrieved content.
  • 23. For instance, in the context of a file system, metadata a.k.a inode are stored in a mutable block while actual data blocks are immutable, all stored through the key-value store. As such, a vast majority of the blocks are immutable, leading to better performance because those are cheap to write, fetchable from any source and cachable ad vitam æternam.
  • 25.
  • 26. the CONCLUSION This demo is really all about the key basics. From that point you can generate passports for other users to connect to your storage infrastructure, you can control accesses on files and folder, scale out with more storage capacity from the cloud and also, obviously, access an Infinit volume in your Docker containers through Infinit’s Docker Volume Plugin. Infinit is still at a very early stage of its development. In the future, we will introduce “infinit cluster” to make it easier to deploy a storage infrastructure (like Docker Swarm through —init/—join), provide more interfaces (block/object) and open source the several layers I talked about today.