SlideShare ist ein Scribd-Unternehmen logo
1 von 36
SSoollvviinngg tthhee PPaacckkaaggee PPrroobblleemm 
JJooee BBrroocckkmmeeiieerr 
jjzzbb@@rreeddhhaatt..ccoomm 
TTwwiitttteerr:: @@jjzzbb 
hhttttpp::////ddiissssoocciiaatteeddpprreessss..nneett// 
OOppeenn SSoouurrccee CCoommmmuunniittyy @@ RReedd HHaatt 
TTwwiitttteerr:: @@RReeddHHaattOOppeenn 
hhttttpp::////ccoommmmuunniittyy..rreeddhhaatt..ccoomm// 
1
2 
WWhhoo''ss tthhiiss gguuyy??
3 
Solving tthhee PPaacckkaaggee PPrroobblleemm 
● TThhee PPaacckkaaggiinngg PPrroobblleemm WWee FFaaccee 
● SSooffttwwaarree CCoolllleeccttiioonnss 
● rrppmm--oossttrreeee 
● DDoocckkaahh,, DDoocckkaahh,, DDoocckkaahh 
● QQuueessttiioonnss
4 
IInn tthhee BBeeggiinnnniinngg......
5 
DDiissttrriibbuuttiioonnss aass tthhee 
CCeenntteerr ooff tthhee UUnniivveerrssee
6 
Developers ddoo nnoott wwaanntt ttoo bbee 
lliimmiitteedd ttoo ssyysstteemm vveerrssiioonnss ooff 
ssooffttwwaarree
7 
Developers wwaanntt eeaassiieerr wwaayyss ttoo ddeeppllooyy 
ccoommpplleexx ssooffttwwaarree ffrroomm ddeesskkttoopp ttoo 
sseerrvveerr
8 
AAuuttoommaattee AALLLL TTHHEE TTHHIINNGGSS
9 
Software Collections, rrppmm--oossttrreeee,, aanndd 
DDoocckkeerr ((oohh mmyy))
Let's talk about SSooffttwwaarree CCoolllleeccttiioonnss 
SCALE 12x
11 
Do not rreeqquuiirree cchhaannggeess ttoo RRPPMM
SSooffttwwaarree CCoolllleeccttiioonnss aarree nnoott jjuusstt aa ddiiffffeerreenntt 
12 
vveerrssiioonn ppaacckkaaggeedd ffoorr yyoouurr OOSS
13 
Do not oovveerrwwrriittee ssyysstteemm ffiilleess
Example: PHP 5.4 
OOnn CCeennttOOSS 66..xx 
PPHHPP 55..44 ppaacckkaaggee iiss php54 
TThhiiss ppuullllss iinn:: 
php54­php­cli. 
x86_64 
php54­php­common. 
x86_64 
php54­php­pear. 
noarch 
php54­php­process. 
x86_64 
php54­php­xml. 
x86_64 
php54­runtime. 
x86_64 
LLiivveess iinn:: /opt/rh/php54/root 
14
15 
Avoid ccoonnfflliiccttss wwiitthh ssyysstteemm ffiilleess
16 
RReeqquuiirree mmiinnoorr cchhaannggeess ttoo yyoouurr eexxiissttiinngg 
ssppeecc ffiilleess
Do not conflict wwiitthh uuppddaatteess oonn yyoouurr ssyysstteemm 
17
18 
NNiiffttyy:: CCaann ddeeppeenndd oonn ootthheerr SSCCLLss
Let's ttaallkk aabboouutt uussiinngg SSCCLLss 
SCALE 12x
20 
SSooffttwwaarree CCoolllleeccttiioonnss CCuurrrreennttllyy 
● Red Hat Software Collections went GA on 12 Sept 
2013 
● CentOS announced SCLs 19 February 2014 
● Fedora has SCLs on Fedora Hosted since 2013: 
https://fedorahosted.org/SoftwareCollections/
21 
What's Packaged ffoorr SSooffttwwaarree CCoolllleeccttiioonnss 
● Ruby 1.9.3 
● Python 2.7 
● Python 3.3 
● PHP 5.4 
● Perl 5.16.3 
● Tech preview Node.js 0.10 
● MariaDB 5.5 
● MySQL 5.5 
● PostgreSQL 9.2
22 
GGeettttiinngg SSttaarrtteedd 
● Assuming using a SLC with CentOS 
● yum install centos­release­SCL 
● yum install php54 (or whatever...) 
● scl enable php54 “application ­­option” 
● Your application now uses PHP 5.4 ... the rest of the 
system ignores it. 
● Python & Django with SCL (by Langdon White): 
● http://red.ht/scldjango 
● Find packages for CentOS here: 
http://mirror.metrocast.net/centos/6.5/SCL/x86_64/
23 
Packaging SCLs 
● Grab the necessary ppaacckkaaggeess ((CCeennttOOSS oorr FFeeddoorraa 
oorr RRHHEELL 66..55)):: 
yum install scl­utils 
scl­utils­build 
● IInnssttrruuccttiioonnss oonn ccoonnvveerrttiinngg aann eexxiissttiinngg ppaacckkaaggee:: 
http://bit.ly/scl­spec­file 
● FFoorr CCoonnvveerrssiioonn:: spec2scl 
● GGeenneerraall iinnssttrruuccttiioonnss oonn ppaacckkaaggiinngg SSCCLLss:: 
http://bit.ly/pkging­scls
SSooffttwwaarreeCCoolllleeccttiioonnss..oorrgg 
SCALE 12x
25 
What is SoftwareCollections.org? 
● Upstream community for development of SCLs. 
● Build and hosting services for collections. 
● Resources (documentation, forums, mailing lists) for 
developers/packagers. 
● An index of packaged software for users of CentOS, 
Fedora, RHEL, and other RPM-based distributions.
26 
The Lifecycle of Collections 
● SCLs can be used to provide newer software support 
on older releases, or (going forward) to provide legacy 
support on newer releases: 
● Example: Application using Ruby on Rails N deployed 
on CentOS 6, via SCL. Same application deployed on 
CentOS 7 (when released) using SCL. 
● OpenShift leverages SCLs for its cartridges using 
RHEL supported and non-supported components. 
● SCLs can be used inside Docker containers to simplify 
container deployment.
rrppmm--oossttrreeee 
SCALE 12x
28 
The Problem with Packages 
● RPM (and dpkg) are designed to go one way: forward 
● Upgrades are difficult to “roll back” in the event 
something goes wrong 
● Switching between two distinct OSes / versions is 
more or less impossible
29 
What is rpm-ostree? 
● Derived from ostree 
● Initially conceived of as a way to parallel install multiple 
UNIX-like OSes (e.g., Fedora Rawhide and Fedora 20) 
● “git for operating system binaries” 
● Creates an installable tree from RPMs 
● Not a package manager, but does take on some of the 
role from package managers
30 
What rpm-ostree Enables 
● Install one or more operating system trees to a system 
● Gives “atomic” updates 
● An update is, essentially, one unit – it succeeds or fails 
● An update can be rolled back 
● Allows switching between “trees” 
● Provides tools for creating tree composes
31 
Current Limitations 
● Currently, an rpm-ostree “tree” is an immutable system 
● Doesn't allow for adding packages to a system w/out 
rebuilding the tree 
● Build tools are still being developed, but moving 
quickly
So, anybody heard ooff tthhiiss DDoocckkeerr tthhiinngg?? 
SCALE 12x
33 
The Problem with Packages 
● Deploying complex services / applications is difficult 
with packages 
● Packages aren't as portable as we'd like 
● Application is developed on CentOS 6, but production is 
using CentOS 7? 
● Packaging guidelines can be ... difficult 
● Packages don't provide any solution for running 
containerized applications...
34 
Docker: It's Like Deluxe Super Awesome 
Packaging 
● Docker is application-centric 
● Docker containers are portable 
● Supports versioning for an entire container 
● Components can be re-used 
● Allows for supplying ready-to-run services rather than 
half-configured packages 
● Buzzword compliant
35 
Docker to the Rescue? 
● Docker containers: relatively easy to work with 
● Provide far more “services” than package systems 
● Application isolation 
● Image format, sharing, API 
● Allows “layering” of applications 
● One group provides base image 
● Another group provides base image + 
framework/service (e.g., Apache) 
● Another group provides base image + framework + 
finished application ready to deploy
TThhaannkkss!! 
JJooee BBrroocckkmmeeiieerr 
jjzzbb@@rreeddhhaatt.ccoomm 
TTwwiitttteerr:: @@jjzzbb

