Your SlideShare is downloading. ×
  • Like
Docker at OpenBet, ShutIt and 2048 - Ian Miell
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Docker at OpenBet, ShutIt and 2048 - Ian Miell

  • 1,345 views
Published

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

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,345
On SlideShare
0
From Embeds
0
Number of Embeds
10

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Docker at OpenBet Ian Miell Head of DevOps, OpenBet
  • 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. 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. 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. 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. 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. 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. 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. “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. Demo - Build Your Own ShutIt Server in 3 Minutes
  • 11. Demo - ShutIt Server ● http://shutit.tk:8080
  • 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. 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