Heroku Labs: Managing App Deployment with Pipelines

Editor's Note: The version of Pipelines described in this blog post has been deprecated and replaced by a new non-labs implementation. Features added through Heroku Labs are experimental and may change or be removed without notice.


heroku fork lets you create unique, running instances of existing applications in a single command, making it fast and simple to set up homogenous development, staging and production environments. But have you ever wished you could deploy directly from staging to a production app after testing and validation?

Heroku pipelines, now an experimental feature available in Heroku Labs, lets you define the relationship between apps and easily promote a slug from...

Read more →

Add-ons for Production Apps

Heroku Add-ons are services exposed through the Heroku platform. They are managed by experts, provisioned and scaled in a single command, and consumed by your application as loosely coupled components. This post provides an overview of Add-ons for logging, persistence, caching and monitoring in production apps.

Logging

heroku addons:add papertrail 

Logs provide the foundation for trend analysis, error inspection, performance tuning and other processes critical for running production apps. Heroku routes and collates real-time logs from each part of your app, including running processes, system components, API events... even Add-ons themselves. Heroku presents app logs in a single stream...

Read more →

Introducing Heroku Fork

heroku-fork-01

An application is more than source code - it’s executables, generated assets, runtime environments, dependencies, configuration, running processes, backing services and more. What if you could fork your entire app, not just your code?

heroku fork lets you create unique, running instances of existing applications right from the command line. These instances are live and available on Heroku immediately so you can change, scale and share them however you want.

How It Works

You can fork apps you own and apps you’re collaborating on. You must have the Heroku Toolbelt installed to use this feature. Fork an existing application by running the following command:

$ heroku fork -a sourceapp...
Read more →

Redesigned Monthly Invoices

Earlier this month, we quietly rolled out a new design for our monthly invoices. It's a breath of fresh air compared to the previous iteration, and we thought it would be interesting to share what goes into a design like this.

At Heroku, billing is complex. Dyno hours are calculated to the second. Add-ons are calculated based on each provider’s pricing plan, which can be monthly or by usage depending on the add-on. There are support expenses, credits, free dyno hours, and packages. This all has to be wrangled into a format that not only makes sense for the back-end systems that run calculations, but also for the human beings that use Heroku and need to understand what they’re paying...

Read more →

App Sleeping on Heroku

When talking to Heroku users, a question that frequently comes up is "when do my apps go to sleep, and why?". Though the behavior is documented in Dev Center, we'd like to provide more immediate visibility into the state of your apps at any given moment.

When Do Apps Sleep?

When an app on Heroku has only one web dyno and that dyno doesn't receive any traffic in 1 hour, the dyno goes to sleep.

When someone accesses the app, the dyno manager will automatically wake up the web dyno to run the web process type. This causes a short delay for this first request, but subsequent requests will perform normally.

Apps that have more than 1 web dyno running never go to sleep and...

Read more →

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