Weitere ähnliche Inhalte

Was ist angesagt?

OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebulaOpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebulaOpenNebula Project
 
TechDay - April - Customizing VM Images
TechDay - April - Customizing VM ImagesTechDay - April - Customizing VM Images
TechDay - April - Customizing VM ImagesOpenNebula Project
 
Cluster management (supercomputer)
Cluster management (supercomputer)Cluster management (supercomputer)
Cluster management (supercomputer)Hary HarysMatta
 
Introduction to systemd
Introduction to systemdIntroduction to systemd
Introduction to systemdYusaku OGAWA
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebula Project
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula Project
 
Open stack in_production__the_good,_the_bad_&_the_ugly
Open stack in_production__the_good,_the_bad_&_the_uglyOpen stack in_production__the_good,_the_bad_&_the_ugly
Open stack in_production__the_good,_the_bad_&_the_uglyOpenStack Foundation
 
DevOps News 20150712
DevOps News 20150712DevOps News 20150712
DevOps News 20150712Tao Xu
 
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.WG_ Events
 
How To Setup NVIDIA CUDA Drvier on Ubuntu
How To Setup NVIDIA CUDA Drvier on UbuntuHow To Setup NVIDIA CUDA Drvier on Ubuntu
How To Setup NVIDIA CUDA Drvier on UbuntuSEUNGWOO LEE
 
