LoginSignup
16
17

More than 1 year has passed since last update.

作ったWebサービスを無料、もしくは、低コストで公開する方法まとめ

Posted at

○はじめに

今回、個人アプリ(Laravelで作成)を低コストで公開したいと考え、色々調べてみた公開方法をまとめてみることにしました。
難易度が「簡単なもの〜初学者には学習コストが少し高いもの」まで集めています。

全項目に、「難易度とコストの参考表」を記載していますが、かなり主観で、なおかつ、一眼でわかる様に大体で書いたものです。
詳細についてはご自身でググって頂くようお願いします🙇‍♂️

○私が採用した運用方法

今回、私は③で紹介する「VPSサーバー」を採用しました。(ConoHa VPSを使用)

理由としては、
コストを出来るだけ抑えて、なおかつ、運用して行くにあたってのそれなりのパフォーマンスを追求したいと考えてたからです。

しかし、仮装サーバーといえど、物理サーバーは1台のため、
万が一、アクセス数が急激に増えた時が心配です。
その際は、AWSへ移行する方法もあるため、臨機応変に対応したいと思います。

○公開の種類

公開方式 サーバーの種類 説明
オンプレミス型 物理サーバー カスタマイズ性に優れる、高価 会社にある物理サーバー
PaaS 共有サーバー 一つのサーバーをみんなで共有、カスタマイズしにくい、安価 Heroku、Netlify
VPSサービス 仮装サーバー 一つのサーバー上に、1つの仮装的なサーバーを立てれる、カスタマイズ性がある、安価→固定価格 サクラVPS、ConoHa VPS
クラウド 仮装サーバー 一つのサーバー上に、複数の仮装的なサーバーを立てれる、カスタマイズ性がVPSより高い、従量課金性  AWS、GCP、Azure 

○公開方法まとめ

①Heroku

難易度 コスト
簡単 無料(毎月550時間まで→※スケールアップ時は、費用がかかる)

初めて、Webアプリを公開する人にはおすすめです。

メリット

  • Paas(Platform as a Service):アプリケーションを稼動するためのインフラ部分が全てカバーできる。
    →アプリさえ作成すれば、あとは少しの作業でアプリを公開できる。

  • 無料で使用できる
    ほとんどアクセスのない、個人用のポートフォリオとかだと全然無料で使えます。(1サービスであれば)

  • 簡単に公開できる
    Herokuの会員登録と、コマンドラインで簡単な操作を行うだけで公開できます。

デメリット

  • 読み込みが遅い
    30分ごとに使っていなければwebサーバーがスリープ状態になるため。
    (ただし、使いようによっては改善も出来るっぽい)

  • カスタマイズ性に欠ける
    あくまでもPaasであるため、AWSなどのクラウドサービスと比べると機能や拡張性の面でも劣ります。

  • デフォルトのDBはPostgreSQL。(MySQLを使う場合は、アドオンを追加しなければいけません)

②Netlify

難易度 コスト
簡単 無料(個人サービスのホスティングレベルであれば)https://www.netlify.com/pricing/
  • 静的サイトをホスティングすることが出来るWebサービスです。
    正式にはアクセスするたびにページを生成するような動的なWordPressやWebアプリケーションをホスティングする際には適していません。
    あらかじめ、ページが用意されているようなLPや、ポートフォリオサイトなどに使用出来ます。

  • SSL化も可能。小さいサービスの運用程度なら、耐えうる。

③VPSサービスを使用する(さくらVPSやConoHa VPSなど)

難易度 コスト
やや難 (だいたい)月約600円〜4桁

VPSサービスとは?

→仮装専用サーバーのことです。
1代のサーバーを複数人で共有する点では、PaaSと同じですが。
1人1台カスタマイズして作った仮装的な専用サーバーを使える事がメリットです.

  • レンタルサーバーの代わりにVPSサービスや、クラウドサービスを利用する
    Webアプリケーションを公開する場合、レンタルサーバーだと難しい場合があります。
    1つのサーバーを他の人と共同で使用するため、技術によってはプログラムが動かないからです。

  • Webサイト運用など過度なパフォーマンスを必要としないものに向いている

  • 大幅なカスタマイズを行う場合は、クラウドやオンプレがいいかも

メリット

  • 1人1台カスタマイズして作った仮装的な専用サーバーを使える
  • 安いコストで、カスタマイズが行える

デメリット

  • 物理サーバーや、クラウドと比べると、パフォーマンスが劣る

参考

・Webサーバーを構築

・サーバー上で開発環境を構築する
→これから開発を開始される方向け。既に開発済みの方は、「サーバー上に本番環境を構築する」を参照ください

・サーバー上に本番環境を構築する
→セキュリティ対策までかなり詳しく記載されています。内容は何をしているか調べながらじゃないとよくわかりませんが、いい勉強になります。

④PHP Lambda、DynamoDB、Layer、Brefを組み合わせて、サーバーレスでLaravelを動かす

難易度 コスト
かなり難(そう) ???

Lambdaとは?

AWSのサービスとの1つで、あらかじめ用意しておいた関数を実行するサーバーレスのサービス。

サーバーレスについて

Lambdaの料金についてです。

関数に対するリクエストの数とコードの実行時間に基づいて課金されます。

AWS Lambda の無料利用枠には、
1 か月ごとに 100 万件の無料リクエスト、および 40 万 GB-秒のコンピューティング時間
が、それぞれ含まれます。
https://aws.amazon.com/jp/lambda/pricing/

Lambda関数が実行されていない間は無料ということ

メリット

  • リクエスト数の少ないサービスだと、コストパフォーマンスが良さそうです。

例)ビッグデータ解析など、1日に少数の決まった動作のみのサービス

  • メンテナンスはAWSが全て行ってくれる

デメリット

  • リクエスト数が多いサービスは高額になる可能性が

参考

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17