「Railsアプリを公開できるサーバーを知りたい、あとRuby on Railsにおすすめなサーバーってあるの?」
Ruby on Railsアプリをいざ公開、となったときに、そんな疑問が出てくるのではないでしょうか?せっかく作ったアプリでも、使えるようにしないと意味がありません。
ここでは、Ruby on Railsで作ったアプリを公開できる有名なサーバーと、Railsアプリの公開にHerokuというサービスがおすすめな理由を、個人開発向けに紹介します。
Railsが使えるサーバーなんてありすぎて分からない、なんて方でも大丈夫です。
Railsアプリの公開ならHeroku一択
結論としては、Railsアプリの公開ならHeroku一択、です。個人開発の場合に限りますが、基本的にRailsアプリの公開は、Herokuがよいです。
Railsを公開できるサーバーはたくさんある
Railsアプリを公開できるサーバーはたくさんあります。だから、どのサーバーを使えばいいのか、迷うんですよね。
まずは、 Railsアプリの公開ならHeroku一択である理由を説明する前に、Railsアプリの公開に使われるその他のサーバーを軽く見てみます。
日本でよく使われているのは、次の4つです。
AWS・GCPはいわゆるクラウドサービスというものでして、ネットワーク構成やサーバースペックなどを細かく設定できるサービスです。Qiitaなどで使われています。
Conoha VPSは、VPS(仮想サーバー)で、AWS・GCPと似ていますが、そこまでの自由度はなく、一台のサーバーを自分で設定して使うというサービスです。VPSサービスは他にもありますが、Conoha VPSが多い気がします。
ここまでのサービスがIaaS(インフラとしてのサービス)と分類されるのに対し、4つ目のHerokuは、PaaS(プラットフォームとしてのサービス)に分類されます。
Herokuでは、直接サーバーが提供されるのではなく、アプリの実行環境が提供され、難しい設定いらずでアプリを公開できます。
Herokuは情報量が多い
では、なぜRailsの公開サーバーならHeroku一択なのか、説明していきます。
まず、Herokuは、Railsのサーバーの中で一番情報量が多いです。AWSやGCPが少ないわけではないですが、GoogleやQiita、Teratailで検索してみると、Herokuに関する情報は新しく充実しています。
特にRailsアプリを初めて公開する場合は、情報の多さがカギになります。僕は、初めてRailsアプリを公開したときは、わからないことが多く、ネット上の情報で解決していました。
Herokuを選ぶことで、トラブルの解決が楽になるのは間違いないです。
スペックも料金も個人開発ならHerokuで十分
Herokuは月額5ドル=約690円から使えるのですが、最安プランであってもスペックは十分です。
Herokuの最安プランである「エコプラン」のスペックを見てみます。
実際のCPU数は公開されていませんが、メモリは512MBも使うことができます。これで足りるか?と思わるかもしれませんが、大規模なサイトでない限り大丈夫です。
また、キャッシュアドオンなどで使われるメモリは、これに含まれません。
最安プランでも独自ドメイン+SSLが使える
Herokuの最安プランに関してよく言われることの1つに、「最安プランだと、SSLが使えない」というのがあります。SSLは、通信を暗号化する技術のことで現代のインターネットでは、必須の機能です。
しかし、最安プランでも独自ドメインでSSLを使えます。少し設定が必要なのですが、簡単に行うことができます。これに関しては以下の記事が優秀なので、これを参考にすればOKです。
以上がRailsアプリの公開はHeroku一択な理由でした。
どう考えても、よほど大規模なサービスでない限り、Herokuで十分だと思います。迷っているのなら、一番簡単で情報の多いHerokuで良いでしょう。
※以前はHerokuを無料で使えた
実は2022年11月までは、Herokuを無料で使うことができました。しかし、Herokuのプラン改定により無料プランが廃止に。
そのため、Herokuを使うには少なくとも月額5ドルを払う必要があります。これって高いと思いますか?安いと思いますか?
僕は安いと思います。アプリ開発以外の細かい設定を全部Herokuがやってくれるからです。たしかに、VPSだともっと安いのがあるけど、Railsアプリの公開のハードルがかなり上がってしまいます。
どうしてもVPSを使って節約したいということなら、
あたりが安いです。どのVPSにしても、結局Linuxサーバーを構築するということなので、情報量はあまり変わらないですね。
そもそもHerokuとは?
そもそもHerokuとはなんなのか?ということと最後に解説します。基本的には、あまり意識しなくてよいですが、知っておくと他のサービスとの比較がしやすくなるのかなって感じです。
PaaSと呼ばれるアプリの実行環境
Herokuは、PaaSと呼ばれるタイプのサービスです。PaaSは「Platform as a Service」の略で、アプリケーションの実行環境を提供するサービスです。
一般的なVPSなどのサーバーと異なり、ネットワーク設定や必要なソフトウェアのインストールはすでにされています。そのため、アプリの作成に集中することができ、難しい知識もいりません。
インフラはすべてAWS
おそらくRailsを公開するサーバーで、AWSとHerokuで迷った方もいると思います。
Herokuについては、インフラがすべてAWSです。つまり、Heroku自体のサーバーやネットワークは、AWSのものとほとんど同じなんです。信頼性や安定性という観点では、AWSとさほどかわらないと思ってよいでしょう。
Railsアプリの公開に使えるサーバーはたしかにたくさんあります。しかし、詳しい知識や難しい設定が必要なものも多いのが事実です。作ったアプリの公開で苦労するのはもったいないので、多くの場合は、もう迷わずHerokuを使えばOKです。
ぜひ、よいRuby on Railsアプリの公開ができるよう頑張ってください。
コメント
どうも、こんにちは。私はITエンジニアをしております。
Railsで作成したアプリを公開するために、どこかの環境を使い始めたいと思い、下調べをしておりました。
こちらのサイトで書かれていた記事「【個人開発】Rails公開サーバーならHeroku一択な衝撃理由
」が、いまの自分の視点とかなり近く、とても参考になりました。ありがとうございます。
1点、記事の中に誤記(記載抜け)を見つけたため、お伝えしたいと思い、メールを差し上げました。
見出し:「スペックも料金も個人開発ならHerokuで十分」のところで、おそらく「エコプラン」とあるべき鉤括弧が「」と中身が抜けておりました。
良い記事に、微力ながら貢献ができればと思っております。
Neji.bitさんコメントありがとうございます。
ご指摘の部分たしかに、エコプランと表記すべき部分ですね。おかげさまで修正することができました。
どうぞよろしくお願いします。