OpenNebulaConf2017EU: Rudder by Florian, Heigl
OpenNebulaConf2017EU: Rudder by Florian, HeiglOpenNebulaConf2017EU: Rudder by Florian, Heigl
OpenNebulaConf2017EU: Rudder by Florian, HeiglOpenNebula Project
 
Your first dive into systemd!
Your first dive into systemd!Your first dive into systemd!
Your first dive into systemd!Etsuji Nakai
 

Was ist angesagt? (17)

Android On Ubuntu for developer
Android On Ubuntu for developerAndroid On Ubuntu for developer
Android On Ubuntu for developer
 
oSSN19 - openSUSE on ARM
oSSN19 - openSUSE on ARMoSSN19 - openSUSE on ARM
oSSN19 - openSUSE on ARM
 
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebulaOpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
 
NetBSD workshop
NetBSD workshopNetBSD workshop
NetBSD workshop
 
TechDay - April - Customizing VM Images
TechDay - April - Customizing VM ImagesTechDay - April - Customizing VM Images
TechDay - April - Customizing VM Images
 
FreeBSD hosting
FreeBSD hostingFreeBSD hosting
FreeBSD hosting
 
Cluster management (supercomputer)
Cluster management (supercomputer)Cluster management (supercomputer)
Cluster management (supercomputer)
 
Introduction to systemd
Introduction to systemdIntroduction to systemd
Introduction to systemd
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7
 
Open stack in_production__the_good,_the_bad_&_the_ugly
Open stack in_production__the_good,_the_bad_&_the_uglyOpen stack in_production__the_good,_the_bad_&_the_ugly
Open stack in_production__the_good,_the_bad_&_the_ugly
 
DevOps News 20150712
DevOps News 20150712DevOps News 20150712
DevOps News 20150712
 
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
Kонтейнерная виртуализация в продуктах parallels прошлое, настоящее и будущее.
 
How To Setup NVIDIA CUDA Drvier on Ubuntu
How To Setup NVIDIA CUDA Drvier on UbuntuHow To Setup NVIDIA CUDA Drvier on Ubuntu
How To Setup NVIDIA CUDA Drvier on Ubuntu
 
OpenNebulaConf2017EU: Rudder by Florian, Heigl
OpenNebulaConf2017EU: Rudder by Florian, HeiglOpenNebulaConf2017EU: Rudder by Florian, Heigl
OpenNebulaConf2017EU: Rudder by Florian, Heigl
 
NetBSDworkshop
NetBSDworkshopNetBSDworkshop
NetBSDworkshop
 
Your first dive into systemd!
Your first dive into systemd!Your first dive into systemd!
Your first dive into systemd!
 

Andere mochten auch

Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStackJoe Brockmeier
 
IoT Smart Home Innovation R&D White Space Insights from Patents
IoT Smart Home Innovation R&D White Space Insights from Patents IoT Smart Home Innovation R&D White Space Insights from Patents
IoT Smart Home Innovation R&D White Space Insights from Patents Alex G. Lee, Ph.D. Esq. CLP
 
Afstudeerontwerp D. le Pair
Afstudeerontwerp D. le PairAfstudeerontwerp D. le Pair
Afstudeerontwerp D. le Paird.lepair
 
Patent Evaluation Services for Investment Professionals
Patent Evaluation Services for Investment ProfessionalsPatent Evaluation Services for Investment Professionals
Patent Evaluation Services for Investment ProfessionalsAlex G. Lee, Ph.D. Esq. CLP
 
Deploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UIDeploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UIJoe Brockmeier
 
Patent Monetization & Management Services & Products of TechIPm LLC
Patent Monetization & Management Services & Products of TechIPm LLCPatent Monetization & Management Services & Products of TechIPm LLC
Patent Monetization & Management Services & Products of TechIPm LLCAlex G. Lee, Ph.D. Esq. CLP
 
Biweekly Financial Commentary 06 10 23
Biweekly Financial Commentary 06 10 23Biweekly Financial Commentary 06 10 23
Biweekly Financial Commentary 06 10 23Ant Wong
 
IoT Ambient Intelligence for Smart Living Insights from Patents
IoT Ambient Intelligence for Smart Living Insights from PatentsIoT Ambient Intelligence for Smart Living Insights from Patents
IoT Ambient Intelligence for Smart Living Insights from PatentsAlex G. Lee, Ph.D. Esq. CLP
 
Microsoft Cloud-based Connected Car Service Insights from Patents
Microsoft Cloud-based Connected Car Service Insights from PatentsMicrosoft Cloud-based Connected Car Service Insights from Patents
Microsoft Cloud-based Connected Car Service Insights from PatentsAlex G. Lee, Ph.D. Esq. CLP
 
Google v. Samsung v. GE v. Boston Scientific Wearable Medical Device Patents
Google v. Samsung v. GE v. Boston Scientific Wearable Medical Device PatentsGoogle v. Samsung v. GE v. Boston Scientific Wearable Medical Device Patents
Google v. Samsung v. GE v. Boston Scientific Wearable Medical Device PatentsAlex G. Lee, Ph.D. Esq. CLP
 
Emerging Smartphone Killer Applications Insights from Patents
Emerging Smartphone Killer Applications Insights from PatentsEmerging Smartphone Killer Applications Insights from Patents
Emerging Smartphone Killer Applications Insights from PatentsAlex G. Lee, Ph.D. Esq. CLP
 
Ai One Presentation Semtech 2011 V3
Ai One Presentation Semtech 2011 V3Ai One Presentation Semtech 2011 V3
Ai One Presentation Semtech 2011 V3tom_marsh
 

Andere mochten auch (20)

Usaf Museum
Usaf MuseumUsaf Museum
Usaf Museum
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStack
 
IoT Smart Home Innovation R&D White Space Insights from Patents
IoT Smart Home Innovation R&D White Space Insights from Patents IoT Smart Home Innovation R&D White Space Insights from Patents
IoT Smart Home Innovation R&D White Space Insights from Patents
 
Filo
FiloFilo
Filo
 
Afstudeerontwerp D. le Pair
Afstudeerontwerp D. le PairAfstudeerontwerp D. le Pair
Afstudeerontwerp D. le Pair
 
Patent Evaluation Services for Investment Professionals
Patent Evaluation Services for Investment ProfessionalsPatent Evaluation Services for Investment Professionals
Patent Evaluation Services for Investment Professionals
 
Deploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UIDeploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UI
 
Patent Monetization & Management Services & Products of TechIPm LLC
Patent Monetization & Management Services & Products of TechIPm LLCPatent Monetization & Management Services & Products of TechIPm LLC
Patent Monetization & Management Services & Products of TechIPm LLC
 
Victor Molev
Victor MolevVictor Molev
Victor Molev
 
AFS Math 3
AFS Math 3AFS Math 3
AFS Math 3
 
Biweekly Financial Commentary 06 10 23
Biweekly Financial Commentary 06 10 23Biweekly Financial Commentary 06 10 23
Biweekly Financial Commentary 06 10 23
 
IoT Ambient Intelligence for Smart Living Insights from Patents
IoT Ambient Intelligence for Smart Living Insights from PatentsIoT Ambient Intelligence for Smart Living Insights from Patents
IoT Ambient Intelligence for Smart Living Insights from Patents
 
