Skip to content

Instantly share code, notes, and snippets.

@mnutt
Last active February 28, 2017 07:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mnutt/891fa04a29741995c89d49b437ec2b04 to your computer and use it in GitHub Desktop.
Save mnutt/891fa04a29741995c89d49b437ec2b04 to your computer and use it in GitHub Desktop.
RFC: Devops Clicker

Create a game in the style of Space Clicker / Clicking Bad (http://clickingbad.nullism.com/).

You start off, and you have an app running on one server. It's on fire.

You're working for a revenue-generating company (right? right?) so every request you serve makes you money. $10 CPM.

If you maintain good uptime and low response times, traffic will increase. Similar to production and distribution in Clicking Bad, you need both to make maximum revenue.

To bootstrap yourself, you can answer requests by hand by clicking (hence the "clicker" part) to more quickly get money and level up. You'll pretty quickly leave that part behind, though.

As demand increases, your infrastructure will start to show strain. You need to start building:

  • Add another app server. It doesn't do anything on its own, but...
  • Add a load balancer and now you're splitting traffic between the two
  • Move your database onto a dedicated instance for a performance boost
  • Minify and gzip your assets
  • Add a static asset cache
  • Install monit
  • Start taking backups for additional reliability
  • Add a db replica
  • Buy your team pagers
  • Move onto bare metal
  • Containerize your infrastructure
  • Migrate to openstack (this loses you the game)
  • Build your own datacenter
  • Build your own white label machines
  • AI that reboots your apps when they die
  • Sentient AI that runs everything for you. This triggers the endgame state.

Many of these are free but just take developer hours, so list them as such (Install monit: $300 (2 dev hrs))

Your system health meter in the corner shows you the status of your infrastructure. It alternates between a green checkbox (healthy) and a green checkbox with a little "i" on it. (unhealthy)

The negative events that happen to you:

  • app hangs, have to click to restart
  • machine becomes unresponsive, reboot it. at some point you're better off just destroying it and replacing
  • random network issues
  • AZ loss
  • traffic spike
  • DDoS
  • NSA taps your lines (-20% efficiency)
  • Meteor strike

Can add side quests like "debug a weird logline" and "let your AWS rep take you to lunch".

  • Phase 1: Generate some Movable Ink buzz on HN with the game
  • Phase 2: Hire people who seem good at it
  • Alternate Phase 2: Ender realizes it was never really a game to begin with
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment