Rootconf 2017

On service reliability

G. Clifford Williams


Autonomous application delivery: faster, more reliable release management

Submitted Feb 15, 2017

This is a look at managing application deployment with an indipendent packaging system (pkgsrc). Let’s Compare and contrast with “traditional” mechanisms like .deb and .rpms, tarballs, deployment tools (Salt, Capistrano, Vlad, Fabric), and containers (Jails, Rocket, Docker, etc). In particular we’ll look at the autonomy gained from decoupling the application stack from the operating system packages with pkgsrc’s ability to have multiple parallel installation bases all running different versions on the same system.


  • Introduction
    • What are we talking about
    • Who am I/What I do
  • What’s the problem?
    • Deploying applications
    • Conflicting libraries
    • Conflicting versions of the applicaiton
    • Conflicting versions of the runtime (Java, Python, Ruby, Node.js, etc)
    • Roll-back
  • Approaches to avoid the problem
    • Docker/Racket/Containers
    • Immutable Infrastructure
    • Private Forks
    • Refusing to upgrade/migrate
  • What the solution really looks like
    • What is pkgsrc
    • What are possible alternatives
      • OpenPkg
      • Nix
    • What are the pros/cons of this approach?
  • What does it take to actually get it done the right way?
  • Case studies

Speaker bio

G. Clifford Williams is currently DevOps Practice Manager at 8ions, Inc. and is a longtime advocate of open source software, maintainer of the wempy template system and contributor to such projects as Cherokee, SaltStack, and Web2py. He provides hosting, consulting, and bootstrapping services for various startups focused on building opensource solutions.



{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

We care about site reliability, cloud costs, security and data privacy