Fri, 14 Sep 2012

WazMonkey: Chaos Monkey for Windows Azure

This week, there was an internal discussion at Aditi about Netflix's Chaos Monkey tool and the usefulness of such a tool for Windows Azure developers. I decided to build a simple version of this tool called WazMonkey. The code is available on GitHub: github.com/smarx/WazMonkey.

For those who don't know, Chaos Monkey helps AWS developers test the resilience of their applications by terminating EC2 instances at random. WazMonkey does something similar: it chooses a role instance at random from a Windows Azure cloud service and reboots it (or, optionally, reimages it).

See the usage info below:

WazMonkey v0.2
Copyright (C) 2012 Steve Marx
Usage: WazMonkey -p foo.publishSettings -n myservice -s production

  -p, --publishSettings    .publishSettings file - specify either this or a
                           .pfx file

  --pfx                    .pfx certificate file - specify either this or a
                           .publishSettings file

  --subscriptionId         subscriptionId to use, defaults to first
                           subscription found in the .publishSettings file

  -n, --serviceName        Required. Name of the cloud service

  -s, --slot               Required. The slot ("production" or "staging")

  --reimage                Reimage the instance (instead of reboot, the
                           default)

  --help                   Display this help screen.