Solving the Package Problem? Or Making it Infinitely Worse?

Similar documents
PHP in RPM distribution

How Bigtop Leveraged Docker for Build Automation and One-Click Hadoop Provisioning

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

The Virtualization Practice

OpenShift on OpenStack

OpenShift. Marek Jelen, OpenShift, Red Hat

Use Cases for Docker in Enterprise Linux Environment CloudOpen North America, 2014 Linda Wang Sr. Software Engineering Manager Red Hat, Inc.

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

Containers, Docker, and Security: State of the Union

Building a better more secure Cloud RICHARD MORRELL

White Paper Server. SUSE Linux Enterprise Server 12 Modules

Intro to Docker and Containers

OpenShift on you own cloud. Troy Dawson OpenShift Engineer, Red Hat November 1, 2013

The Red Hat Enterprise Linux advantages over Oracle Linux

Continuous integration with Jenkins CI

WHITE PAPER Redefining Monitoring for Today s Modern IT Infrastructures

DevOps and SUSE From check-in to deployment

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

A central continuous integration platform

Why Does CA Platform Use OpenShift?

RED HAT CLOUD SUITE FOR APPLICATIONS

Docker on OpenStack. August Author : Nitin Agarwal nitinagarwal3006@gmail.com. Supervisor(s) : Belmiro Moreira

Jenkins: The Definitive Guide

Cisco Application-Centric Infrastructure (ACI) and Linux Containers

Red Hat Enterprise Linux The original cloud operating system

IBM Endpoint Manager Version 9.1. Patch Management for Red Hat Enterprise Linux User's Guide

IPA Identity, Policy, Audit Karl Wirth, Red Hat Kevin Unthank, Red Hat

Web Hosting: Pipeline Program Technical Self Study Guide

RHEL to SLES Migration Overview

Do Containers fully 'contain' security issues? A closer look at Docker and Warden. By Farshad Abasi,

Moving to Plesk Automation 11.5

RED HAT DEVELOPER TOOLSET Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux

Best Practices for Python in the Cloud: Lessons

Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)

The State of Containers and the Docker Ecosystem: Anna Gerber

Sacha Dubois RED HAT TRENDS AND TECHNOLOGY PATH TO AN OPEN HYBRID CLOUD AND DEVELOPER AGILITY. Solution Architect Infrastructure

Openshift for Continuous Integration

Software Collections

Jazz Source Control Best Practices

Data Centers and Cloud Computing. Data Centers

Join the Lean Wave. Asanka Abeysinghe Director, Solutions Architecture. WSO2, Inc. Friday, July 22, 11

WHITEPAPER INTRODUCTION TO CONTAINER SECURITY. Introduction to Container Security

DevOps with Containers. for Microservices

Zero-Touch Drupal Deployment

This document describes the new features of this release and important changes since the previous one.

Cloud UT. Pay-as-you-go computing explained

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

TUT19344 Managing RH/CentOS with SUSE Manager

Linux Distributions. What they are, how they work, which one to choose Avi Alkalay

DevOps. Josh Preston Solutions Architect Stardate

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies

PaaS solutions evaluation

Fast Lane OpenStack Overview Red Hat Enterprise Linux OpenStack Platform

Mobile Test Automation Framework

A Smart Way to Manage Packages in Yocto Project

HOW OPEN SOURCE IS DRIVING DEVOPS INNOVATION. Gordon William Cloud & DevOps Product Strategy, Red Hat 17 August 2015

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

Improving your Drupal Development workflow with Continuous Integration

Whither Enterprise Cloud Platform Linux, Docker and more Loo Chia Zyn Head of Sales Consulting, Japan & Asia Pacific Oracle Linux & Oracle VM

The Definitive Guide To Docker Containers

AWS Schema Conversion Tool. User Guide Version 1.0

Stackato PaaS Architecture: How it works and why.

IDC MarketScape: Worldwide Public Deployment-Centric Cloud Application Platform 2015 Vendor Assessment

AWS Schema Conversion Tool. User Guide Version 1.0

Of Pets and Cattle and Hearts

Data Lab System Architecture

Data Centers and Cloud Computing. Data Centers. MGHPCC Data Center. Inside a Data Center

CS197U: A Hands on Introduction to Unix

Java, PHP & Ruby - Cloud Hosting

