Many of Heroku's internal components make heavy use of logfmt to log information about what's going on in production. The format is hugely valuable in that it allows us to retroactively analyze what happened during any arbitrary request to our components, query our log traces in very flexible ways, and combined with Splunk, easily generate arbitrary metrics on historical data. It's unquestionably been an invaluable tool for fixing countless bugs, tracking down the root cause of many production incidents, and assessing usage in ways that would have been difficult otherwise.

Uber logo

On Wednesday, Uber launched an API to let developers build new products and services that leverage the Uber ridesharing platform. Uber built a simple Python/Flask app that developers can use when exploring how the API works.

This is the sort of experimentation and innovation that we at Heroku want to enable, so we sent a pull request to add an app.json file to the repo and a Heroku Button to the readme.

To deploy the Uber sample on Heroku and experiment with the new Uber API, simply register on the Uber developer site and then click the button below:

Deploy on Heroku

Once the app has been set up on Heroku, you’ll have to go back to the Uber developer site and configure the redirect URI to the URI for...

At Heroku, we want to give our users access to the latest and greatest software stacks to base their apps on. That’s why we continuously update buildpacks to support new language and framework versions and let users experiment further using third-party buildpacks.

Sitting underneath slugs and buildpacks are stacks. Stacks are the operating system and system libraries required to make apps run. Today we’re releasing into public beta a new version of the Celedon Cedar stack: cedar-14.

cedar-14 is built on the latest LTS version of Ubuntu Linux and has recent versions of libraries and system dependencies that will receive maintenance and security updates for a long time to come.


Retrospectives are a valuable tool for software engineering teams. Heroku consistently uses retrospectives to review operational incidents, root cause problems, and generate remediation tasks to improve our systems. Increasingly we use retrospectives for another purpose: to improve teamwork and interactions on projects. Here we intentionally avoid technical discussions and focus on the emotional and human aspects of work, with the goal of creating positive insights into how to improve as a team.

Today Heroku is rolling out one of the most significant upgrades ever to our Postgres Database-as-a-Service. This new release is focused on a set of services that run on top of your Heroku Postgres database, making it easier to understand and operate, especially at scale. In addition, we are rolling out new production database plans with double the memory and 2-3 times the performance of our existing plans at the same cost to you.

These features represent a new experience for our Postgres service, which we collectively call DbX, for database experience. The highlight of these new features is Performance Analytics, a set of analytics and visualization tools that allow you to understand...

Browse the blog archives or subscribe to the full-text feed.