Docker at OpenBet, ShutIt and 2048 - Ian Miell

2,005 views
1,818 views

Published on

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/

Published in: Data & Analytics, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,005
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Docker at OpenBet, ShutIt and 2048 - Ian Miell

  1. 1. Docker at OpenBet Ian Miell Head of DevOps, OpenBet
  2. 2. Overview ● Background o Company o Me ● Why Docker works for us ● Why Dockerfiles don’t ● Some CM bigotry ● Intro to ShutIt o “A tool for complex Docker deployments”
  3. 3. Background - What We Do ● Fifteen+ year-old company o 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
  4. 4. 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 DevOps o Highly responsive and skilled support team o Extensive liaison with development teams to deploy fixes o Test, stage, pre-live, live deployment… o Charged with implementing new VM estate
  5. 5. Background - Technical Debt ● Wrong number of customers(~25, ~6 big ones) o Customers in arms race ▪ Each does things differently o Don’t care about technical debt - pressure to deliver too great ▪ Not unique to OpenBet! ▪ Think “trading floor”
  6. 6. 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 took Effort of building too great
  7. 7. 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...
  8. 8. ShutIt ● Borne of frustration with our build process and limitations of Dockerfiles ● ShutIt is therefore: o Interactive o Configurable o Programmable o Coherent ■ Framework designed to help manage spiralling complexity
  9. 9. “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
  10. 10. Demo - Build Your Own ShutIt Server in 3 Minutes
  11. 11. Demo - ShutIt Server ● http://shutit.tk:8080
  12. 12. 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 ● ?
  13. 13. 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

×