Docker at OpenBet, ShutIt and 2048 - Ian Miell

14
Docker at OpenBet Ian Miell Head of DevOps, OpenBet

description

OpenBet is a transactional gambling platform that's over 15 years old. Over the years we've accrued a lot of technical debt and have recently begun using docker to help tackle some of this. To this end we've built and open-sourced a built tool: http://ianmiell.github.io/shutit/ and https://github.com/ianmiell/shutit/ As a demo, we've used it to win at 2048, blogged about here: http://zwischenzugs.wordpress.com/2014/05/09/docker-shutit-and-the-perfect-2048-game/

Transcript of Docker at OpenBet, ShutIt and 2048 - Ian Miell

Page 1: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Docker at OpenBet

Ian MiellHead of DevOps, OpenBet

Page 2: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Overview

● Backgroundo Companyo Me

● Why Docker works for us● Why Dockerfiles don’t● Some CM bigotry● Intro to ShutIt

o “A tool for complex Docker deployments”

Page 3: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Background - What We Do

● Fifteen+ year-old companyo High-volume transactions

▪ Sports bets, casino bets, payments, messaging▪ Busiest day of the year: 43m+ money movements on

our systems (8,000+/s peak)● Compare: FTSE does 0.5m per day● Amazon ~400/s

▪ 200 sports bets bets per second on one customer● These are not independent transactions

Page 4: Docker at OpenBet, ShutIt and 2048 - Ian Miell

My Background

● Joined as Developer 2001

● Tech Lead● Product Architect● Principal Developer● Support Engineer● Support Manager● Head of DevOps

o But we don’t really do DevOpso Highly responsive and skilled support teamo Extensive liaison with development teams to deploy fixeso Test, stage, pre-live, live deployment…o Charged with implementing new VM estate

Page 5: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Background - Technical Debt

● Wrong number of customers(~25, ~6 big ones)o Customers in arms race

▪ Each does things differentlyo Don’t care about technical debt - pressure to

deliver too great▪ Not unique to OpenBet!▪ Think “trading floor”

Page 6: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Development and Deployment

● No established process for local dev● Some teams rely on folklore to build their envs

(no, really)● Shared Dev Servers● No VMs

Clunky - never really tookEffort of building too great

Page 7: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Development and Deployment

● Each customer has different deployment policies● Very complex deployments● Wiki pages on how-to build everywhere● Bespoke Build Tool● Frustrating for support!● Enter Docker...

Page 8: Docker at OpenBet, ShutIt and 2048 - Ian Miell

ShutIt

● Borne of frustration with our build process and limitations of Dockerfiles

● ShutIt is therefore:o Interactiveo Configurableo Programmableo Coherent

■ Framework designed to help manage spiralling complexity

Page 9: Docker at OpenBet, ShutIt and 2048 - Ian Miell

“What about Chef/Puppet/Ansible?”

● CPA for moving target maintenance○ State is the enemy!

● We’re programmers comfortable managing code complexity○ Framework should enable, not limit

● Shallow learning curve from shell/other build tools

● Bad experience learning Chef● No-one delivered anything at OB with C/P/A● Hired Chef enthusiast/expert switched to ShutIt

Page 10: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Demo - Build Your Own ShutIt Server in 3 Minutes

Page 11: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Demo - ShutIt Server

● http://shutit.tk:8080

Page 12: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Roadmap

● Orchestration○ Networked envs’ automation

● Smarter layer re-use○ Optimise builds

● Dockerfile integration?● Dockerfile translator?● Networked envs using Skydock

○ We’ve used this internally already● ?

Page 13: Docker at OpenBet, ShutIt and 2048 - Ian Miell

Links

● http://shutit.tk● http://shutit.tk:8080● http://zwischenzugs.wordpress.com/● https://github.com/ianmiell/shutit● https://index.docker.io/search?q=imiell● http://uk.linkedin.com/pub/ian-miell/0/496/694

Page 14: Docker at OpenBet, ShutIt and 2048 - Ian Miell