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 →

Ruby 2.0.0 Now Default on All New Ruby Applications

Heroku provides an opinionated platform in order to help you build better applications. We give you a default version of Ruby to get you started, and give you a way to declare your version for total control. In the past creating an application would give you 1.9.2, starting today the default is 2.0.0.

Ruby 2.0.0 is fast, stable, and works out of the box with Rails 4. Applications running on 2.0.0 will have a longer shelf life than 1.9.3, giving you greater erosion resistance.

Default Behavior

If you have a previously deployed app it will continue to use Ruby 1.9.2, any new applications will run on 2.0.0. Heroku is an erosion resistant platform, which means we will not change a major or...

Read more →

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