AWS Hackathon: Pokebot, Puppet Commands, and More

Datetime:2016-08-23 03:30:17          Topic:          Share

Last week, Logicworks held its’ first 24-hour Hackathon. The event encouraged teams to explore new ideas, experiment with future products, and of course win prizes. Since our team spends a lot of time developing infrastructure as code on AWS, it was no surprise that were either custom “software” to help our customers manage their AWS environments or fun technical projects.

Below we share some of the coolest final projects.

Project Phoenix

Earlier this year, we wrote about a significant incident for one of our biggest clients caused by a mistake from one of the client’s engineers. Our rapid response meant that the application was repaired rapidly — rather than the two weeks the company admitted it would have taken their team to fix.

Anthony Williams, a Senior Systems Engineer, worked through the night to create, Project Phoenix, an automatic, scripted instance restore process to make recovery even faster. Project Phoenix stores unique snapshot IDs in AWS DynamoDB where actions to restore include:

  • Elect the timepoint to restore from (read from DynamoDB)
  • Specify the target system to restore to (source defined as argument to script)
  • The target system is shut down and volumes detached
  • New volumes are attached to the correct mount
  • Then the instance is restarted.

This means engineers can restore multiple volumes in seconds — not minutes or hours. That could have big implications for how quickly our clients get back up and running after issues.

Pokebot

The Pokemon Go craze has not skipped the engineers at Logicworks. Matt Stockdale, our Senior Service Delivery Manager, decided to spend this Hackathon making Pokemon easier to find.

Matt built a simple HipChat bot to alert group members when a Pokemon is within 100 yards of Logicworks headquarters in Soho, NYC. The bot is essentially a mash-up of WillBot  and a reverse engineered Pokemon Go API Library , written in Python. It also uses some additional Python libraries for latitude/longitude and distance calculations and Google Maps integrations.

The result is that Pokebot alerts the chat room whenever a Pokemon is nearby:

We consider this a huge step forward for Logicworks’ Pokemon hunters and a big assistance in our (off-hours) expeditions.

Simple Beer Service

You may have heard that AWS’s Lofts in San Francisco, Virginia and New York include Simple Beer Service , a “zero-downtime beer delivery” service that connects to AWS and showcases AWS’ IoT service. A Senior Systems Engineer, Phil Christensen, decided to reproduce the service in our New York headquarters.

Phil working on Simple Beer Service

Phil used Intel’s Edison with various sensors to collect data from the kegerator and the environment. Since Phil only had 24 hours to work on the project, he was only able to set up the humidity and temperature sensor — but he was astounded at the possibilities of Edison, and the rest of the team looks forward to API-delivered beverages in the near future.

Puppet Commands

The winning project by Lead AWS Engineer Dan Rosenbloom is perhaps the most complex.

In order to improve performance, security, and availability, Logicworks maintains all our client AWS infrastructure as code , enabling us to control AWS programmatically using tools such as AWS CloudFormation, Puppet, etc. As our clients’ environments scale, however, you need ways to maintain infrastructure as code more easily — so Dan decided to spend this Hackathon developing commands that help our engineers more easily manage Puppet runs across multiple environments. To do this, Dan used AWS Simple System Management service to remotely run Puppet to change system configurations or easily clean up Puppet certificates on the agents or master node.

Dan working on his new Puppet Commands

Dan’s project gives engineers an unprecedented level of control over multiple environments, reducing manual work (and of course the possibility of human error). It is such a useful product that it’s already integrated into our Central Automation Plant.

If you want to learn more about Logicworks or want to join one of the smartest engineering teams in NYC,contact us.