Microsoft Cloud-based Connected Car Service Insights from Patents
Microsoft Cloud-based Connected Car Service Insights from PatentsMicrosoft Cloud-based Connected Car Service Insights from Patents
Microsoft Cloud-based Connected Car Service Insights from Patents
 
Google v. Samsung v. GE v. Boston Scientific Wearable Medical Device Patents
Google v. Samsung v. GE v. Boston Scientific Wearable Medical Device PatentsGoogle v. Samsung v. GE v. Boston Scientific Wearable Medical Device Patents
Google v. Samsung v. GE v. Boston Scientific Wearable Medical Device Patents
 
calor y temperatura
calor y temperaturacalor y temperatura
calor y temperatura
 
Abadia de Melk - Áustria
Abadia de Melk - ÁustriaAbadia de Melk - Áustria
Abadia de Melk - Áustria
 
Emerging Smartphone Killer Applications Insights from Patents
Emerging Smartphone Killer Applications Insights from PatentsEmerging Smartphone Killer Applications Insights from Patents
Emerging Smartphone Killer Applications Insights from Patents
 
Ai One Presentation Semtech 2011 V3
Ai One Presentation Semtech 2011 V3Ai One Presentation Semtech 2011 V3
Ai One Presentation Semtech 2011 V3
 
microsoft
microsoftmicrosoft
microsoft
 
Engineering the future
Engineering the futureEngineering the future
Engineering the future
 

Ähnlich wie Solving the Package Problem

Kernel Recipes 2013 - Kernel for your device
Kernel Recipes 2013 - Kernel for your deviceKernel Recipes 2013 - Kernel for your device
Kernel Recipes 2013 - Kernel for your deviceAnne Nicolas
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)Joe Brockmeier
 
Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadaysYankee Nemoy
 
Docker 原理與實作
Docker 原理與實作Docker 原理與實作
Docker 原理與實作kao kuo-tung
 
Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)Jérôme Petazzoni
 
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)Building android for the Cloud: Android as a Server (AnDevConBoston 2014)
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)Ron Munitz
 
OpenHPC: Community Building Blocks for HPC Systems
OpenHPC: Community Building Blocks for HPC SystemsOpenHPC: Community Building Blocks for HPC Systems
OpenHPC: Community Building Blocks for HPC Systemsinside-BigData.com
 
Lets isolate a process with no container like docker
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like dockerGiulio De Donato
 
Introduction to containers
Introduction to containersIntroduction to containers
Introduction to containersNitish Jadia
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
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 @GuidewiredotCloud
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XJérôme Petazzoni
 
Deep Postgres Extensions in Rust | PGCon 2019 | Jeff Davis
Deep Postgres Extensions in Rust | PGCon 2019 | Jeff DavisDeep Postgres Extensions in Rust | PGCon 2019 | Jeff Davis
Deep Postgres Extensions in Rust | PGCon 2019 | Jeff DavisCitus Data
 
A "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosA "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosDario Faggioli
 
Introduction to Project atomic (CentOS Dojo Bangalore)
Introduction to Project atomic (CentOS Dojo Bangalore)Introduction to Project atomic (CentOS Dojo Bangalore)
Introduction to Project atomic (CentOS Dojo Bangalore)Lalatendu Mohanty
 
embedded-linux-120203.pdf
embedded-linux-120203.pdfembedded-linux-120203.pdf
embedded-linux-120203.pdftwtester
 
Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!All Things Open
 
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...VMware Tanzu
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersDocker, Inc.
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xrkr10
 
Linux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactLinux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactAlessandro Selli
 

Ähnlich wie Solving the Package Problem (20)

Kernel Recipes 2013 - Kernel for your device
Kernel Recipes 2013 - Kernel for your deviceKernel Recipes 2013 - Kernel for your device
Kernel Recipes 2013 - Kernel for your device
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)
 
Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadays
 
Docker 原理與實作
Docker 原理與實作Docker 原理與實作
Docker 原理與實作
 
Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)
 
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)Building android for the Cloud: Android as a Server (AnDevConBoston 2014)
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)
 
OpenHPC: Community Building Blocks for HPC Systems
OpenHPC: Community Building Blocks for HPC SystemsOpenHPC: Community Building Blocks for HPC Systems
OpenHPC: Community Building Blocks for HPC Systems
 
Lets isolate a process with no container like docker
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like docker
 
