Slide 1

Slide 1 text

dexec @AhmetAlpBalkan Docker Seattle Meetup – April 27, 2016

Slide 2

Slide 2 text

dexec A Go library that provides the kernel execution interface with Docker Engine github.com/ahmetalpbalkan/go-dexec

Slide 3

Slide 3 text

Brief intro to fork() exec()

Slide 4

Slide 4 text

process

Slide 5

Slide 5 text

process (fork)

Slide 6

Slide 6 text

process |—process

Slide 7

Slide 7 text

process |—process (exec)

Slide 8

Slide 8 text

process |—anotherprocess

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

process kernel execve

Slide 12

Slide 12 text

process kernel execve isolation

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

dexec A Go library that provides the kernel execution interface with Docker Engine github.com/ahmetalpbalkan/go-dexec

Slide 15

Slide 15 text

another program Docker Your program (uses dexec)

Slide 16

Slide 16 text

dexec • limit resource usage of commands you invoke • isolation • security

Slide 17

Slide 17 text

another program Docker Your program (uses dexec)

Slide 18

Slide 18 text

another program Docker Your program (uses dexec) Your Laptop

Slide 19

Slide 19 text

Your Server another program Docker Your program (uses dexec) Your Laptop

Slide 20

Slide 20 text

Server 2 another program Your program (uses dexec) Server 1 Server 3 another program Server 4 another program Docker Docker Docker

Slide 21

Slide 21 text

Server 2 another program Your program (uses dexec) Server 1 Server 3 another program Server 4 another program Docker Docker Docker

Slide 22

Slide 22 text

Server 2 another program Docker Your program (uses dexec) Server 1

Slide 23

Slide 23 text

Server 2 another program Docker Your program (uses dexec) Server 1

Slide 24

Slide 24 text

dexec • offloading work to remote machines • parallelizing execution with a cluster • cross-OS execution

Slide 25

Slide 25 text

Demo

Slide 26

Slide 26 text

Thank you @ahmetAlpBalkan