Gem Bundler on Heroku

Gem Bundler is rapidly on its way to becoming the new community standard for managing gem dependencies in Ruby apps. Bundler is the default gem manager for Rails 3, but it will also work seamlessly with any other web framework (or no framework) since it has no dependencies itself.

Using it is as simple as creating a Gemfile in the root of your app:

source :gemcutter
gem 'sinatra', '0.9.4'
gem 'haml', '2.2.17'

…and running “bundle install” at the command line, which sets up all of your gems.

Yehuda Katz has a writeup on using bundler that outlines various scenarios for using bundler.

Heroku now has native support for gem bundler. If you push up a repo that has a Gemfile in its root, the slug compiler will bundle your gems automatically. (You can use this in addition to, or instead of, the .gems manifest. Both will be supported for the foreseeable future, so you needn’t feel pressured to switch.) Docs here.

The Ruby community has been in need of a simple, standard, dependency-free gem dependency manager for a long time. Cheers to Yehuda Katz, Carl Lerche, and everyone else involved with bundler for delivering this elegant solution!

Note to beta users: For those who used Bundler 0.8 in beta on Heroku, you’ll need to update your application to use Bundler 0.9 before your next push. If you don’t update your Gemfile, your push will be rejected. Currently running apps will continue to run unaffected.

Heroku Casts: Windows Setup

Getting the entire ruby stack up and running on Windows is a bit tricky. To help out the process we’ve posted a new Windows setup docs page.

This 10 minute screencast walks you through the process. It follows the outstanding instructions put together by Sarah Mei for the Ruby on Rails Workshops

Manage Heroku with your iPhone

You get a call from your partner that your app just hit
the front page of Digg. You’re away from your computer, and need to scale your app up now! Fire up Nezumi and dial your dynos to 12 to handle the load no problem.

Nezumi is a 3rd party iPhone app that allows you to perform almost any of the functions that the CLI supports, from restarting your app, changing your dynos and workers, viewing logs, adding collaborators, and much more. It’s available now from the iTunes store.

Marshall, the developer of Nezumi, was kind enough to provide us 5 copies of Nezumi to give away. Leave a comment below, and on Friday we’ll select 5 people from random and email you a promo code for Nezumi!

Pricing Changes, Part I

You, our customers, have given us great feedback that in some places our pricing isn’t aligned with the value we provide, and in other places our pricing is just confusing.

We want to be more transparent about how we’re thinking about pricing, so today we’re announcing our pricing philosophy, as well as the first of a series of changes: moving away from storage based pricing on our database offering.

Platform Value and Pricing Philosophy

You have told us loud and clear that the value you get from the platform is saved time and opportunity cost, shorter deployment cycles, increased agility, simplified ongoing maintenance and operations, and saved head count.

You’ve also made it clear that you don’t see much added value in the commodity components of compute, storage, and network.

Our pricing philosophy moving forward will be to price for the things that provide value, and to make compute, storage, and network effectively free (like long distance) as much as we can.

There are places where we aren’t doing a good job of this today, so we are going to make a series of changes to bring our pricing more inline with this philosophy.

Database Pricing Changes

The worst offender currently is our database pricing, so we’re going to start our changes here.

There is tremendous value in having a relational database at your fingertips that requires no administration and is always seamlessly hooked up to your app. Yet, in trying to differentiate the levels of service, we priced based on storage.

This runs counter to our belief that storage should be free, so we are altering our pricing to focus on productivity and performance, and to effectively give storage away.

Shared Database
Starting today, we are eliminating the $50 Crane plan, and allowing up to 20GB of data in our $15 Koi plan. This makes Koi a very affordable offering with great storage and high (but variable) performance.

All Crane customers will be migrated to Koi immediately (the transition is seamless and won’t require any downtime), and will get greatly increased limits and a lower cost.

Dedicated Database
For predictable performance or larger databases, we offer dedicated database plans. Starting today, we will allow up to 2TB of data across all dedicated plans.

To view the updated pricing, please visit our pricing page.

Note that these limits are for database data only – there is no filesystem on Heroku.

More to Come

This is the first in a series of changes we hope will bring our pricing more inline with the value our customers get from the platform. Stay tuned!

Success Story: FlightCaster

Last month’s featured app was FlightCaster. FlightCaster provides filght delay prediction, letting you know 6 hours in advance if your flight is delayed. Today we’ve posted their success story, along with a great video with their CEO, Jason Freedman.

Jason goes into some great details on how they use Heroku to handle their complex application, including useing a Hadoop cluster to process millions of updates. In his words, “Heroku has enabled us to deliver a world class service without having the huge management and operational overhead we would have otherwise needed.”

Watch the video below, or click on through to the whole success story. For more technical details, also check out this InfoQ article.

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