Thinking inside the box (shared)

Joe Brockmeier
Joe BrockmeierSenior Evangelist, Linux Containers @ Red Hat
THINKING INSIDE THE BOX
Can Containers Solve the Package Problem?
Joe Brockmeier
Senior Evangelist, Linux Containers
2 November 2016
2
3
A Brief History of Packaging
The Problems We Face
Mistakes We’re Making (Again)
Some Solutions
WHAT WE’LL COVER
A complete treatise on software packaging in 45 minutes or less…
4
THE PROBLEM
We need to be able to move
software from development
to test to production. It
needs to be distributed over
insecure networks.
Operators need to be able
to manage the software,
developers need to be able
to deliver with minimal
friction.
5
We had the source, and found that it was
good.
● Worked on a variety of systems
(maybe)
● You did your own configuration.
● Was appropriate for speed of
development circa 1990-1997.
The Early Days...
./configure; make; make install
6
UNIX make
‘77
GNU make
‘88
A Brief (and incomplete) History of Packaging*
From `make install` to Docker (and beyond)
* not to scale...
Linux
released
‘91
dpkg
‘94
RPM
‘97 ‘98
APT
YUM
‘03
?
‘17
OVF
‘08
Docker
‘13
Kubernetes
‘14
7
UNIX make
‘77
GNU make
‘88
Rise of the Package Manager
No More ‘make install’
* not to scale...
Linux
released
‘91
dpkg
‘94
RPM
‘97 ‘98
APT
YUM
‘03
?
‘17
OVF
‘08
Docker
‘13
Kubernetes
‘14
8
UNIX make
‘77
GNU make
‘88
Evolution of Package Management
From `make install` to Docker (and beyond)
* not to scale...
Linux
released
‘91
dpkg
‘94
RPM
‘97 ‘98
APT
YUM
‘03
?
‘17
OVF
‘08
Docker
‘13
Kubernetes
‘14
9
This was great, briefly, but....
● Upstream speed + distribution speed
rarely matched
● Developers wanted newer releases of
$language or $library than in the
distribution
● You can never package everything
● Upstreams didn’t like decisions made
by distributions…
● Packaging guidelines not widely
loved
Linux Distributions as the Center of Gravity
To be relevant, you had to be packaged
10
FRAGMENTATION
Should I use dpkg, or RPM?
Package for Red Hat, or SUSE,
or Debian, or Ubuntu, or…?
COMPLICATED
Packaging guidelines tend to
be complicated. Developers
do not love creating RPMs
and Debian packages.
PACKAGING
APPLICATIONS IS HARD
It’s easy to package
WordPress. It’s hard to get it
into a usable state from RPM
or dpkg.
Packaging Headaches
Not quite there yet….
11
More Packaging Thoughts
Imperfect, but still useful
Additional pros and cons for package formats…
● Forward “only” -- it’s difficult to back out packages, it’s super difficult to return to an
arbitrary state for a system.
● We have an enormous investment in tooling. We don’t want to throw that away.
● We have an enormous investment in training. We don’t want to throw that away.
● For all its flaws, standard Linux packaging has tens of thousands of hours of
accumulated wisdom that has been poured into its design + tooling. Ignore this at your
peril.
12
UNIX make
‘77
GNU make
‘88
Virtual Appliances
Let’s just ship the whole $%@^ thing!
* not to scale...
Linux
released
‘91
dpkg
‘94
RPM
‘97 ‘98
APT
YUM
‘03
?
‘17
OVF
‘08
Docker
‘13
Kubernetes
‘14
13
If you have the control of the “full stack” it’s
easy to ship applications.
● Virtual appliances can be
pre-configured
● There’s no “installation” -- just spin up
the VM and go
● No need to package software.
Virtual Appliances
Portable & predictable: What could go wrong?
14
A few of the problems with Virtual
Appliances
● VM “sprawl” -- easy to start VMs,
harder to keep track of
● Heavier on resource utilization &
scaling is a problem
● Tracking updates, etc. in virtual
appliances can be a nightmare
● Standardization? One ISV uses RHEL,
another Debian, another SUSE…
Virtual Appliance Problems
The old saying about regular expressions applies…
CONTAINERS TO THE RESCUE(?)
16
UNIX make
‘77
GNU make
‘88
A Brief (and incomplete) History of Packaging*
From `make install` to Docker (and beyond)
* not to scale...
Linux
released
‘91
dpkg
‘94
RPM
‘97 ‘98
APT
YUM
‘03
?
‘17
OVF
‘08
Docker
‘13
Kubernetes
‘14
RED HAT AND CONTAINERS
History of Containers
2000
2010
2005
2015
2000:
JAILS ADDED
TO FREEBSD
2006:
GENERIC PROCESS
CONTAINERS
2008:
KERNEL AND USER
NAMESPACES
2014:
GOOGLE
KUBERNETES
2008:
LINUX CONTAINER
PROJECT (LXC)
2015:
STANDARDS VIA
OCI AND CNCF
2013:
RED HAT
ENTERPRISE LINUX
2013:
DOTCLOUD
BECOMES DOCKER
2007:
GPC RENAMED
CONTROL GROUPS
2003:
SELINUX ADDED TO
LINUX MAINLINE
2015:
RHT CONTAINER
PLATFORMS
2015:
RHEL ATOMIC HOST
2001:
LINUX -VSERVER
PROJECT
2013:
DOT CLOUD PYCON
LIGHTNING TALK
2005:
FULL RELEASE OF
SOLARIS ZONES
18
WHAT ARE CONTAINERS?
It depends who you ask
● Isolated application processes on a
shared Linux OS kernel
● Simpler, lighter, and denser than
virtual machines
● Portable across different
environments
● Packages my application and all of
its dependencies
● Deploy to any environment in
seconds and enable CI/CD
● Easily access and share
containerized components
INFRASTRUCTURE APPLICATIONS
ALL DONE, RIGHT?
EVERYBODY GO HOME
20
Container Gaps
Once again, the technology du jour didn’t solve all the problems...
Docker solved many problems, but it introduced a few new ones, and failed to address some
solved problems with packages.
● Dev-centric - maybe to the detriment of Ops?
● Shipping multi-container applications.
● Container provenance -- where did this container come from?
● Container lifecycle and maintenance -- updating containers, maintaining the OS, etc.
● Best practices?
● Auditing software in containers is harder.
● Host/container mis-matches.
● Server-specific
● Run as root
RED HAT AND CONTAINERS
What’s Inside the Container Matters
36% of official images in Docker Hub contain high priority security vulnerabilities
● High vulnerabilities: ShellShock (bash),
Heartbleed (OpenSSL), etc.
● Medium vulnerabilities: Poodle
(OpenSSL), etc.
● Low vulnerabilities: gcc: array memory
allocations could cause integer overflow
Source: Over 30% of Official Images in Docker Hub Contain High Priority Security Vulnerabilities, Jayanth Gummaraju, Tarun Desikan,
and Yoshio Turner, BanyanOps, May 2015 (http://www.banyanops.com/pdf/BanyanOps-AnalyzingDockerHub-WhitePaper.pdf)
RED HAT AND CONTAINERS
Container Orchestration, Scheduling and
Management via Kubernetes
Critical for Building Containerized Application Infrastructure
● Orchestrate application services that span
multiple containers across multiple Linux
hosts
● Schedule containers across multiple hosts
in desired topology
● Enable manual and automated scaling up
& down
● Manage container lifecycle with declarative
model for health management to detect
and restart on failure
ORCHESTRATION
VIA KUBERNETES
SOLVING PACKAGING PROBLEMS
Thinking inside the box (shared)
Thinking inside the box (shared)
Thinking inside the box (shared)
IMPROVING THE HOST/DISTRO
INSERT DESIGNATOR, IF NEEDED28
Minimal Appliance-Like Trusted
Improving the Distribution
Creating a Container Host
29
RHEL Atomic is built from the same packages as RHEL, but deployed as a single image that
makes updates easy.
● Atomic updates: every server gets exactly the same set of packages.
● “git for your OS”: rpm-ostree enables you to deploy a specific version or rollback an
update.
● Immutable OS: Applications are deployed as containers, ensuring they do not interfere
with the host OS.
● Layered packages: In RHEL Atomic 7.2.6 we add the ability to “layer” packages on top
of the host. This is meant to add hardware support or other limited components.
Applications are still delivered in containers.
Atomic Updates: rpm-ostree
Updates are a single, reversible transaction.
30
RHEL Atomic 7.3 adds support for simple
image signing.
● Images may be signed as a whole.
● Can set policy to refuse to run
unsigned images or only images with
specific signatures.
● OpenShift/Kubernetes integration are
coming soon.
Laying a foundation for a strong chain of trust for container images
SIMPLE IMAGE SIGNING
31
The atomic command is used to manage the host and containers on the system.
● Updates -- “atomic host” command can be used to update the system or roll back to a
previous release.
● Scan -- “atomic scan” lets you check containers to see if they have any known
vulnerabilities (CVEs).
● Run and manage containers -- using the atomic CLI you can install, run, and uninstall
application and system containers.
● Diff -- view file or rpm level differences between images and/or containers.
● Top -- see the activity of all containers on your system with a convenient “top”-like
interface.
Atomic CLI
A cohesive entrypoint into the Atomic Host
32
Atomic Host offers support for Docker-formatted containers.
● Atomic Host is streamlined and optimized to run applications comprising one or more
Docker-formatted containers.
● RHEL Atomic 7.3 offers docker 1.10 and docker-latest (1.12).
● System containers offer the ability to run services before Docker runs. This also allows
us to put fewer packages in the host OS.
● Limiting applications to containers simplifies life for operators and developers.
Linux Containers
Run applications and system services in containers.
33
WHAT ABOUT THE DESKTOP?
34
● Uses OCI format
● Sandboxes applications using
Bubblewrap
(https://github.com/projectatomic/bub
blewrap)
● Uses systemd to set cgroups for
Sandbox (so requires a Linux distro
w/systemd)
● Formerly known as Xdg-app
● Desktop-oriented, not meant for
server apps at all
Flatpak - Sandboxing for the desktop
Some apps don’t fit in docker containers
35
Flatpak Use
A quick description - see Flatpak.org for more
Using Flatpak is easy-ish, but getting easier
● Add Flatpak repos separately (e.g., GNOME Nightly)
● Install and update applications separately from the rest of your Desktop
● KDE Runtime for Flatpak in development
● “might eat your pet or firstborn”
● Can use --user to install apps without root permissions
● Still early days, but shows promise for desktop apps distribution
OCI & CRI-O
INSERT DESIGNATOR, IF NEEDED37
We need a way to distribute and run
images that everybody agrees on -- even if
the implementations differ..
● cri-o: OCI-based implementation of
Kubernetes Container Runtime
Interface
● OCI Container Format: An agreed-on
on-disk format for Linux containers
Container Standards
Can’t we all just get along?
RED HAT AND CONTAINERS
Interoperability through Open Standards
Driving standards for containerization in four key areas
ISOLATION
FORMAT
ORCHESTRATION
DISTRIBUTION
NAMESPACES
SECURE ISOLATION
LOGICAL ENVIRONMENT
STATE MANAGER
RESOURCE MANAGEMENT
SELINUX
CGROUPS
HOST RUNTIME
RED HAT AND CONTAINERS
Interoperability through Open Standards
Driving standards for containerization in four key areas
CONTAINER FORMAT HOST RUNTIME
CONTAINER
BASE IMAGE
RHEL7
JAVA
SECURITY FIXES
APPLICATION
PLAY STOP PAUSE
ISOLATION
FORMAT
ORCHESTRATION
DISTRIBUTION
RED HAT AND CONTAINERS
Interoperability through Open Standards
Driving standards for containerization in four key areas
DESCRIBE MULTI-CONTAINER
APPLICATIONS
TRANSPARENT ORCHESTRATION
ACROSS CONTAINER HOSTS
ORCHESTRATION
VIA KUBERNETES
ISOLATION
FORMAT
ORCHESTRATION
DISTRIBUTION
RED HAT AND CONTAINERS
Interoperability through Open Standards
Driving standards for containerization in four key areas
ISV
REGISTRY
Docker search foo
ENTERPRISE
REGISTRY
RED HAT
REGISTRY
SEARCH
PULL
FEDERATE
ISOLATION
FORMAT
ORCHESTRATION
DISTRIBUTION
INSERT DESIGNATOR, IF NEEDED42
Legacy systems & applications aren’t going away soon
In most environments containerized apps must co-exist with legacy apps.
We have a lot to learn - but we should consider lessons of the past
The tools are evolving rapidly, we don’t know what the world is going to look like in a few
years -- or all the best practices, yet. But we can learn from the past.
Security has to come first
Speed and agility don’t help the business if you’re not secure. Everybody is a target.
Conclusion
The newfangled stuff is great, but we need to remember what we’ve learned the past 30+
years...
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
1 of 43

Recommended

Alles Docker oder Was ? by
Alles Docker oder Was ?Alles Docker oder Was ?
Alles Docker oder Was ?Anatole Tresch
197 views77 slides
Introduction to Docker, December 2014 "Tour de France" Edition by
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionJérôme Petazzoni
3.8K views60 slides
JOSA TechTalk: Taking Docker to Production by
JOSA TechTalk: Taking Docker to ProductionJOSA TechTalk: Taking Docker to Production
JOSA TechTalk: Taking Docker to ProductionJordan Open Source Association
8.3K views52 slides
Docker by
DockerDocker
DockerPatrick Oberdorf
11.2K views21 slides
Docker and OpenStack Boston Meetup by
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupKamesh Pemmaraju
2.2K views27 slides
Docker open stack boston by
Docker open stack bostonDocker open stack boston
Docker open stack bostondotCloud
4.7K views27 slides

More Related Content

What's hot

Introduction to Docker and all things containers, Docker Meetup at RelateIQ by
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQdotCloud
2.2K views52 slides
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu... by
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...Jérôme Petazzoni
10.9K views49 slides
JOSA TechTalk: Introduction to docker by
JOSA TechTalk: Introduction to dockerJOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to dockerJordan Open Source Association
507 views27 slides
Rishidot research briefing notes Cloudscaling by
Rishidot research briefing notes   CloudscalingRishidot research briefing notes   Cloudscaling
Rishidot research briefing notes CloudscalingRishidot Research
1.5K views4 slides
Distro Recipes 2013 : Make Debian and compiler agnostic by
Distro Recipes 2013 : Make Debian and  compiler agnostic Distro Recipes 2013 : Make Debian and  compiler agnostic
Distro Recipes 2013 : Make Debian and compiler agnostic Anne Nicolas
3.5K views54 slides
Docker based-pipelines by
Docker based-pipelinesDocker based-pipelines
Docker based-pipelinesDevOps.com
533 views59 slides

What's hot(20)

Introduction to Docker and all things containers, Docker Meetup at RelateIQ by dotCloud
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
dotCloud2.2K views
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu... by Jérôme Petazzoni
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
Making DevOps Secure with Docker on Solaris (Oracle Open World, with Jesse Bu...
Jérôme Petazzoni10.9K views
Rishidot research briefing notes Cloudscaling by Rishidot Research
Rishidot research briefing notes   CloudscalingRishidot research briefing notes   Cloudscaling
Rishidot research briefing notes Cloudscaling
Rishidot Research1.5K views
Distro Recipes 2013 : Make Debian and compiler agnostic by Anne Nicolas
Distro Recipes 2013 : Make Debian and  compiler agnostic Distro Recipes 2013 : Make Debian and  compiler agnostic
Distro Recipes 2013 : Make Debian and compiler agnostic
Anne Nicolas3.5K views
Docker based-pipelines by DevOps.com
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com533 views
Distro Recipes 2013 : Debian and quality assurance by Anne Nicolas
Distro Recipes 2013 : Debian and quality assuranceDistro Recipes 2013 : Debian and quality assurance
Distro Recipes 2013 : Debian and quality assurance
Anne Nicolas3.1K views
Docker engine - Indroduc by Al Gifari
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
Al Gifari377 views
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire by dotCloud
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
dotCloud3.1K views
Getting started with docker by JEMLI Fathi
Getting started with dockerGetting started with docker
Getting started with docker
JEMLI Fathi640 views
Linux Container Brief for IEEE WG P2302 by Boden Russell
Linux Container Brief for IEEE WG P2302Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302
Boden Russell3.6K views
Containers, docker, and security: state of the union (Bay Area Infracoders Me... by Jérôme Petazzoni
Containers, docker, and security: state of the union (Bay Area Infracoders Me...Containers, docker, and security: state of the union (Bay Area Infracoders Me...
Containers, docker, and security: state of the union (Bay Area Infracoders Me...
Dockerize the World - presentation from Hradec Kralove by damovsky
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
damovsky6.1K views
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy by Boden Russell
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copyLinux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Linux containers – next gen virtualization for cloud (atl summit) ar4 3 - copy
Boden Russell4K views
Evoluation of Linux Container Virtualization by Imesh Gunaratne
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
Imesh Gunaratne4.2K views
Docker in pratice -chenyifei by dotCloud
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
dotCloud19.6K views
Docker to the Rescue of an Ops Team by Rachid Zarouali
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
Rachid Zarouali189 views
SCALE 2011 Deploying OpenStack with Chef by Matt Ray
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with Chef
Matt Ray2.1K views

Viewers also liked

Taking the open cloud to 11 by
Taking the open cloud to 11Taking the open cloud to 11
Taking the open cloud to 11Joe Brockmeier
872 views21 slides
Biweekly Financial Commentary 06 10 23 by
Biweekly Financial Commentary 06 10 23Biweekly Financial Commentary 06 10 23
Biweekly Financial Commentary 06 10 23Ant Wong
154 views6 slides
Designed for the Worst Case - Zurich's water supply by
Designed for  the Worst Case - Zurich's water supplyDesigned for  the Worst Case - Zurich's water supply
Designed for the Worst Case - Zurich's water supplyMemi Beltrame
1.7K views18 slides
Biweekly Financial Commentary 08 05 19 by
Biweekly Financial Commentary 08 05 19Biweekly Financial Commentary 08 05 19
Biweekly Financial Commentary 08 05 19Ant Wong
155 views5 slides
Ib.2009 by
Ib.2009Ib.2009
Ib.2009Ant Wong
409 views10 slides
M2M & D2D Communication Patents for IoT Innovation Ranking by
M2M & D2D Communication Patents for IoT Innovation RankingM2M & D2D Communication Patents for IoT Innovation Ranking
M2M & D2D Communication Patents for IoT Innovation RankingAlex G. Lee, Ph.D. Esq. CLP
608 views5 slides

Viewers also liked(20)

Biweekly Financial Commentary 06 10 23 by Ant Wong
Biweekly Financial Commentary 06 10 23Biweekly Financial Commentary 06 10 23
Biweekly Financial Commentary 06 10 23
Ant Wong154 views
Designed for the Worst Case - Zurich's water supply by Memi Beltrame
Designed for  the Worst Case - Zurich's water supplyDesigned for  the Worst Case - Zurich's water supply
Designed for the Worst Case - Zurich's water supply
Memi Beltrame1.7K views
Biweekly Financial Commentary 08 05 19 by Ant Wong
Biweekly Financial Commentary 08 05 19Biweekly Financial Commentary 08 05 19
Biweekly Financial Commentary 08 05 19
Ant Wong155 views
Ib.2009 by Ant Wong
Ib.2009Ib.2009
Ib.2009
Ant Wong409 views
Prfm programming 2_with_notes by Yung-Luen Lan
Prfm programming 2_with_notesPrfm programming 2_with_notes
Prfm programming 2_with_notes
Yung-Luen Lan371 views
Legal Issues in Collaboration Alliances for the University Spinouts & Technol... by Alex G. Lee, Ph.D. Esq. CLP
Legal Issues in Collaboration Alliances for the University Spinouts & Technol...Legal Issues in Collaboration Alliances for the University Spinouts & Technol...
Legal Issues in Collaboration Alliances for the University Spinouts & Technol...
Sessa a. polt soc. by Alain Denis
Sessa  a. polt soc.Sessa  a. polt soc.
Sessa a. polt soc.
Alain Denis513 views
Article finansavisen 18sep2010 by Lars Bjørge
Article finansavisen 18sep2010Article finansavisen 18sep2010
Article finansavisen 18sep2010
Lars Bjørge244 views
Intervento K Ma C Pacini by aprovisi
Intervento K Ma C PaciniIntervento K Ma C Pacini
Intervento K Ma C Pacini
aprovisi405 views
презентация акс бизнес 1 by guest4ab0dd
презентация акс бизнес 1презентация акс бизнес 1
презентация акс бизнес 1
guest4ab0dd289 views

Similar to Thinking inside the box (shared)

Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 by
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet
1.8K views73 slides
VASCAN - Docker and Security by
VASCAN - Docker and SecurityVASCAN - Docker and Security
VASCAN - Docker and SecurityMichael Irwin
182 views33 slides
Docker up and Running For Web Developers by
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web DevelopersBADR
404 views58 slides
Docker Up and Running for Web Developers by
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web DevelopersAmr Fawzy
446 views58 slides
Real-World Docker: 10 Things We've Learned by
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned RightScale
16.8K views36 slides
Introduction to Project atomic (CentOS Dojo Bangalore) by
Introduction to Project atomic (CentOS Dojo Bangalore)Introduction to Project atomic (CentOS Dojo Bangalore)
Introduction to Project atomic (CentOS Dojo Bangalore)Lalatendu Mohanty
7.3K views25 slides

Similar to Thinking inside the box (shared)(20)

Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 by Puppet
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet1.8K views
VASCAN - Docker and Security by Michael Irwin
VASCAN - Docker and SecurityVASCAN - Docker and Security
VASCAN - Docker and Security
Michael Irwin182 views
Docker up and Running For Web Developers by BADR
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
BADR404 views
Docker Up and Running for Web Developers by Amr Fawzy
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
Amr Fawzy446 views
Real-World Docker: 10 Things We've Learned by RightScale
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
RightScale16.8K views
Introduction to Project atomic (CentOS Dojo Bangalore) by Lalatendu Mohanty
Introduction to Project atomic (CentOS Dojo Bangalore)Introduction to Project atomic (CentOS Dojo Bangalore)
Introduction to Project atomic (CentOS Dojo Bangalore)
Lalatendu Mohanty7.3K views
Introduction to Docker at the Azure Meet-up in New York by Jérôme Petazzoni
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
Jérôme Petazzoni3.9K views
Next in Virtualization Era: Containerization & Docker by Alper Kanat
Next in Virtualization Era: Containerization & DockerNext in Virtualization Era: Containerization & Docker
Next in Virtualization Era: Containerization & Docker
Alper Kanat72 views
Journey to the devops automation with docker kubernetes and openshift by Yusuf Hadiwinata Sutandar
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni by TheFamily
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
TheFamily1.4K views
LXC Docker and the Future of Software Delivery by Docker, Inc.
LXC Docker and the Future of Software DeliveryLXC Docker and the Future of Software Delivery
LXC Docker and the Future of Software Delivery
Docker, Inc.631 views
Deploying OpenStack with Ansible by Kevin Carter
Deploying OpenStack with AnsibleDeploying OpenStack with Ansible
Deploying OpenStack with Ansible
Kevin Carter5.8K views
Docker on Power Systems by Cesar Maciel
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
Cesar Maciel4.5K views
CD in kubernetes using helm and ksonnet. Stas Kolenkin by DataArt
CD in kubernetes using helm and ksonnet. Stas KolenkinCD in kubernetes using helm and ksonnet. Stas Kolenkin
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt566 views
A Gentle Introduction To Docker And All Things Containers by Jérôme Petazzoni
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
Jérôme Petazzoni60.6K views
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches... by NETWAYS
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
NETWAYS19 views
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches... by NETWAYS
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
NETWAYS199 views

More from Joe Brockmeier

Community Over Code: How to Build a Successful Project by
Community Over Code: How to Build a Successful ProjectCommunity Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectJoe Brockmeier
374 views22 slides
Introduction to Atomic: Tailoring a Trusted OS for Containers by
Introduction to Atomic: Tailoring a Trusted OS for ContainersIntroduction to Atomic: Tailoring a Trusted OS for Containers
Introduction to Atomic: Tailoring a Trusted OS for ContainersJoe Brockmeier
1.6K views25 slides
Sharing Apache's Goodness: How We Should be Telling Apache's Story by
Sharing Apache's Goodness: How We Should be Telling Apache's StorySharing Apache's Goodness: How We Should be Telling Apache's Story
Sharing Apache's Goodness: How We Should be Telling Apache's StoryJoe Brockmeier
3.5K views24 slides
Solving the Package Problem by
Solving the Package ProblemSolving the Package Problem
Solving the Package ProblemJoe Brockmeier
3K views36 slides
Apache CloudStack: API to UI (STLLUG) by
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Joe Brockmeier
1.9K views44 slides
Apache CloudStack: From API to UI (NYLUG) by
Apache CloudStack: From API to UI (NYLUG)Apache CloudStack: From API to UI (NYLUG)
Apache CloudStack: From API to UI (NYLUG)Joe Brockmeier
1.1K views42 slides

More from Joe Brockmeier(12)

Community Over Code: How to Build a Successful Project by Joe Brockmeier
Community Over Code: How to Build a Successful ProjectCommunity Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful Project
Joe Brockmeier374 views
Introduction to Atomic: Tailoring a Trusted OS for Containers by Joe Brockmeier
Introduction to Atomic: Tailoring a Trusted OS for ContainersIntroduction to Atomic: Tailoring a Trusted OS for Containers
Introduction to Atomic: Tailoring a Trusted OS for Containers
Joe Brockmeier1.6K views
Sharing Apache's Goodness: How We Should be Telling Apache's Story by Joe Brockmeier
Sharing Apache's Goodness: How We Should be Telling Apache's StorySharing Apache's Goodness: How We Should be Telling Apache's Story
Sharing Apache's Goodness: How We Should be Telling Apache's Story
Joe Brockmeier3.5K views
Apache CloudStack: API to UI (STLLUG) by Joe Brockmeier
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)
Joe Brockmeier1.9K views
Apache CloudStack: From API to UI (NYLUG) by Joe Brockmeier
Apache CloudStack: From API to UI (NYLUG)Apache CloudStack: From API to UI (NYLUG)
Apache CloudStack: From API to UI (NYLUG)
Joe Brockmeier1.1K views
Deploying Apache CloudStack from API to UI by Joe Brockmeier
Deploying Apache CloudStack from API to UIDeploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UI
Joe Brockmeier9.4K views
Getting Started with Apache CloudStack by Joe Brockmeier
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStack
Joe Brockmeier3.2K views
How I Learned to Stop Worrying, and Love Open Source Software Foundations by Joe Brockmeier
How I Learned to Stop Worrying, and Love Open Source Software FoundationsHow I Learned to Stop Worrying, and Love Open Source Software Foundations
How I Learned to Stop Worrying, and Love Open Source Software Foundations
Joe Brockmeier596 views

Recently uploaded

Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...ShapeBlue
37 views15 slides
Business Analyst Series 2023 - Week 3 Session 5 by
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
345 views20 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
27 views49 slides
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
126 views32 slides
DRBD Deep Dive - Philipp Reisner - LINBIT by
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
44 views21 slides
Microsoft Power Platform.pptx by
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptxUni Systems S.M.S.A.
61 views38 slides

Recently uploaded(20)

Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue37 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10345 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson126 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue44 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue60 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue62 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue25 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue71 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu28 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue70 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue38 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue26 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue61 views

Thinking inside the box (shared)

  • 1. THINKING INSIDE THE BOX Can Containers Solve the Package Problem? Joe Brockmeier Senior Evangelist, Linux Containers 2 November 2016
  • 2. 2
  • 3. 3 A Brief History of Packaging The Problems We Face Mistakes We’re Making (Again) Some Solutions WHAT WE’LL COVER A complete treatise on software packaging in 45 minutes or less…
  • 4. 4 THE PROBLEM We need to be able to move software from development to test to production. It needs to be distributed over insecure networks. Operators need to be able to manage the software, developers need to be able to deliver with minimal friction.
  • 5. 5 We had the source, and found that it was good. ● Worked on a variety of systems (maybe) ● You did your own configuration. ● Was appropriate for speed of development circa 1990-1997. The Early Days... ./configure; make; make install
  • 6. 6 UNIX make ‘77 GNU make ‘88 A Brief (and incomplete) History of Packaging* From `make install` to Docker (and beyond) * not to scale... Linux released ‘91 dpkg ‘94 RPM ‘97 ‘98 APT YUM ‘03 ? ‘17 OVF ‘08 Docker ‘13 Kubernetes ‘14
  • 7. 7 UNIX make ‘77 GNU make ‘88 Rise of the Package Manager No More ‘make install’ * not to scale... Linux released ‘91 dpkg ‘94 RPM ‘97 ‘98 APT YUM ‘03 ? ‘17 OVF ‘08 Docker ‘13 Kubernetes ‘14
  • 8. 8 UNIX make ‘77 GNU make ‘88 Evolution of Package Management From `make install` to Docker (and beyond) * not to scale... Linux released ‘91 dpkg ‘94 RPM ‘97 ‘98 APT YUM ‘03 ? ‘17 OVF ‘08 Docker ‘13 Kubernetes ‘14
  • 9. 9 This was great, briefly, but.... ● Upstream speed + distribution speed rarely matched ● Developers wanted newer releases of $language or $library than in the distribution ● You can never package everything ● Upstreams didn’t like decisions made by distributions… ● Packaging guidelines not widely loved Linux Distributions as the Center of Gravity To be relevant, you had to be packaged
  • 10. 10 FRAGMENTATION Should I use dpkg, or RPM? Package for Red Hat, or SUSE, or Debian, or Ubuntu, or…? COMPLICATED Packaging guidelines tend to be complicated. Developers do not love creating RPMs and Debian packages. PACKAGING APPLICATIONS IS HARD It’s easy to package WordPress. It’s hard to get it into a usable state from RPM or dpkg. Packaging Headaches Not quite there yet….
  • 11. 11 More Packaging Thoughts Imperfect, but still useful Additional pros and cons for package formats… ● Forward “only” -- it’s difficult to back out packages, it’s super difficult to return to an arbitrary state for a system. ● We have an enormous investment in tooling. We don’t want to throw that away. ● We have an enormous investment in training. We don’t want to throw that away. ● For all its flaws, standard Linux packaging has tens of thousands of hours of accumulated wisdom that has been poured into its design + tooling. Ignore this at your peril.
  • 12. 12 UNIX make ‘77 GNU make ‘88 Virtual Appliances Let’s just ship the whole $%@^ thing! * not to scale... Linux released ‘91 dpkg ‘94 RPM ‘97 ‘98 APT YUM ‘03 ? ‘17 OVF ‘08 Docker ‘13 Kubernetes ‘14
  • 13. 13 If you have the control of the “full stack” it’s easy to ship applications. ● Virtual appliances can be pre-configured ● There’s no “installation” -- just spin up the VM and go ● No need to package software. Virtual Appliances Portable & predictable: What could go wrong?
  • 14. 14 A few of the problems with Virtual Appliances ● VM “sprawl” -- easy to start VMs, harder to keep track of ● Heavier on resource utilization & scaling is a problem ● Tracking updates, etc. in virtual appliances can be a nightmare ● Standardization? One ISV uses RHEL, another Debian, another SUSE… Virtual Appliance Problems The old saying about regular expressions applies…
  • 15. CONTAINERS TO THE RESCUE(?)
  • 16. 16 UNIX make ‘77 GNU make ‘88 A Brief (and incomplete) History of Packaging* From `make install` to Docker (and beyond) * not to scale... Linux released ‘91 dpkg ‘94 RPM ‘97 ‘98 APT YUM ‘03 ? ‘17 OVF ‘08 Docker ‘13 Kubernetes ‘14
  • 17. RED HAT AND CONTAINERS History of Containers 2000 2010 2005 2015 2000: JAILS ADDED TO FREEBSD 2006: GENERIC PROCESS CONTAINERS 2008: KERNEL AND USER NAMESPACES 2014: GOOGLE KUBERNETES 2008: LINUX CONTAINER PROJECT (LXC) 2015: STANDARDS VIA OCI AND CNCF 2013: RED HAT ENTERPRISE LINUX 2013: DOTCLOUD BECOMES DOCKER 2007: GPC RENAMED CONTROL GROUPS 2003: SELINUX ADDED TO LINUX MAINLINE 2015: RHT CONTAINER PLATFORMS 2015: RHEL ATOMIC HOST 2001: LINUX -VSERVER PROJECT 2013: DOT CLOUD PYCON LIGHTNING TALK 2005: FULL RELEASE OF SOLARIS ZONES
  • 18. 18 WHAT ARE CONTAINERS? It depends who you ask ● Isolated application processes on a shared Linux OS kernel ● Simpler, lighter, and denser than virtual machines ● Portable across different environments ● Packages my application and all of its dependencies ● Deploy to any environment in seconds and enable CI/CD ● Easily access and share containerized components INFRASTRUCTURE APPLICATIONS
  • 20. 20 Container Gaps Once again, the technology du jour didn’t solve all the problems... Docker solved many problems, but it introduced a few new ones, and failed to address some solved problems with packages. ● Dev-centric - maybe to the detriment of Ops? ● Shipping multi-container applications. ● Container provenance -- where did this container come from? ● Container lifecycle and maintenance -- updating containers, maintaining the OS, etc. ● Best practices? ● Auditing software in containers is harder. ● Host/container mis-matches. ● Server-specific ● Run as root
  • 21. RED HAT AND CONTAINERS What’s Inside the Container Matters 36% of official images in Docker Hub contain high priority security vulnerabilities ● High vulnerabilities: ShellShock (bash), Heartbleed (OpenSSL), etc. ● Medium vulnerabilities: Poodle (OpenSSL), etc. ● Low vulnerabilities: gcc: array memory allocations could cause integer overflow Source: Over 30% of Official Images in Docker Hub Contain High Priority Security Vulnerabilities, Jayanth Gummaraju, Tarun Desikan, and Yoshio Turner, BanyanOps, May 2015 (http://www.banyanops.com/pdf/BanyanOps-AnalyzingDockerHub-WhitePaper.pdf)
  • 22. RED HAT AND CONTAINERS Container Orchestration, Scheduling and Management via Kubernetes Critical for Building Containerized Application Infrastructure ● Orchestrate application services that span multiple containers across multiple Linux hosts ● Schedule containers across multiple hosts in desired topology ● Enable manual and automated scaling up & down ● Manage container lifecycle with declarative model for health management to detect and restart on failure ORCHESTRATION VIA KUBERNETES
  • 28. INSERT DESIGNATOR, IF NEEDED28 Minimal Appliance-Like Trusted Improving the Distribution Creating a Container Host
  • 29. 29 RHEL Atomic is built from the same packages as RHEL, but deployed as a single image that makes updates easy. ● Atomic updates: every server gets exactly the same set of packages. ● “git for your OS”: rpm-ostree enables you to deploy a specific version or rollback an update. ● Immutable OS: Applications are deployed as containers, ensuring they do not interfere with the host OS. ● Layered packages: In RHEL Atomic 7.2.6 we add the ability to “layer” packages on top of the host. This is meant to add hardware support or other limited components. Applications are still delivered in containers. Atomic Updates: rpm-ostree Updates are a single, reversible transaction.
  • 30. 30 RHEL Atomic 7.3 adds support for simple image signing. ● Images may be signed as a whole. ● Can set policy to refuse to run unsigned images or only images with specific signatures. ● OpenShift/Kubernetes integration are coming soon. Laying a foundation for a strong chain of trust for container images SIMPLE IMAGE SIGNING
  • 31. 31 The atomic command is used to manage the host and containers on the system. ● Updates -- “atomic host” command can be used to update the system or roll back to a previous release. ● Scan -- “atomic scan” lets you check containers to see if they have any known vulnerabilities (CVEs). ● Run and manage containers -- using the atomic CLI you can install, run, and uninstall application and system containers. ● Diff -- view file or rpm level differences between images and/or containers. ● Top -- see the activity of all containers on your system with a convenient “top”-like interface. Atomic CLI A cohesive entrypoint into the Atomic Host
  • 32. 32 Atomic Host offers support for Docker-formatted containers. ● Atomic Host is streamlined and optimized to run applications comprising one or more Docker-formatted containers. ● RHEL Atomic 7.3 offers docker 1.10 and docker-latest (1.12). ● System containers offer the ability to run services before Docker runs. This also allows us to put fewer packages in the host OS. ● Limiting applications to containers simplifies life for operators and developers. Linux Containers Run applications and system services in containers.
  • 33. 33 WHAT ABOUT THE DESKTOP?
  • 34. 34 ● Uses OCI format ● Sandboxes applications using Bubblewrap (https://github.com/projectatomic/bub blewrap) ● Uses systemd to set cgroups for Sandbox (so requires a Linux distro w/systemd) ● Formerly known as Xdg-app ● Desktop-oriented, not meant for server apps at all Flatpak - Sandboxing for the desktop Some apps don’t fit in docker containers
  • 35. 35 Flatpak Use A quick description - see Flatpak.org for more Using Flatpak is easy-ish, but getting easier ● Add Flatpak repos separately (e.g., GNOME Nightly) ● Install and update applications separately from the rest of your Desktop ● KDE Runtime for Flatpak in development ● “might eat your pet or firstborn” ● Can use --user to install apps without root permissions ● Still early days, but shows promise for desktop apps distribution
  • 37. INSERT DESIGNATOR, IF NEEDED37 We need a way to distribute and run images that everybody agrees on -- even if the implementations differ.. ● cri-o: OCI-based implementation of Kubernetes Container Runtime Interface ● OCI Container Format: An agreed-on on-disk format for Linux containers Container Standards Can’t we all just get along?
  • 38. RED HAT AND CONTAINERS Interoperability through Open Standards Driving standards for containerization in four key areas ISOLATION FORMAT ORCHESTRATION DISTRIBUTION NAMESPACES SECURE ISOLATION LOGICAL ENVIRONMENT STATE MANAGER RESOURCE MANAGEMENT SELINUX CGROUPS HOST RUNTIME
  • 39. RED HAT AND CONTAINERS Interoperability through Open Standards Driving standards for containerization in four key areas CONTAINER FORMAT HOST RUNTIME CONTAINER BASE IMAGE RHEL7 JAVA SECURITY FIXES APPLICATION PLAY STOP PAUSE ISOLATION FORMAT ORCHESTRATION DISTRIBUTION
  • 40. RED HAT AND CONTAINERS Interoperability through Open Standards Driving standards for containerization in four key areas DESCRIBE MULTI-CONTAINER APPLICATIONS TRANSPARENT ORCHESTRATION ACROSS CONTAINER HOSTS ORCHESTRATION VIA KUBERNETES ISOLATION FORMAT ORCHESTRATION DISTRIBUTION
  • 41. RED HAT AND CONTAINERS Interoperability through Open Standards Driving standards for containerization in four key areas ISV REGISTRY Docker search foo ENTERPRISE REGISTRY RED HAT REGISTRY SEARCH PULL FEDERATE ISOLATION FORMAT ORCHESTRATION DISTRIBUTION
  • 42. INSERT DESIGNATOR, IF NEEDED42 Legacy systems & applications aren’t going away soon In most environments containerized apps must co-exist with legacy apps. We have a lot to learn - but we should consider lessons of the past The tools are evolving rapidly, we don’t know what the world is going to look like in a few years -- or all the best practices, yet. But we can learn from the past. Security has to come first Speed and agility don’t help the business if you’re not secure. Everybody is a target. Conclusion The newfangled stuff is great, but we need to remember what we’ve learned the past 30+ years...