Why Ruby and Rails on Heroku?

Leader in Ruby on PaaS

Heroku pioneered Ruby on a PaaS and we continue to innovate the developer experience with pipelines for continuous delivery from GitHub, and Docker support for dev/prod parity. Ruby developers get same day Ruby release support for MRI and the ability to run Ruby on the JVM with JRuby support. We are dedicated to supporting the Ruby community and employ four Ruby-language core team members, including Matz, the creator of Ruby.

Optimized build and migration workflow

Heroku caches assets between deploys for faster builds. Use one-off dynos to run rake:db migrate for database migration operations, or attach a Rails console to easily inspect and debug live apps. Preboot lets you deploy a new release to your web dynos and have them receive traffic before terminating existing ones, which can contribute to zero downtime deployments.

Runtime and framework support

Run web apps using Rails, Sinatra and Rack, and coordinate Ruby backend workers using your choice of queuing system, including Sidekiq. Handle concurrent web requests using a single dyno and mitigate slow clients with Puma. Heroku Postgres is database as a service, optimized for developers, with JSONB support for fast semi-structured data access.

Heroku gives you simple, easy ways to…

Deploy

Deploy from Git, your CI system, or deploy on every push to a branch in GitHub. Heroku runs your app in a dyno — a smart, secure, curated container with your choice of Ruby version and interpreter. Dynos come in different types, ranging from low-cost dynos for experimentation and prototyping, all the way to dedicated types for your highest-traffic apps.
Heroku’s Ruby support docs →

Manage

Manage your app portfolio in a straightforward dashboard or with a CLI. Extend your apps with more than 200 fully managed add-ons for a range of functionality such as data stores, logging, and more. Provisioning an add-on is as simple as heroku addons:create papertrail. You can just as easily add Heroku Postgres.
Heroku Add-ons docs →

Scale

Heroku's horizontally scalable, share-nothing architecture is designed for building services in today's world of containerized applications. Use App Metrics to monitor CPU, throughput, and memory so you know when to scale. Scale out your Ruby app’s web dynos with a single CLI command or by dragging a slider in the Heroku Dashboard.
How to scale dynos →