An open platform for distributed applications for developers and sysadmins
Una piattaforma open per sviluppatori e sysadmins per la distribuzione delle applicazioni
2015
2015Cos’è un’applicazione?
OS Base
OS Custom
Binary
Library
Source
Application
Linux Debian, Ubuntu, CentOS, ecc.
Updates, Packages
Apache, JVM, Ruby, Perl, PHP, Python, cURL
Git, Subversion, Files
Running Application or Service
libjpeg, libxml, ImageMagick, libGeoIP, etc.
2015
JackSysAdmin
BobDeveloper
JoeDeveloper
OS Base
OS Custom
Binary
Library
Source
Application
MyApp 1.0
OS Base
OS Custom
Binary
Library
Source
Application
MyApp 1.1
OS Base
OS Custom
Binary
Library
Source
Application
DevOps
2015
JackSysAdmin
OS Base
OS Custom
Binary
Library
Source
Application
OS Base
OS Custom
Binary
Library
Source
Application
OS Base
OS Custom
Binary
Library
Source
Application
Infrastructures
2015
JackSysAdmin
BobDeveloper
JoeDeveloper
OS Base
OS Custom
Binary
Library
Source
Application
MyApp 1.2
OS Base
OS Custom
Source
Application
MyApp 1.2
OS Base
OS Custom
Binary
Library
Source
Application
Updates
Binary
LibraryX X
2015
From stack to image
OS Base
OS Custom
Binary
Library
Source
Application
OS Base
OS Custom
Binary
Library
Source
Application
2015
JackSysAdmin
BobDeveloper
JoeDeveloper
OS Base
OS Custom
Binary
Library
Source
Application
DevOps
OS Base
OS Custom
Binary
Library
Source
Application
OS Base
OS Custom
Binary
Library
Source
Application
2015JackSysAdmin
OS Base
OS Custom
Binary
Library
Source
Application
OS Base
OS Custom
Binary
Library
Source
Application
OS Base
OS Custom
Binary
Library
Source
Application
2015
JackSysAdmin
BobDeveloper
JoeDeveloper
OS Base
OS Custom
Binary
Library
Source
Application
Centralized
Public or Private Repository
2015
Container IS NOT
a Virtual Machine
2015
Docker ContainerVirtual Machine
Hos
t OS
Kern
el
system calls
Kern
el
Kern
el
Guest OS /usr /bin /var /etc
Guest OS /usr /bin /var /etc
system calls
Hyp
ervi
sor
Har
dwar
e
Host OS /usr /bin /var /etc
Kern
el
Guest OS /usr /bin /var /etc
Guest OS /usr /bin /var /etc
system calls
Har
dwar
e
Overhead
2015Performance
RAM
CPU
I/O
100%
100%
100%
RAM
CPU
I/O
80%
65%
50%
Docker ContainerVirtual Machine
2015
Image Size (OS Stack:): 1GB Application Size: 100MB
4 Running Applications: 1,4 GB
Image Size (OS Stack): 1GB Application Size: 100MB
4 Running Applications: 4,4 GB
Size
OS
APP
OS
APP
OS
APP
OS
APP
Virtual Machine
OS
APP APP APP APP
Docker Container
2015
OS Base
OS Custom
Binary
Library
AuFS
Source
Application
Read Only
Read / Write
Layered Filesystem
Container
2015
Layered FilesystemAuFS
Image 1.0
Container
Add GIT
Image 1.1
Image 1.0
Add Apache
Container
Image 1.0
Container
Image 1.1
Image 1.2
Add Source
2015Cos’è Docker?• Packaging System
Creazione e gestione delle immagini
• Container EngineAmbienti up & running logicamente separati
• Container Repository Push & Pull delle immagini e controllo di versione
2015Open Platform
• Linux Support only • Apache License / Free to use • Open Source / Github
2015Packaging System
Image Add Apache Image
Pull Image
Run Container
Modify Container
Commit
Push Image
2015Container Engine
Linux Server (host)192.168.1.1
Apache n1 172.0.0.16
MySQL Master 172.0.0.18
Apache n1 172.0.0.17 MySQL Slave
172.0.0.19
Memcached 172.0.0.20
2015Container Engine
Apache n1
Apache n2
Internet
MySQL Master
MySQL Slave
Memcached
2015Container Repository
hub.docker.com
2015
Thanks!
The End
www.particles.io