2. The need for Docker volumes
Docker is awesome to get isolated, predictable environments:
3. The need for Docker volumes
Docker is awesome to get isolated, predictable environments:
• Build and test your project deterministically.
4. The need for Docker volumes
Docker is awesome to get isolated, predictable environments:
• Build and test your project deterministically.
• Run your project in a deterministic production environment.
5. The need for Docker volumes
Docker is awesome to get isolated, predictable environments:
• Build and test your project deterministically.
• Run your project in a deterministic production environment.
This greatness arises from two properties:
• Deterministic initial state.
• No side effects - get a fresh start every time.
6. The need for Docker volumes
Docker is awesome to get isolated, predictable environments:
• Build and test your project deterministically.
• Run your project in a deterministic production environment.
This greatness arises from two properties:
• Deterministic initial state.
• No side effects - get a fresh start every time.
This makes Docker a purpuree environment.
7. The need for Docker volumes
Pureness is great the vast majority of time, but it can be a burden too - just
like with code.
8. The need for Docker volumes
Pureness is great the vast majority of time, but it can be a burden too - just
like with code.
• A deterministic build is great, provided you can somehow get your built
files.
9. The need for Docker volumes
Pureness is great the vast majority of time, but it can be a burden too - just
like with code.
• A deterministic build is great, provided you can somehow get your built
files.
• A deterministic production environment is great, provided you don't
require any local state.
10. The need for Docker volumes
Pureness is great the vast majority of time, but it can be a burden too - just
like with code.
• A deterministic build is great, provided you can somehow get your built
files.
• A deterministic production environment is great, provided you don't
require any local state.
This is the price of Docker's reproducibility guarantees.
11. The need for Docker volumes
Docker volumes enable you to alter initial container state and persist state
between containers.
12. The need for Docker volumes
Docker volumes enable you to alter initial container state and persist state
between containers.
As a consequence:
• We can solve our previous issues.
• We are breaking the determinism guarantees!
13. The need for Docker volumes
Docker volumes enable you to alter initial container state and persist state
between containers.
As a consequence:
• We can solve our previous issues.
• We are breaking the determinism guarantees!
Volumes introduce statefullness, the enemy of reproducibility. Use with care
and bound their scope.
15. Beyond the local host boundaries
Persisting data locally is useful, but there's more.
16. Infinit filesystem
InfinitInfinit is a peer-to-peer, scalable, reliable, secure filefile ststororageage platfplatformorm that
relies on the aggregation of various storage resources (local disk, NAS, SAN,
cloud, etc.) on top of which POSIX-compliant file systems can be created.
17. Infinit filesystem
• Filesystem in the POSIXPOSIX sense of the term.
◦ Works with any client, unmodified.
◦ Fine grained semantic (e.g: video streaming).
◦ Well featured (e.g: file locking).
18. Infinit filesystem
• Filesystem in the POSIXPOSIX sense of the term.
◦ Works with any client, unmodified.
◦ Fine grained semantic (e.g: video streaming).
◦ Well featured (e.g: file locking).
• PPeereer-t-too-peer distribut-peer distributeded: no computer has any specific authority or role.
◦ Availability: no SPOF, network failure resilient.
◦ Scalability and flexibility.
19. Infinit filesystem
• Filesystem in the POSIXPOSIX sense of the term.
◦ Works with any client, unmodified.
◦ Fine grained semantic (e.g: video streaming).
◦ Well featured (e.g: file locking).
• PPeereer-t-too-peer distribut-peer distributeded: no computer has any specific authority or role.
◦ Availability: no SPOF, network failure resilient.
◦ Scalability and flexibility.
• BByyzzantineantine: you do not need to trust other computers in any way.
◦ No omnipotent admins.
◦ Support untrusted networks, both faulty and malicious peers.
21. Infinit CLI
Infinit provides a set of ccommand-lineommand-line ttoolsools allowing any sysadmin, devop or
developer to create storage infrastructure in a matter of minutes between
your bare metal machines, VMs or containers.
23. Questions?
GeGet the wt the worord as soon as the Dockd as soon as the Docker ver volume plugin is rolume plugin is released:eleased:
http://bit.ly/infinit-docker-miniconf