◆当サイトで人気のプログラミング教室のおすすめランキングはこちら!
プログラミングは独学では非効率で、時間を無駄にするリスクがあります。効率的なカリキュラムで学べるスクールを受講しましょう。

DMM WEBCAMP転職保証付き!エンジニアとして転職したい人におすすめ!
未経験からプロのエンジニアへ3ヶ月で転職する為のスクールです!
TechAcademyオンラインで開講しているプログラミングスクール
オンラインでどこでも学べる!/教室に行くのが忙しい人でも安心!
TECH::CAMP教養としてのITスキルを学べるスクール
Webデザイン/AI(人工知能)/IOS/Androidアプリ制作/VRを学びたい方!
DMM WEBCAMP ビジネス教養コース【マンツーマンサポート】1ヶ月短期集中でプログラミングを学ぶスクール
1ヶ月通い放題・メンター常駐の教室環境でプログラミングを学びたい方!
2月生募集中!当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のDMM WEBCAMP(旧WEBCAMP PRO)。
1月生は満員となっております。2月生募集に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

はじめに

Railsアプリケーションを作ったら、当然ですが公開して実際に運用したいものだと思います。

しかし、開発中はローカルPCで進めていた場合、実際に公開するためのサーバーへ展開(デプロイ)するためにどうすれば良いのか、わからない人も少なくありません。

今回は、そんなサーバーについて、種類やメリットデメリットを説明しておきます。

おすすめのサーバーや導入方法も紹介しますので、ぜひ参考にしてください。

Ruby on Railsを動かすための環境

Ruby on Railsのアプリケーションを動かすためには、そのための環境が必要です。

PCで開発中、動作確認するために「rails s」コマンドでサーバーを起動したと思います。

じつは、このサーバーは仮想的にPC上に作られたお試し用のサーバーで、当然ですが、処理速度や様々な文政ツールなどが省略されたものです。もちろん、外部に公開することもできません。

そこで、実際に運用する場合には、別途サーバーを立ち上げて、Railsアプリケーションを組み込まなければいけないわけです。

このとき、ローカルPCとはマシンスペックが変わりますし、Railsのバージョンも違ってしまうこともあります。

そのため、Railsを開発するとき、実運用する環境について知ったうえで進めなければ、思わぬ手戻りが発生してしまうことにことがあるのです。

“未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー

サーバーの種類

一口にサーバーと言っても、いくつかの種類があります。

ハードウェア的に独立したものと、ソフトウェアで実現しているもの、自分ですべて管理するものと、必要な部分だけ管理するものなど、様々なニーズに合わせたものがあります。

また、サーバーと言ってもコンピュータに変わりありませんので、自宅で運用する(「サーバーを立てる」と言います)ことも可能です。その場合は、完全にすべてを自分で管理することになるでしょう。

自宅サーバーの運用には幅広い知識が必要ですので、Railsアプリケーションを公開するためだけにゼロから始めるには学習コストがかかります。(ただ、Railsプログラマーにとって、サーバーの知識は、非常に強力な武器になりますので、概要でも知っているほうが良いでしょう)

そのため、ここでは、レンタルすることができるサーバーについて、VPSとIaaS、PaaSについて、紹介していきます。(なお、VPSは昔ながらのレンタルサーバーの一形態、IaaSとPaaSは、昨今よく聞くことの多いクラウドサービスの一種です)

VPS

VPS(Virtual Private Server)は、物理的なサーバー上に仮想サーバーを立ち上げ、それをユーザーにレンタルするサービスです。

仮想的なものと言っても、1台のサーバーをまるまる借りることができるため、自宅サーバー同様、Railsを含むソフトウェアを自由にインストールできるのが特徴です。

多くの場合、定額制の料金設定になっており、予定以上のコストがかかることがありません。

また、サーバーをダウンさせるようなことが起きても、基本的には自分以外には迷惑をかけませんので、学習用途としては優れていると言えるでしょう。

デメリット

1台のサーバーですので、各種設定などをすべて自分で行わなければいけませんので、自宅サーバーを立てるのと同様に知識が必要になってきます。

仮に実運用を行った場合などは、サーバーがダウンした場合の対策なども自分で対応しておかなければなりませんし、セキュリティ対策も含めて、実際のサーバー運用をすべて行う必要があります。

自宅サーバーとの大きな違いは、初期投資とハードウェア的なトラブルに対応する必要がない点のみと言っても良いかもしれませんので、初心者が活用するには敷居が高いでしょう。

最大のメリット

VPSのメリットは何と言っても、その自由度です。サーバーの管理者になりますので、なんでも好きなことが可能ですので、自分の好みのサービスを構築することができるでしょう。また、定額制でコストの試算が容易な点も、他のサービスに比べると大きな利点でしょう。

IaaS

IaaS(Infrastructure as a Service)も、VPS同様、仮想的なサーバーを借りることができるサービスですが、(仮想的な)ハードウェア構成やOS、ネットワークリソースなどを自由に構成できるものです。

