こんにちは、財前です。
皆さんは、個人開発、されていますか?
業務で使う技術の習得や、収益の獲得など、皆さんそれぞれの目的をもって個人開発に取り組まれていると思います。
もしくは、これから初めて個人開発にチャレンジしようとしている方もいらっしゃると思います。
Webサービスを開発しようとしたとき、そのサービスを公開するためのサーバーについて考えることになると思います。
サーバー選びは、開発するWebサービスの性能や、運用する上での長期的なコストを左右する、とても大事な要素です。
この記事では、個人開発でWebサービスを公開するに当たって、どのようにサーバーを選ぶべきなのかについて書いていきたいと思います。
個人開発に求められること
個人開発に取り掛かるに当たって、開発環境やサーバーを選ぶことになると思います。
その際に、どんなことに気を付ける必要があるでしょうか。
コスト
まず最初に気を付けたいこととしては、個人開発で作られたWebサービスは、会社の経費で運営されるわけではないということでしょう。
業務で開発を行うような大規模なWebサービスであれば、サーバー代や、その他システムの開発・運用にかかった費用は、全て会社が負担してくれます。
当たり前ですが、一般的に会社は個人よりも多くのお金を持っていますから、やれることの選択肢も多くなります。
ただ、個人で開発を行う場合、Webサービスの運営にかかった費用は、全て個人の負担になります。
さらに、リリースしたWebサービスがすぐにヒットする保証もないため、全く売り上げがない状態で、何年間もサービスを運営し続けなければいけないかもしれません。
そういったリスクを考えたとき、個人開発においては、企業が行う開発以上に、できるだけコストはかけたくないでしょう。
個人開発においては、コスト面を安く抑えることは、とても重要な要素と言えます。
性能・パフォーマンス
一方で、性能面で妥協することは、ユーザーに不快な思いをさせることに繋がる恐れがあります。
いくら安いからと言っても、サーバーからのレスポンスがいつまで経っても返ってこないのでは、ユーザーは別のWebサービスに取られてしまうでしょう。
ユーザーに「便利!素晴らしい!」という感動を与えたいからこそ、個人開発に取り組んでいる方も多いと思います。
コストをケチるあまり、性能を犠牲にすることは、個人開発に取り組む皆さんの望むところではないと思います。
一方で、個人開発で作ったWebサービスの公開当初は、あまりユーザーが多くない場合も多いと思います。
大企業のようにお金をかけて広告をうてる場合は、リリース当初から多くのユーザーを集めることができるかもしれません。
ただ、個人開発では広告費も限られてくるため、いきなり大量のトラフィックが流入してくることを想定する必要は、ほぼありません。
つまり、大量のトラフィックをさばけるような性能は、Webサービスの公開時点では必要ないことになります。
リリース段階ではあまりコストをかけずに性能を抑えておき、しばらく運用してトラフィックが増えてきてから、段階的に性能を上げていけるような仕組みが用意されているものを選ぶのが得策でしょう。
機能
AWSやAzureなど、海外大手クラウドベンダーが提供しているクラウドサービスには、多彩な機能がそろっています。
単純にウェブサーバー・DB・ストレージのみで構成されたWebサービスだけでなく、サーバーレスアーキテクチャ等のあらゆるアーキテクチャでWebサービスを構築するために必要な、あらゆる機能が用意されています。
一方で、個人開発において必ずしもここまで豊富な機能が必要かと言うと、そうでない場合も多いと思います。
AWSやAzure等のクラウド開発を学ぶことそのものが目的の場合は別ですが、もしユーザーにWebサービスを提供することが目的であれば、そこまで多機能なクラウドサービスを用いなくても、低コストで運用できる方が優先されるかもしれません。
個人開発でWebサービスを作るときにおすすめのサーバー
海外の大手クラウドベンダーのクラウドサービス?
まず最初に選択肢に上がるのは、海外の大手クラウドベンダーが提供しているクラウドサービスでしょう。
AmazonのAWSやMicrosoftのAzure、GoogleのGCPなどが代表です。
ただ、個人開発で利用する場合、必ずしもこれらが最適な選択肢とは限らないと思います。
これらのクラウドサービスは、超多機能であり、大手企業や政府機関のシステム開発にも利用されるようなクラウドです。
もちろん個人レベルでの使用も可能ですが、学習コストは結構高いです。
それぞれのクラウドに、いくつも資格試験が用意されているほどです。
もし仕事でこれらのクラウドサービスを使う予定があるのであれば、学ぶ価値は十分にあると思います。
ただ、そうでない場合は、クラウドでの環境構築について学ぶところに長い長い時間を費やすのは、得策ではないでしょう。
まずは個人開発のWebサービスの完成を優先させ、必要最低限の知識でも、リリースまでたどり着くことが重要だと思います。
なぜなら、個人開発で学ぶべきことは、本当に多岐に渡るからです。
Webサービスのコンセプトを考えることから始まり、システムアーキテクチャの設計・UIのデザイン・フロントエンド開発・サーバーサイド開発・データベース構築・プロモーション・SEO・SNSマーケティング・収益化・顧客サポート・ヘルプサイトの作成など… Webのビジネスに関わるあらゆる部分を、全て個人で行わなければいけません。
全ての分野の知識を完璧まで極めながら進めていたら、永久にリリースまでたどり着けません。
必要ない部分の学習コストは省きながら、極力シンプルな思考でリリースまでたどり着ける開発環境を選ぶことが、重要になってくると思います。
上記のAzure等のクラウドにも、できるだけ環境構築の手間を減らせる、PaaSと呼ばれる形態のサービスも存在していますが、それを利用する場合は、結構お値段が弾みます。
そちらに関しては、以下の過去記事をご参照ください:
国内VPSという選択肢
海外のメジャーなクラウドサービスにも、個人開発を行う上では欠点がある中で、自分は、国内の企業が提供しているVPS(バーチャル・プライベート・サーバー)の利用をおすすめしています。
国内のVPSに関しては、以下の過去記事にも書きましたが、個人的におすすめしているのはGMOインターネット社が提供している、「ConoHa VPS」というサービスです。

