Articles by Edan Schwartz

August 7

Monitoring Kubernetes with Elasticsearch, Kibana, and Heapster

We recently took the plunge into using Kubernetes to orchestrate containers for a number of our web and data-ingest services. While we have been generally pleased with the experience, we have found metrics, monitoring, and logging to be major pain points for us. Kubernetes provides no out-of-the-box system for centralized logging, so we had resorted to scanning log files on individual pods with a lot of guess-and-check work in matching server logs to application behavior. Without any human-readable interface for viewing application metrics, it was really hard to construct a story describing why an application behaved the way it did. It was clear...

December 17

Is Your Cache Crispy Fresh?

Our big project these days is a major overhaul of our map tile servers for our Weather Overlays API. We’re moving the entire codebase over to Node.js and using mapnik to generate tile images. Performance and resource usage is a major concern. We need to generate images for more than 20 different weather data sets, some of which update as often as every 2 minutes. To keep our maps snappy and not break the bank, we need to do a really good job caching at every level of resource creation. There are several great caching libraries out there, but we had...

May 27

Video: Getting Started With The Aeris.js Library

Aeris.js is an open source javascript library for developing rich interactive weather maps and weather widgets. Access the latest release via the Aeris.js GitHub. Today we’re going to walk through the steps on how to create a weather map using Aeris.js. You can see working demos at In this tutorial, we walk you through: Embedding the Aeris.js library in our webpage. Signing up for an Aeris Weather API account & configuring our API keys. Creating a base map. Adding & manipulating weather tile layers.