Introduction to containers
Introduction to containersIntroduction to containers
Introduction to containers
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
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
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
 
Deep Postgres Extensions in Rust | PGCon 2019 | Jeff Davis
Deep Postgres Extensions in Rust | PGCon 2019 | Jeff DavisDeep Postgres Extensions in Rust | PGCon 2019 | Jeff Davis
Deep Postgres Extensions in Rust | PGCon 2019 | Jeff Davis
 
A "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosA "Box" Full of Tools and Distros
A "Box" Full of Tools and Distros
 
Introduction to Project atomic (CentOS Dojo Bangalore)
Introduction to Project atomic (CentOS Dojo Bangalore)Introduction to Project atomic (CentOS Dojo Bangalore)
Introduction to Project atomic (CentOS Dojo Bangalore)
 
embedded-linux-120203.pdf
embedded-linux-120203.pdfembedded-linux-120203.pdf
embedded-linux-120203.pdf
 
Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!
 
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
 
Linux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compactLinux Capabilities - eng - v2.1.5, compact
Linux Capabilities - eng - v2.1.5, compact
 

Mehr von Joe Brockmeier

Community Over Code: How to Build a Successful Project
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
 
Introduction to Atomic: Tailoring a Trusted OS for Containers
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
 
Sharing Apache's Goodness: How We Should be Telling Apache's Story
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
 
Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Joe Brockmeier
 
Apache CloudStack: From API to UI (NYLUG)
Apache CloudStack: From API to UI (NYLUG)Apache CloudStack: From API to UI (NYLUG)
Apache CloudStack: From API to UI (NYLUG)Joe Brockmeier
 
Taking the open cloud to 11
Taking the open cloud to 11Taking the open cloud to 11
Taking the open cloud to 11Joe Brockmeier
 
How I Learned to Stop Worrying, and Love Open Source Software Foundations
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 FoundationsJoe Brockmeier
 
Bootstrapping coverage
Bootstrapping coverageBootstrapping coverage
Bootstrapping coverageJoe Brockmeier
 

Mehr von Joe Brockmeier (10)

Community Over Code: How to Build a Successful Project
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
 
Introduction to Atomic: Tailoring a Trusted OS for Containers
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
 
Sharing Apache's Goodness: How We Should be Telling Apache's Story
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
 
Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)
 
Apache CloudStack: From API to UI (NYLUG)
Apache CloudStack: From API to UI (NYLUG)Apache CloudStack: From API to UI (NYLUG)
Apache CloudStack: From API to UI (NYLUG)
 
Taking the open cloud to 11
Taking the open cloud to 11Taking the open cloud to 11
Taking the open cloud to 11
 
How I Learned to Stop Worrying, and Love Open Source Software Foundations
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
 
Intro to CloudStack
Intro to CloudStackIntro to CloudStack
Intro to CloudStack
 
Txlf2012
Txlf2012Txlf2012
Txlf2012
 
Bootstrapping coverage
Bootstrapping coverageBootstrapping coverage
Bootstrapping coverage
 

Kürzlich hochgeladen

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Solving the Package Problem

  • 1. SSoollvviinngg tthhee PPaacckkaaggee PPrroobblleemm JJooee BBrroocckkmmeeiieerr jjzzbb@@rreeddhhaatt..ccoomm TTwwiitttteerr:: @@jjzzbb hhttttpp::////ddiissssoocciiaatteeddpprreessss..nneett// OOppeenn SSoouurrccee CCoommmmuunniittyy @@ RReedd HHaatt TTwwiitttteerr:: @@RReeddHHaattOOppeenn hhttttpp::////ccoommmmuunniittyy..rreeddhhaatt..ccoomm// 1
  • 3. 3 Solving tthhee PPaacckkaaggee PPrroobblleemm ● TThhee PPaacckkaaggiinngg PPrroobblleemm WWee FFaaccee ● SSooffttwwaarree CCoolllleeccttiioonnss ● rrppmm--oossttrreeee ● DDoocckkaahh,, DDoocckkaahh,, DDoocckkaahh ● QQuueessttiioonnss
  • 4. 4 IInn tthhee BBeeggiinnnniinngg......
  • 5. 5 DDiissttrriibbuuttiioonnss aass tthhee CCeenntteerr ooff tthhee UUnniivveerrssee
  • 6. 6 Developers ddoo nnoott wwaanntt ttoo bbee lliimmiitteedd ttoo ssyysstteemm vveerrssiioonnss ooff ssooffttwwaarree
  • 7. 7 Developers wwaanntt eeaassiieerr wwaayyss ttoo ddeeppllooyy ccoommpplleexx ssooffttwwaarree ffrroomm ddeesskkttoopp ttoo sseerrvveerr
  • 8. 8 AAuuttoommaattee AALLLL TTHHEE TTHHIINNGGSS
  • 9. 9 Software Collections, rrppmm--oossttrreeee,, aanndd DDoocckkeerr ((oohh mmyy))
  • 10. Let's talk about SSooffttwwaarree CCoolllleeccttiioonnss SCALE 12x
  • 11. 11 Do not rreeqquuiirree cchhaannggeess ttoo RRPPMM
  • 12. SSooffttwwaarree CCoolllleeccttiioonnss aarree nnoott jjuusstt aa ddiiffffeerreenntt 12 vveerrssiioonn ppaacckkaaggeedd ffoorr yyoouurr OOSS
  • 13. 13 Do not oovveerrwwrriittee ssyysstteemm ffiilleess
  • 14. Example: PHP 5.4 OOnn CCeennttOOSS 66..xx PPHHPP 55..44 ppaacckkaaggee iiss php54 TThhiiss ppuullllss iinn:: php54­php­cli. x86_64 php54­php­common. x86_64 php54­php­pear. noarch php54­php­process. x86_64 php54­php­xml. x86_64 php54­runtime. x86_64 LLiivveess iinn:: /opt/rh/php54/root 14
  • 15. 15 Avoid ccoonnfflliiccttss wwiitthh ssyysstteemm ffiilleess
  • 16. 16 RReeqquuiirree mmiinnoorr cchhaannggeess ttoo yyoouurr eexxiissttiinngg ssppeecc ffiilleess
  • 17. Do not conflict wwiitthh uuppddaatteess oonn yyoouurr ssyysstteemm 17
  • 18. 18 NNiiffttyy:: CCaann ddeeppeenndd oonn ootthheerr SSCCLLss
  • 19. Let's ttaallkk aabboouutt uussiinngg SSCCLLss SCALE 12x
  • 20. 20 SSooffttwwaarree CCoolllleeccttiioonnss CCuurrrreennttllyy ● Red Hat Software Collections went GA on 12 Sept 2013 ● CentOS announced SCLs 19 February 2014 ● Fedora has SCLs on Fedora Hosted since 2013: https://fedorahosted.org/SoftwareCollections/
  • 21. 21 What's Packaged ffoorr SSooffttwwaarree CCoolllleeccttiioonnss ● Ruby 1.9.3 ● Python 2.7 ● Python 3.3 ● PHP 5.4 ● Perl 5.16.3 ● Tech preview Node.js 0.10 ● MariaDB 5.5 ● MySQL 5.5 ● PostgreSQL 9.2
  • 22. 22 GGeettttiinngg SSttaarrtteedd ● Assuming using a SLC with CentOS ● yum install centos­release­SCL ● yum install php54 (or whatever...) ● scl enable php54 “application ­­option” ● Your application now uses PHP 5.4 ... the rest of the system ignores it. ● Python & Django with SCL (by Langdon White): ● http://red.ht/scldjango ● Find packages for CentOS here: http://mirror.metrocast.net/centos/6.5/SCL/x86_64/
  • 23. 23 Packaging SCLs ● Grab the necessary ppaacckkaaggeess ((CCeennttOOSS oorr FFeeddoorraa oorr RRHHEELL 66..55)):: yum install scl­utils scl­utils­build ● IInnssttrruuccttiioonnss oonn ccoonnvveerrttiinngg aann eexxiissttiinngg ppaacckkaaggee:: http://bit.ly/scl­spec­file ● FFoorr CCoonnvveerrssiioonn:: spec2scl ● GGeenneerraall iinnssttrruuccttiioonnss oonn ppaacckkaaggiinngg SSCCLLss:: http://bit.ly/pkging­scls
  • 25. 25 What is SoftwareCollections.org? ● Upstream community for development of SCLs. ● Build and hosting services for collections. ● Resources (documentation, forums, mailing lists) for developers/packagers. ● An index of packaged software for users of CentOS, Fedora, RHEL, and other RPM-based distributions.
  • 26. 26 The Lifecycle of Collections ● SCLs can be used to provide newer software support on older releases, or (going forward) to provide legacy support on newer releases: ● Example: Application using Ruby on Rails N deployed on CentOS 6, via SCL. Same application deployed on CentOS 7 (when released) using SCL. ● OpenShift leverages SCLs for its cartridges using RHEL supported and non-supported components. ● SCLs can be used inside Docker containers to simplify container deployment.
  • 28. 28 The Problem with Packages ● RPM (and dpkg) are designed to go one way: forward ● Upgrades are difficult to “roll back” in the event something goes wrong ● Switching between two distinct OSes / versions is more or less impossible
  • 29. 29 What is rpm-ostree? ● Derived from ostree ● Initially conceived of as a way to parallel install multiple UNIX-like OSes (e.g., Fedora Rawhide and Fedora 20) ● “git for operating system binaries” ● Creates an installable tree from RPMs ● Not a package manager, but does take on some of the role from package managers
  • 30. 30 What rpm-ostree Enables ● Install one or more operating system trees to a system ● Gives “atomic” updates ● An update is, essentially, one unit – it succeeds or fails ● An update can be rolled back ● Allows switching between “trees” ● Provides tools for creating tree composes
  • 31. 31 Current Limitations ● Currently, an rpm-ostree “tree” is an immutable system ● Doesn't allow for adding packages to a system w/out rebuilding the tree ● Build tools are still being developed, but moving quickly
  • 32. So, anybody heard ooff tthhiiss DDoocckkeerr tthhiinngg?? SCALE 12x
  • 33. 33 The Problem with Packages ● Deploying complex services / applications is difficult with packages ● Packages aren't as portable as we'd like ● Application is developed on CentOS 6, but production is using CentOS 7? ● Packaging guidelines can be ... difficult ● Packages don't provide any solution for running containerized applications...
  • 34. 34 Docker: It's Like Deluxe Super Awesome Packaging ● Docker is application-centric ● Docker containers are portable ● Supports versioning for an entire container ● Components can be re-used ● Allows for supplying ready-to-run services rather than half-configured packages ● Buzzword compliant
  • 35. 35 Docker to the Rescue? ● Docker containers: relatively easy to work with ● Provide far more “services” than package systems ● Application isolation ● Image format, sharing, API ● Allows “layering” of applications ● One group provides base image ● Another group provides base image + framework/service (e.g., Apache) ● Another group provides base image + framework + finished application ready to deploy
  • 36. TThhaannkkss!! JJooee BBrroocckkmmeeiieerr jjzzbb@@rreeddhhaatt.ccoomm TTwwiitttteerr:: @@jjzzbb