このVPSという仕組みは、上述のAWSやAzure等のクラウドベンダーでサーバーを立てるときに用いられるのと同じ仕組みで、1台のサーバー上に仮想的に複数のOSを立て、それぞれが干渉し合わないようにするサーバーの利用形態です。
仕組みとしては前述の海外大手クラウドベンダーのものと同じですが、ConoHa VPSやさくらのVPSは、そこに特化している分、かなりコストを抑えて運用することができます。
また、DBサーバーやストレージ等の、Webサービスの構築に必要な一通りの機能は用意されている一方で、必要以上に機能が多過ぎず、あまりクラウドサービスの利用に慣れていない方でも、迷わずに個人開発に利用できるようになっています。
性能に関しても、立ち上げ当初は性能を抑えた金額の安いプランで使い始め、トラフィック等の増加に合わせてプランのグレードを上げていくことができます。
そういった意味でも、個人開発のフェーズに合わせた、無駄のない運用が可能です。
ConoHa VPSとさくらのVPSは、どちらも甲乙つけがたい良いサービスですが、個人的には、「ITエンジニアが使いたいVPS」の一位にも選ばれた、ConoHa VPSをおすすめしています。
コスト面が抑えられるのと、性能面(速度)も申し分なく、管理画面がとても使いやすいので、迷ったらとりあえずConoHa VPSを利用しておけば、間違いないと思います。
個人開発でWebサービスを構築する際は、是非、国内のVPSも選択肢に入れてみてください。
最低限のコストで、個人開発に必要な一通りの環境をそろえることができると思います。
この記事が、皆さんの個人開発のヒントになれば幸いです。
最後まで読んで下さり、ありがとうございました。
コメント