Rails World 2024でDHH氏がRails 8の新機能を発表、PaaS不要のデプロイツールとSQLiteベースの新アダプターを導入

text: XEXEQ編集部
(記事は執筆時の情報に基づいており、現在では異なる場合があります)


記事の要約

  • Rails 8のベータ版がRails Worldで発表
  • PaaSに依存しない新しいデプロイツールを提供
  • SQLiteをベースにした新機能で依存関係を削減

Rails World 2024でDHH氏がRails 8の主な新機能を紹介

Ruby on Rails(以下Rails)の作者であるDHH(David Heinemeier Hansson)氏は、2024年9月26日と27日にカナダのトロントで開催されたRails World 2024の基調講演で、Rails 8の主な新機能を紹介した。Rails 8は、現代のウェブアプリケーションのデプロイを簡素化し、PaaS(Platform-as-a-Service)への依存を減らすことを目指している。[1]

Rails 8の主要な新機能の一つは、Kamal 2とThrusterと呼ばれる新しいデプロイツールだ。Kamal 2は、単一のコマンドでLinuxサーバーをアプリケーションサーバーに変換し、Thrusterは高速なゼロダウンタイムデプロイやSSL証明書の自動化などを提供する。これらのツールにより、開発者は複雑な設定なしに、クラウドVMや自社のハードウェアに直接アプリケーションをデプロイできるようになる。

また、Rails 8ではSolid Cable、Solid Cache、Solid Queueという3つの新しいSQLiteベースのアダプターが導入された。これらのアダプターにより、RedisやMemcachedなどの外部サービスへの依存が減少し、SQLiteだけでWebSocketやキャッシュ、ジョブキューなどの機能を実現できるようになる。これらの新機能は、37signalsの実際のアプリケーションで18ヶ月以上にわたってテストされ、その有効性が確認されている。

Rails 8の新機能まとめ

Kamal 2 + Thruster Solid Cable Solid Cache Solid Queue
主な機能 簡易デプロイ WebSocket管理 キャッシュ管理 ジョブキュー管理
特徴 PaaS不要のデプロイ Redis不要のpubsub 大容量ディスクキャッシュ SQLiteベースのジョブ処理
開発者 37signals Working Not Working 37signals 37signals
利点 簡単な本番環境構築 メッセージの1日保持 長期キャッシュ可能 外部サービス不要

PaaSについて

PaaSとは、Platform as a Serviceの略称で、ウェブアプリケーションの開発・実行環境をクラウド上で提供するサービスのことを指す。主な特徴として以下のような点が挙げられる。

  • 開発環境やミドルウェアの構築・管理が不要
  • スケーラビリティの高いインフラストラクチャを提供
  • 開発者はアプリケーションコードに集中可能

Rails 8の新機能は、PaaSの利点を維持しつつ、その依存性を減らすことを目指している。Kamal 2やThrusterなどのツールにより、開発者は複雑な設定なしにクラウドVMや自社のハードウェアに直接アプリケーションをデプロイできるようになる。これにより、PaaSの利用コストを削減しつつ、柔軟な環境構築が可能になるのだ。

Rails 8の新機能に関する考察

Rails 8の新機能は、現代のウェブ開発における重要な課題に対応しようとする意欲的な試みだと言える。特に、PaaSへの依存を減らしつつ簡単なデプロイを実現する点は、多くの開発者にとって魅力的だろう。Kamal 2とThrusterの組み合わせにより、複雑な設定なしに高度なデプロイ機能を利用できるようになることで、開発者の生産性向上が期待できる。

一方で、SQLiteベースの新機能(Solid Cable、Solid Cache、Solid Queue)は、アプリケーションの依存関係を大幅に簡素化する可能性を秘めている。ただし、これらの機能が大規模なアプリケーションでどこまでスケールするかは、実際の運用を通じて検証していく必要があるだろう。特に、データベースの書き込み競合やパフォーマンスの問題が発生する可能性があるため、慎重な評価が求められる。

今後、Rails 8の新機能がさらに洗練されていくことで、より多くの開発者がPaaSに依存せずに高度なウェブアプリケーションを構築・運用できるようになると期待される。同時に、これらの機能がRailsコミュニティ全体に与える影響も注目に値する。オープンソースの特性を活かし、コミュニティからのフィードバックを積極的に取り入れることで、より堅牢で使いやすい機能へと進化していくことだろう。

参考サイト

  1. ^ Ruby on Rails. 「Ruby on Rails — Rails 8.0 Beta 1: No PaaS Required」. https://rubyonrails.org/2024/9/27/rails-8-beta1-no-paas-required, (参照 24-10-03).

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「プログラミング」に関するコラム一覧「プログラミング」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。