How to Build an RPM OVERVIEW UNDERSTANDING THE PROCESS OF BUILDING RPMS. Author: Chris Negus Editor: Allison Pranger 09/16/2011

RED HAT CONTAINER STRATEGY

Using Rocket Software s PASSPORT as an Alternative to Attachmate EXTRA!

Azure Day Application Development

ALERT installation setup

Azul pitches Docker as alternative to virtualization for heavy-duty Java applications

80% 50x. 30x. CASE STUDY: How WaveMaker Got Faster, Better, More Agile with Docker. Lower Costs. Better Performance. Greater App Density

Creating Your Own TinyWeb Database. Ball State University - CS116 - Ashley Swartz

OPEN CLOUD INFRASTRUCTURE BUILT FOR THE ENTERPRISE

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures

Using Ruby on Rails for Web Development. Introduction Guide to Ruby on Rails: An extensive roundup of 100 Ultimate Resources

STRATEGIC WHITE PAPER. The next step in server virtualization: How containers are changing the cloud and application landscape

How To Manage Change In Jeepers

Dynamic Kernel Module Support. Matt Domsch, Software Architect Dell, Inc.

Managing Kubernetes and OpenShift with ManageIQ. Alissa Bonas, Dublin 2015

Camilyo APS package by Techno Mango Service Provide Deployment Guide Version 1.0

Meister Going Beyond Maven

Test Management Tools

OpenShift Dedicated 3.1 Architecture

The Road To enterprise paas

Building a Continuous Integration Pipeline with Docker

Continuous Keylane

Transcription:

Solving the Package Problem? Or Making it Infinitely Worse? Joe Brockmeier jzb@redhat.com Twitter: @jzb http://dissociatedpress.net/ http://projectatomic.io 1

2 Who's this guy?

Solving the Package Problem (Or Making it Infinitely Worse?) The Packaging Problem We Face Solution: Software Collections Solution: rpm-ostree Solution: Linux Containers Potential Pitfalls Questions 3

4 In the Beginning...

Distributions as the Center of the Universe 5

Developers do not want to be limited to system versions of software 6

Developers want easier ways to deploy complex software from desktop to server 7

8 Automate ALL THE THINGS

Software Collections, rpm-ostree, and Docker (oh my) 9

Let's talk about Software Collections SCALE 12x

11 Do not require changes to RPM

Software Collections are not just a different version packaged for your OS 12

13 Do not overwrite system files

Example: PHP 5.4 On CentOS 6.x PHP 5.4 package is php54 This pulls in: 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 Lives in: /opt/rh/php54/root 14

15 Avoid conflicts with system files

Require minor changes to your existing spec files 16

Do not conflict with updates on your system 17

18 Nifty: Can depend on other SCLs

Let's talk about using SCLs SCALE 12x

Getting Started 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/ 20

Packaging SCLs Grab the necessary packages (CentOS or Fedora or RHEL 6.5): yum install scl utils scl utils build Instructions on converting an existing package: http://bit.ly/scl spec file For Conversion: spec2scl General instructions on packaging SCLs: http://bit.ly/pkging scls 21

SoftwareCollections.org SCALE 12x

Software Collections Currently See: https://www.softwarecollections.org/en/ CentOS SCL SIG: http://wiki.centos.org/specialinterestgroup/sclo Git repo: https://git.centos.org/project/?p=sig-sclo Upstream mailing list: https://www.redhat.com/mailman/listinfo/sclorg 23

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. 24

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. 25

rpm-ostree SCALE 12x

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 27

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 28

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 29

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 30

So, anybody heard of this Docker thing? SCALE 12x

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... 32

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 33

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 34

Pitfalls SCALE 12x

Docker isn't Mature Containers Don't Contain Signing, etc. are still in their infancy Packaging apps in containers is still not wellunderstood Deploying apps in containers is still not wellunderstood 36

Additional Problems Auditing software is difficult (or impossible) in containers Updates to containers who tracks? How to automate? Host/Container mis-matches What else? 37

Links and Pointers Website: projectatomic.io Github: github.com/projectatomic Facebook.com/projectatomic Twitter: @projectatomic Mailing Lists: http://www.projectatomic.io/community/

Thanks! Joe Brockmeier jzb@redhat.com Twitter: @jzb