I was invited, through work, to participate in an AWS tradition - the AWS Game Day. This event was organised by my employer for our internal staff to experience a day in the life of a fully deployed AWS environment… and have some fun with it too. The AWS Game Day is a common scenario, and if you're lucky enough to join one, you'll probably be doing this one... As such, there will be... #NoSpoilers.
A Game Day (sometimes disambiguated as an "Adversarial Game Day", because of sporting events) is a day where you either have a dummy environment, or, if you have the scale, a portion of your live network is removed from live service and used as a training ground. In this case, AWS provided a specific dummy environment "Unicorn.Rentals", and all the attendees are the new recruits to the DevOps Team… Oh, and all the previous DevOps team members had just left the company… all at once.
Attendees were split into teams of four, and each team had a disparate background.
We're given access to;
- Our login panel. This gives us our score, our trending increase or decrease in score over the last "period" (I think it was 5 minutes), our access to the AWS console, and a panel to update the CNAME for the DNS records.
- AWS Console. This is a mostly unrestricted account in AWS. There are some things we don't get access to - for example, we didn't get the CloudFormation Template for setting up the game day, and we couldn't make changes to the IAM environment at all. Oh, and what was particularly frustrating was not being able to ... Oh yes, I forgot, #NoSpoilers ;)
- A central scoreboard of all the teams
- A running tally of how we were scored
- Each web request served under X seconds received one score
- Each request served between X and Y seconds received another score,
- Each request served over Y seconds received a third score.
- Failing to respond to a request received a negative score.
- Infrastructure costs deducted points from the score (to stop you just putting stuff at ALL THE SERVERS, ALL THE TIME).
- The outgoing DevOps team's "runbook". Not too dissimilar to the sort of documentation you write before you go on leave. "If this thing break, run this or just reboot the box", "You might see this fail with something like this message if the server can't keep up with the load". Enough to give you a pointer on where to look, not quite enough to give you the answer :)
The environment we were working on was, well, relatively simple. An auto-scaling web service, running a simple binary on an EC2 instance behind a load balancer. We extended the reach of services we could use (#NoSpoilers!) to give us greater up-time, improved responsiveness and broader scope of access. We were also able to monitor … um, things :) and change the way we viewed the application.
I don't want to give too many details, because it will spoil the surprises, but I will say that we learned a lot about the services in AWS we had access to, which wasn't the full product set (just "basic" AWS IaaS tooling).
When the event finished, everyone I spoke to agreed that having a game day is a really good idea! One person said "You only really learn something when you fix it! This is like being called out, without the actual impact to a customer" and another said "I've done more with AWS in this day than I have the past couple of months since I've been looking at it."
And, as you can probably tell, I agree! I'd love to see more games days like this! I can see how running something like this, on technology you use in your customer estate, can be unbelievably powerful - especially if you've got a mildly nefarious GM running some background processes to break things (#NoSpoilers). If you can make it time-sensitive too ("you've got one day to restore service", or like in this case, "every minute we're not selling product, we're losing points"), then that makes it feel like you've been called out, but without the stress of feeling like you're actually going to lose your job at the end of the day (not that I've ever actually felt like that when I've been called out!!)
Anyway, massive kudos to our AWS SE team for delivering the training, and a huge cheer of support to Sara for getting the event organised. I look forward to getting invited to a new scenario sometime soon! ;)
Here are some pictures from the event!
The featured image is "AWS Game Day Attendees" by @Fujitsu_FDE.