Use the Right Container Technology for the Job
Application containers, machine containers, process containers, system containers -- what's the difference? 12-factor apps, Microservices, cloud-native application design -- are these real? Docker, Rocket, OCID, LXD -- do I need all of them? Should I run PaaS on top of my IaaS, or my IaaS on top of my PaaS? Do containers fit into PaaS or IaaS? Or both? Neither? Where are the intersections of Kubernetes, Swarm, Mesos, and OpenStack? How do I ensure compatibility across my public and private clouds? And how does bare metal -- from my commodity, scale-out x86 to my powerful, scale-up mainframes fit into all of this? Can any of this stuff actually be used in a highly secure environment? In this session, Dustin Kirkland, Ubuntu Product and Strategy Lead at Canonical, will explain the container ecosystem in clear, concise terms, from real enterprise user experience -- the successes and the failures.
14. @DustinKirkland
If we take a VM
running on IaaS,
and run it on PaaS
in a Docker container,
does that mean the app
is now “dockerized”?
asked no one, ever.
18. @DustinKirkland
● SwissCom’s new
workloads are
“dockerized”
● Was 400 VMs running 400
databases
● Now 20 VMs running 400
Databases
● DBaaS through the
organization
● Build, Ship, Run mentality
within the IT organization
Source: https://www.docker.com/use-cases/infrastructure-optimization
19. @DustinKirkland
● Digitized transaction
workflow, mathematically
secured
● Shared, replicated ledger
● IBM Blockchain workloads
are “dockerized”
● IBM Mainframe hardware
● Ubuntu Linux
● Docker images
● Hyperledger software
● Cutting edge technology
● Lots of
run-to-completion,
stateless number
crunching
Source: http://www.ibm.com/blockchain/hyperledger.html
20. @DustinKirkland
● Mature, legacy code base,
that generally “just
works”
● No desire really to ever
touch it again
● Linux, Apache, PHP,
Postgres, on AWS --
should dockerize easily,
right?
● Those were easy, but
what about Cron?
Logrotate? Vacuumdb?
Backup? Package
updates?
● DivItUp.com moved to
LXD much more easily
28. # Count the CPUs and Memory available
lxc exec demo1 -- grep processor /proc/cpuinfo
lxc exec demo1 -- free
# Limit the container to 1 CPU and 128MB of Mem
lxc config set demo1 limits.cpu 1
lxc config set demo1 limits.memory 128MB
lxc stop demo1 && lxc start demo1
# Recount the CPUs and Memory available
lxc exec demo1 -- grep processor /proc/cpuinfo
lxc exec demo1 -- free