Request schema validation, a double-edged sword

Making sure data is valid can be a tedious process, especially for complex systems. We have many models in our system that are changed constantly – these models are controlled by our APIs. An example is our alerting API, which allows users to control their alerts via HTTP requests. Over the past few years, we…

Developing and deploying Python in private repos

At Hosted Graphite, most of our deployed services are written in Python, and run across a large installation of Ubuntu Linux hosts. Unfortunately, the Python packaging and deployment ecosystem is something of a tire fire, particularly if your code is in private Git repositories. There are quite a few ways to do it, and not…