Ruby を利用できる PaaS のパイオニア
Heroku は Ruby を利用できる PaaS の先駆けです。そして今なお、 GitHub からの継続的デリバリーのためのパイプラインや、開発/本番一致のための Docker のサポートなどを通じて開発環境を刷新し続けています。Ruby 開発者は、Ruby が公開したその日から MRI を使用でき、JRuby をサポートする JVM 上で Ruby を実行できます。Ruby コミュニティの支援に力を入れている Heroku は、Ruby の開発者である、まつもとゆきひろ氏を含む 4 名の Ruby 開発中核メンバーを社員として迎え入れています。
最適化された開発/移行ワークフロー
Heroku はビルドを高速化するため、デプロイのたびにアセットをキャッシュします。one-off dyno を使って rake:db migrate
を実行してデータベースを移行したり、Rails コンソールを使用して稼働中のアプリケーションの点検やデバッグを行ったりできます。ブート前に新しいバージョンを web dyno にデプロイして、既存のトラフィックが停止する前にトラフィックを受信できるので、デプロイ時のダウンタイムをゼロにできます。
ランタイムとフレームワークのサポート
Rails、Sinatra、Rack を使った Web アプリケーションの実行や、Sidekiq など任意のキューシステムを使った Ruby のバックエンドワーカーの調整が可能です。1 つの dyno で同時に複数の Web リクエストを処理したり、Puma を使って低速クライアントの影響を軽減したりできます。Heroku Postgres は開発者向けに最適化されたサービスとしてのデータベース(DaaS)で、JSONB をサポートして半構造化データへの高速アクセスを可能にします。