そのため、自分のサービスの規模に合わせたスペックのサーバーを借りるだけでなく、稼働状況に合わせてスペックを増減させることもできますので、効率よい運用ができるでしょう。

デメリット

VPS同様、サーバーをまるまる借りることになりますので、設定やソフトのインストールなどをすべて行う必要があります。また、ハードウェア構成も詳細まで自分で検討しますので、VPS以上に知識が必要と言えます。

また、ハードウェア構成に合わせた従量課金になっていることがほとんどですので、予想以上のスペックの設定をしてしまうことで、コストがかさんでしまうことも少なくありません。

最大のメリット

VPS同様、自由度が大きなメリットですが、ハードウェア構成を動的に変更できる点は、Webサービスを運用するうえで大きなメリットでしょう。Webサービスを実運用するうえで、「どの程度のアクセスを見込むか」というのは大きな課題です。大きく見込みすぎて無駄なコストをかけたり、小さく見積もりすぎてサービス品質に問題が出たりなど、どのサービスも苦労している部分です。

IaaSを使えば、その点を柔軟に変更できますので、サービス品質とコストのバランスをとることが容易になっています。

PaaS

PaaS(Platform as a Service)その名の通り、特定のプラットフォーム(アプリケーションの実行環境など)を切り出して貸し出すサービスです。

PaaSを使えば、利用者は煩わしいサーバーのセットアップや管理から解放され、Railsアプリケーションの公開など、やりたいことに集中することができます。

デメリット

自分でWebサーバーの構築などを行う必要がない利点は、反面「自分の望む環境を構築できない」ということであり、PaaSの環境に合わせた開発が必要になってきます。

また、規模の大きな商用サービスを運用しようとすると、比較的コストがかかってしまうことが多く、機能的な制限でサービス内容に影響が出てくる場合もあります。

最大のメリット

サーバーの管理や環境の構築の労力が最低限で済むという点が、もっとも大っきなメリットでしょう。特に学習段階の人の場合は、プログラム言語を憶える前の段階の環境構築は、非常に大きなハードルになります。PaaSであれば、その懸念がほとんどありませんので、学習者にやさしいサービスと言えるかもしれません。

コツコツ独学×スクールで実践。未経験からエンジニアに転職!【WebCamp卒業生インタビュー】

おすすめのレンタルサーバー

ここまでで、Railsアプリケーションを公開するのに適したサーバーについて紹介しました。

では、実際にどんなレンタルサーバーがあるのか、代表的なサービスを具体的に紹介しましょう。

VPS

仮想サーバーを借りるVPSは自分ですべての設定などを行う必要がある分、低コストで自由度が高いのが特徴です。その中でも、比較的人気のあるサービスを紹介しましょう。

さくらVPS

コストパフォーマンスに優れ、ある程度の知名度があるサービスは「さくらVPS」です。なにより、国内のサービスですので、マニュアルやサポートが日本語なのも、安心感があります。


さくらVPS

コストも月額1,000円程度からありますので、チャレンジしてみるのも悪くありません。

同企業の運営しているさくらレンタルサーバーは、サーバー領域だけレンタルして管理者権限などが付与されませんので、間違えないようにしてください。(WebサイトやWordpress向け)

GMOクラウドVPS

長期解約をする場合は、さくらVPSよりもコストパフォーマンスの良いGMOクラウドVPSを検討しても良いでしょう。さくらVPS同様、日本語でのマニュアルやサポートもあります。


GMOクラウドVPS

ただし、歴史が浅いこともあってさくらVPSの持っているようなノウハウが乏しく、ネット上では厳しい評価も散見されています。これから改善されていくものですので、サービスが続けばさくらVPSを脅かす存在になるでしょう。

IaaS

仮想的なハードウェアの組み合わせを選べる自由度の高いレンタルサーバーであるため、IaaSを提供する企業には、それなりの技術力と資本が要求されます。そのため、一般的には有名どころのサービスを使うことが多くなるでしょう。

AWS(Amazon Web Services)

IaaSの世界では圧倒的な人気を誇るのが、AWSです。IaaSを知らなくても、クラウドサービスとしてのAWSを聞いたことがある人は少なくないでしょう。


AWS

Amazonの誇る資本力と技術力を背景に、安定性と高機能を売りにしており、商用利用にも十分耐えるバックボーンを備えています。各種ツールやサービスも豊富で、商用利用を見越したRailsアプリケーション公開であれば間違いがないと言えます。

ただし、コスト面は相応のものになりますので、学習用途としては期間限定(1年間)で無料で使えるマイクロインスタンスなど、制限された環境を利用することになるでしょう。

PaaS

Railsのプラットフォームを提供してくれるPaaSは、残念ながら、日本ではほとんどありません。そのため、海外のサービスを利用することになるでしょう。そのため、どうしても英語の壁が立ちはだかってしまいますが、良い機会ですのでリーディングの勉強も兼ねるのも良いかもしれません。

Heroku

