プログラマーがインフラ構築の知識を学ぶにはVPSが一番!
会社ではインフラ構築専門のチームがあるので、自分でインフラ構築する機会がないって方は多いかと思います。
私も仕事でインフラ構築する機会はありませんでしたが、趣味でWebサイトを運営するようになりインフラ構築を経験できました。
「えっ、Webサイトなんてレンタルサーバ借りれば、環境なんて初めからでき上がってるじゃん?」
って思われたかもしれませんが、レンタルサーバでなくVPSを借りたんです。VPSを借りると、サーバのroot権限が与えられて、自由にソフトウェアをインストールして自分好みのインフラを構築できます。
しかも、VPSは一台のサーバを仮想的に分割して使用するので、1ヶ月1000円くらいで借りられます。
そんなわけで、今回はVPSを借りてインフラ構築を学ぶ方法について紹介します。
VPSとは仮想サーバのこと
VPSはVirtual Private Serverの略です。直訳すると仮想個人用サーバです。
一台のサーバマシンを仮想的に個人に割り当てて貸し出すサービスなんです。
一台を分けて貸し出すという意味ではレンタルサーバと同じですが、
VPSはOS自体を独立して持つことができる点が違います。
VPSを借りると、あなたにroot権限が与えられた個人用のOSが使えるのです。
そのため、何でも自由にインストールすることができて、いろいろ学べます。
レンタルサーバでできないことをVPSでやろう
一般的なレンタルサーバはPHPなどのスクリプト言語が動くWebサーバとMySQL・PostgreSQLなどのDB、メールサーバが使えます。これでもやりたいことの大半はできますが、できないこともたくさんあります。例えばnode.jsのプログラムを動かすことはできません。
また、Rubyを動かせるレンタルサーバは多いですが、CGIモードでの動作しかサポートしてないものがほとんどなのでRuby On Railsを動かすこともできません。
ですから、技術の実験場としてVPSを借りると学べることがぐっと広がるんです。
VPSならWebSocketも動かせる
私はミクミクかるたというオンラインかるたゲームを個人で開発・運営しているのですが、このゲームはクライアントがHTML5でサーバはWebSocket(node.js)で実装されています。
WebSocketを使ってみたいけど動かす環境がないという方にもVPSはおすすめです。
この他にも重たいバッチ処理を動かしっぱなしにしたり、Linuxサーバでできることは何でもできます。
VPSとクラウドだとどっちがいい?
インフラの基礎知識を学ぶという意味ではクラウドよりVPSの方が適しています。
VPSはOSを再インストールしてまっさらな状態から環境構築をすることができます。Apacheやnginx、MySQLなどのよく使われるソフトウェアも何も入ってない状態から始められるのでインフラ構築のすべてを体験できます。
クラウドは用意されてるメニューを使って環境構築しますが、VPSはそういったものがなくすべてコマンドで実行していくので、より直にインフラをいじくり回す感覚が得られます。
もちろんクラウドの知識も重要です。VPSでインフラの基礎を学んだ後にサーバの性能アップを柔軟に行うための技術としてクラウドを学ぶのはとても良いことです。
それにVPSの方がクラウドよりもほとんどの場合料金が安いので、まずはVPSから始めてみるのが良いと思います。
私が使ってるVPSは?
もっと安いVPSもあるんですが、同価格帯ではGMOクラウドVPSのメモリーが一番大きい(2G)のでお得だと思って選びました。
VPSというとさくらVPSが有名ですが、有名なサービスは利用者が多い分、重くなりがちかなと思い、あまり有名じゃないGMOクラウドVPSを選びました。
有名じゃないからかは分かりませんが、サーバのレスポンスはとても高速です。
このブログもGMOクラウドVPSで動いています。
環境はnginx + phpfpmでWordPressを動かしてます。
この他にミクミクかるたでWebSocket(node.js)が動いていて、ミクミク防衛軍等のUnityゲームのサーバサイドとしてRuby On RailsがApache + Passenger上で動いています。これだけのことがVPS一つでできました。
インフラの知識もかなり身についたので、リターンの大きい投資になりました。
そんなわけで
- インフラ構築を学びたい
- 個人でサービス作って公開したい
という方にはVPSをおすすめします!