Hinweis der Redaktion

  1. In the beginning, all we had was source, and it was a pain to work with. But we didn't know better, and we compiled, and compiled, and compiled... Then there were package managers... and software installation became easier, and we looked to a New Hope...
  2. For a long time, Linux distributions were – essentially – the center of the universe for getting open source software. You installed Red Hat, Debian, Fedora, or whatever and took the packages that were current because it was the easiest way to consume FOSS projects. It also ensured that you'd get updates and bug fixes, and life was good...
  3. Surely a variation of “Murphy's Law” must be this:The system version of Python, PHP, Ruby, Perl, Node.js, or whatever is not the version that your application needs or the version you want to use to build a new application. It will invariably be too old or too new, or have some minor bug that breaks your application. (e.g., CloudStack and Tomcat bug...)
  4. Developers have a lot of choices, not least of which is just grabbing their packages from upstream (e.g., Ruby). That way lies madness, and bad things. Containers, especially Docker, are the new hotness... but 1) not ready for prime time just yet, 2) may not be suitable for many instances, and 3) where do you get the software for Docker? PaaS – see above. Software Collections...
  5. Let's say you're running Fedora 19 or CentOS 6.x and want to run a different version of LibreOffice. So you go to LibreOffice.org and decide to download 4.2.1. Then you remove the old packages and install the new packages. Yeah, that's not going to work for system software... so that's not how SCLs work.
  6. Software Collections are distributed as a set of several components, which provide their full functionality without overwriting system files.
  7. Software Collections make use of a special file system hierarchy to avoid possible conflicts between a single Software Collection and the base system installation.
  8. To convert a conventional package to a single Software Collection, you only need to make minor changes to the package spec file. With a single spec file, you can build both the conventional package and the Software Collection package.