Railsチュートリアルでも紹介されているPaaSです。基本機能だけであれば無料で利用することができ、学習用途にはぴったりと言えるでしょう。ただし、アメリカのサーバーを利用しているため、レスポンスが少し遅くなってしまうのと、マニュアルやサポートが英語ですので、少し敷居が高く感じるかもしれません。


Heroku

ただし、日本でも人気のあるサービスですの、数多くの参考サイトもあり、お試しでデプロイするなど、独習するには最適な環境と言えます。

OpenShift Online

LINUXデストリビューションでご存知のほうもいるREDHATが展開しているPaaSです。比較的新しいサービスですが、無料で利用できる環境のスペックも高くなっています。ただし、Heroku同様、海外サーバーですので、レスポンスが速くはなく、商用利用するには物足りないかもしれません。


OpenShift Online

また、日本語での参考情報もそれほど多くはなく、マニュアルはすべて英語で、サポートもコミュニティでの対応になりますので、英語が苦手な人には厳しいかもしれません。

未経験から上京し、エンジニアとしてチームラボグループに転職!【WebCampPro卒業生インタビュー】

独自ドメインが必要

どのサービスを利用するにしろ、Railsアプリケーションを公開する場合は、独自ドメイン(自分のHTTPアドレス)を取得しておいたほうが都合が良いでしょう。

もちろん、各レンタルサーバーサービスでドメインを割り当てられますが、原則としてそのサービスのサブドメインとして「サーバーサービス名/サブドメイン」といったものになりますので、商用利用するには適していません。

そのため、ドメインを取得してサーバーに設定しておくことも考えておかなければいけません。なお、ドメインはその取得と維持にお金がかかりますので、そのコストも考慮しておかなければいけません。(1円のものも多いですが、分かりやすいものなどは高額になります)

取得は、「お名前.com」などで簡単にできますし、レンタルサーバーによっては提携して無料になっている場合もありますので、Railsアプリケーションの公開を考えている場合は、レンタルサーバーと一緒に調べておくことをおすすめします。

まとめ

今回は、Railsアプリケーションを公開するためのサーバーについて紹介しました。

VPS、IaaS、PaaSと知識と環境に合わせていくつかの種類がありますが、すべてにおいて言えるのは、Railsプログラムの知識以外の知識(サーバー運用やセキュリティ)の知識が少なからず必要なということです。

Webアプリケーション開発は、インターネット上に公開することが前提のサービスですので、ネットワークの知識があるとないとでは、理解度やサービス品質への取り組み方が大きく違ってきます。

いきなりVPSへ飛び込むのは厳しいかと思いますが、PaaSを使ってサービスの流れを理解し、必要な設定などを把握した後に、ぜひ1度は挑戦してみていただければと思います。

もちろん、広大なWebアプリケーションの世界ですので、一朝一夕で理解できるほどの人はいません。数多くの暗黙の了解やノウハウなど、文字に起こされていない知識も豊富にあるのがこの世界です。

対面学習ができるスクールなど、技術者と話をして、その一端だけでも知ることができる機会があれば、ぜひ活用してください。

・サーバーにはそのレンタル領域によって複数の種類がある
・VPSは共用サーバー上に立ち上げられた仮想サーバーを借りる
・IaaSはサーバー上のハードウェアを自由な組み合わせで借りて、任意のスペックのサーバーを構築できる
・PaaSは、サーバー上に作られたソフトウェア環境(プラットフォーム)を借りることができ、Webサーバーの構築や管理を行う必要がない
・PaaSであれば、Rails以外の知識をあまり要求されないため、Railsの学習用途での利用には適している。ただし、その後の商用利用を考慮すると、割高、かつレスポンスに不安が残る
・本格的な商用利用を考慮しているなら、AWSなどのIaaSが最適
・コスト面を考慮して商用利用するならば、VPSで試してみるのも良い
・独自ドメインを取得しておいたほうが商用利用に移行するときに便利

DMM WEWBCAMPについて

DMM WEBCAMPは3ヶ月間で未経験から即戦力エンジニアを育成する転職保障付きのプログラミングスクールです。1ヶ月でプログラミング・Webデザインを学ぶ通い放題の「ビジネス教養コース」も展開しています。

DMM WEBCAMPを運営する株式会社インフラトップ では、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。

キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?

2月枠も残りわずか当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のDMM WEBCAMP(旧WEBCAMP PRO)。
1月受入枠は満員となっております。2月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

▼未経験から1ヶ月でWEBデザイン・プログラミングを学びたい方はこちら!


▼ついに開講!オンラインでWEBデザイン・プログラミングを学びたい方はこちら!

 

【インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!

ブラジルから帰国し技術をつけようとRubyエンジニアを目指してWebCampでRubyを学び、見事Webエンジニアとして転職を果たした田中さんにお話を伺いました。

Rubyの学習がしたい。基礎をしっかりと理解したい

転職のサポートがほしい

と考えている方はぜひお読み下さい。

【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!

おすすめの記事