Wednesday 1:10 p.m.–1:45 p.m.

Optimize your Docker Infrastructure with Python

Ryan J. O'Neil

Audience level:
Experienced

Description

Over the past year, Docker has transformed how we do DevOps at Yhat. We use it for development, testing, and creating distributions of our software. But building hundreds of Docker images can take a lot of compute time and disk. This talk shows how to reduce the cost of maintaining large Docker infrastructure with optimization, graph theory, and Python.

Abstract

Optimize your Docker Infrastructure with Python

Introduction

Motivation

  • The role of DevOps in enterprise software
  • Difficulties of managing multiple environments

What's a container?

  • What's all this Docker stuff about anyway?
  • A brief history of container architectures
  • How to construct and use containers

Docker cache mechanics

  • How the Docker cache works
  • Time (and other resources) that YOU can SAVE!
  • What can be cached, what can't

Problem statement

  • A few notes on scheduling problems
  • What's unique about this one?
  • What's our objective?
  • How do Docker cache mechanics impact us?

Techniques & tools

Optimization with PuLP

  • Intro to combinatorial optimization models in PuLP
  • A simple scheduling problem

Network analysis with NetworkX

  • Basic NetworkX usage
  • Intro to maximal clique detection

Model construction

  • Mathematical formulation of the problem
  • Model code and structure

Results & conclusion

Sponsors


Become a sponsor.