• Timeseries Gap Detection with Kinesis Analytics

    At Enel X we have thousands of meters at commercial and industrail sites tracking power usage. We use this meter data to measure power consumption and the ability for a given site to reduce load on the electrical grid at critical moments to ensure overall grid stability.

  • Ditch Jenkins for Serverless DevOps

    At EnerNOC we have a lot of AWS accounts. We have different accounts for different teams, so that nobody accidentally steps on each other. Then, each team has both a prod and a dev account. It’s not the most ideal approach, but does give us a lot of sandboxes.

  • Introducing SimplerAgent

    I published a small npm package that I’ve dubbed simpleragent. It’s a NodeJS simplified version of SuperAgent.js for making JSON HTTP requests.

  • First Impressions of CloudFormation

    I’ve been using Cloudformation for some projects after a long time working with Terraform. The hope is that switching to an all AWS ecosystem would yield a better set of tools than Terraform, which is multi-provider.

  • Three Ways to Splunk Your Docker Containers

    Logging from Docker is becoming less of a total pain in the butt. EnerNOC uses Splunk Enterprise for its central logging solution, and when we started building apps with Docker and AWS ECS, getting our logs into Splunk was a real puzzle.

  • Some Limitations of AWS Lambda

    Update 5/18: Many of these gripes aren’t really applicable anymore.

  • Terraform and API Gateway

    AWS API Gateway is pretty neat. But manually managing the configurations is a nightmare - you make changes in your development stack to fix a bug or support something new, do that a bunch of times for a sprint, and when it’s time to push out the release candidate, each one of those changes has to be tracked and updated in the console.

  • DNS for Local Docker Development

    With Docker for Mac, the Docker team removed a pretty hefty load of frustration from developers - no more docker-machine and setting environment variables for docker tcp communication.