What is it we want in Containers anyways?

 

Vincent Batts  @vbatts

 

bit.ly/vbatts-containers-anyways

$> finger $(whoami)
Login: vbatts                           Name: Vincent Batts
Directory: /home/vbatts                 Shell: /bin/bash
Such mail.
Plan:
OHMAN
$> id -Gn
devel opencontainers docker appc redhat golang slackware

So,

Why, Containers?

Single Application
Full System
But Not a VM
Except Maybe a VM
Pods of applications
Labels of services
Non-root
Desktop Applications
OMG AND CATS
But wait,
What does "container" mean to you?
But wait,
What does "container" mean to you?

Use-case

 

Reproducibility

 

Use-case

 

Ephemeral Environments

 

Use-case

 

Freedom from host restrictions

Use-case


Easy delivery

Use-case

 

Integrate to existing process

Use-case

 

Controls and knobs

Build

appc/acbuild (github.com/appc/acbuild)

Your own Makefiles?

Sharing

registry (i.e. docker-registry, dockyard)

Host it yourself (i.e. tarballs on an http server)

Share recipes!

Tools

Tech

  • Namespaces
  • Resource Controls
  • Security and Isolation

Systemd

shell

mount(8) shared subtrees

procfs, sysfs, tmpfs

cgroup filesystem (not for the faint of heart)

STANDARDS!

Standard

/ˈstandəd/

noun

something used as a measure, norm, or model in comparative evaluations

STANDARDS!

Areas to Standardize:
  • Packaging
  • Runtime
  • Networking
  • Cloud

Call to Action!

Define your use-cases first

Ensure your container integration touchpoint stay generic,

to avoid lock-in to a particular platform.

PoC tooling for your integration

Thanks!

Vincent Batts

@vbatts| vbatts@redhat.com