DO LINUX DISTRIBUTIONS STILL MATTER WITH CONTAINERS?
Balancing the value of innovation & maintenance
Scott McCarty
Principal Offering Product Manager (popm)
02/01/2020
2
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
3
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
“I don’t want to care about the operating system anymore”
4
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
Let’s use tires as an analogy...
5
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
6
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
7
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
8
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
9
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
10
Safety
Road Performance
Amature Racing
Professional Racing
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
OK, so we do still care. But, what criteria? What context?
11
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
UNDERSTANDING THE CRITERIA�WITH CONTAINERS
THERE ARE A LOT OF DIFFERENT OPTIONS
Figuring out which container base image to use can be difficult
Traditional Options
Minimal Options
13
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
There is no cloud!
Just someone else’s computer
14
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
There is no distroless!
Just another dependency you manage
15
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
HOW TO SELECT THE RIGHT IMAGE
There is some standard criteria that can help
Architecture
Security
Performance
16
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
HOW DO THINGS WORK?
IT ALL STARTS WITH COMPILING
Statically linking everything into the binary
Starting with the basics:
18
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
LEADS TO DEPENDENCIES
Dynamically linking libraries into the binary
Getting more advanced:
19
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
PACKAGING & DEPENDENCIES
RPM and Yum were invented a long time ago
Dependencies need resolvers:
20
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
PACKAGING & DEPENDENCIES
Interpreters have to handle the same problems
Dependencies need resolvers:
21
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
CONTAINER IMAGE PARTS
Governed by the OCI image specification standard
Lots of payload media types:
22
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
LAYERS ARE CHANGE SETS
Each layer has adds/deletes
Each image layer is a permutation in time:
23
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
LAYERS ARE CHANGE SETS
Some layers are given a human readable name
Each image layer is a permutation in time:
24
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
CONTAINER IMAGES & USER OPTIONS
Come with default binaries to start, environment variables, etc
Each image layer is a permutation in time:
25
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
INTER REPOSITORY DEPENDENCIES
Think through this problem as well
You have to build this dependency tree yourself:
26
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
CONTAINER IMAGE
Open source code/libraries, in a Linux distribution, in a tarball
Even base images are made up of layers:
27
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
UNDERSTANDING THE CONTEXT�WITH CONTAINERS
IT WORKS ON MY LAPTOP, AND...
From an architecture perspective
29
CONTAINER
GENERIC CONTAINER IMAGE
LANGUAGE RUNTIMES
APP
PRODUCTION
CONTAINER
GENERIC CONTAINER IMAGE
LANGUAGE RUNTIMES
APP
LAPTOP
Works on my laptop
The service starts in production
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
IT WORKS ON MY LAPTOP, BUT...
What about performance?
30
CONTAINER
GENERIC CONTAINER IMAGE
LANGUAGE RUNTIMES
APP
PRODUCTION
CONTAINER
GENERIC CONTAINER IMAGE
LANGUAGE RUNTIMES
APP
LAPTOP
Works on my laptop
But, what about at 1M TPS
1M �Transactions/
Second
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
IT WORKS ON MY LAPTOP, BUT...
What about security?
31
CONTAINER
GENERIC CONTAINER IMAGE
LANGUAGE RUNTIMES
APP
PRODUCTION
CONTAINER
GENERIC CONTAINER IMAGE
LANGUAGE RUNTIMES
APP
LAPTOP
Works on my laptop
What about hackers?
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
THE QUALITY OF THE BITS MATTERS
It goes beyond works on my laptop
32
CONTAINER
OS
(USER SPACE)
LANGUAGE RUNTIMES
APP
OS
(USER SPACE)
OS
(USER SPACE)
OS
(USER SPACE)
OS
(USER SPACE)
OS
(USER SPACE)
Compute Intensive
I/O Intensive
Fault Sensitive
Highly Secure
Latency Sensitive
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
WHAT IS THE RED HAT UNIVERSAL BASE IMAGE?
Three base images, language runtime images, and software packages
33
ALL RED HAT ENTERPRISE LINUX PACKAGES
UNIVERSAL�BASE IMAGE
PACKAGES
Base
Images
Pre-Built Language
Images
Package�Subset
STANDARD
MULTI�SERVICE
MINIMAL
Node.js
Node.js
Node.js
Node.js
Node.js
Node.js
Node.js
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
RECOMMENDATIONS
PEOPLE DON’T UNDERSTAND THE VALUE
This is the fundamental problem
35
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
CALL TO ACTION
All Linux distros need to think about market problems
Recommendations:
36
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
QUESTIONS?
Citations
37
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
SPECIFICALLY CONTAINER IMAGES
This is the fundamental problem
39
Scott McCarty - Product Manager Container at Red Hat - Twitter: @fatherlinux