DEPLOYMENT GUIDE

個人開発のWebアプリはどこで公開する?

作品集・問い合わせフォーム・予約アプリを例に、公開先の違いを解説

ポートフォリオを見せたいだけなら、用意したページや画像を、ブラウザで見られるようにすれば公開できます。問い合わせを受け取るサイトなら、送信内容を処理する場所も必要です。ログインした人に自分のデータを見せるアプリでは、誰がどのデータを見られるかと、データの保存先まで決めます。

この記事の内容

はじめに知っておきたい用語

個人開発のデプロイ先を、アプリの機能から選ぶ

公開先を探すときは、まず 「公開後にどこでコードが動き、どこにデータが残るか」 を書き出すと、候補を絞れます。

公開先を選ぶ順番
1. 処理する場所用意したページを見せるだけか、予約や送信のたびに処理するか
2. 保存する場所入力や画像を残すなら、どのサービスが保存するか
3. 管理する範囲アプリが動くサーバーの設定や更新を誰が担当するか
同じツールで作ったサイトでも、公開後に使う機能によって選択肢は変わります。
作ったもの 最初に検討する構成 決め手
ポートフォリオ、作品集、説明ページ 静的ホスティング 用意したページや画像を、そのまま見せられる
問い合わせフォーム付きサイト 静的ホスティング+フォームの受付サービスなど 送信の受付や通知を別のサービスへ任せられる
ログイン付きの予約管理、会員ページ 画面の公開先とデータの処理先を分ける、またはPaaSでアプリを動かしてデータベースをつなぐ 操作のたびに、誰が予約を見たり変更したりできるか確認する
サーバーや通信の設定を自分で変えたいアプリ VPS 必要な設定を自分で管理できる

ポートフォリオなら静的ホスティングから考える

静的ホスティングは、用意したページや画像などのファイルをブラウザへ届ける公開方法です。手書きのHTMLはそのまま公開できます。サイト生成ツールを使う場合は、公開前にページのファイルを作る「ビルド」を行い、できたファイルを公開します。作品を追加したときは、ファイルを作り直して公開します。配信したJavaScriptはブラウザで動くので、絞り込みや表示切り替えもできます。GitHub Pagesはこの方式の一例で、GitHub上に置いたHTML・CSS・JavaScriptなどを公開できます。GitHub Pages公式の概要

問い合わせフォームなら、送信先から決める

フォームの見た目は静的ページに置けます。送信データの受付やメール通知は、外部フォームサービス、公開サービスに付属するフォーム機能、自分で用意した受付処理(API)などが担当します。たとえばNetlify Formsは、指定の設定を加えたHTMLフォームの送信を受け付けます。Netlify公式のフォーム設定

静的ページから問い合わせを受け取る例
静的ページフォームを表示
送信先入力を受け付け、必要な項目がそろっているか確認
通知・保存担当者へ知らせ、必要なデータを残す
ページの公開先と、送信内容を処理する場所を分ける構成です。

通知が届けば十分ならフォーム機能で始められます。受付番号を発行する、過去の問い合わせを担当者別に表示するなど、独自の処理が増えたら、APIや管理画面を含む構成を検討します。自分でメール通知を実装する場合、メール送信サービスの合鍵にあたる「APIキー」はサーバー側で管理します。ブラウザに届くファイルに入れると、閲覧者から見えてしまいます。

予約を保存するなら、処理とデータの置き場所を決める

予約管理なら、予約枠が空いているか、利用者がその予約を更新できるかを、操作のたびに確認します。画面を静的に配信する場合でも、予約を受け付ける処理と、記録を残すデータベース(DB)が必要です。

予約を受け付け、利用者ごとに見られるデータを制限できるサービスがあれば、画面だけを静的ホスティングで公開する方法もあります。自分で書いたNode.jsやPythonのプログラムをサーバーで動かすなら、アプリを動かす環境を提供するPaaSが候補です。サーバーの基本的な管理は公開先に任せ、アプリが使うライブラリの更新や、誰が何を操作できるかは自分で管理します。Render Web Servicesはその一例です。Render公式のWeb Servicesガイド

GitHubにコードがある予約アプリなら、KamuiDashが候補

Node.jsやPythonで作った予約アプリをGitHubに置いていて、初めてデータベース付きで公開するなら、KamuiDashが候補です。GitHubからアプリを公開し、予約データを保存するPostgreSQLも同じサービスで用意できます。サーバーの設定を一から始めずに、公開した画面から予約を登録し、アプリを更新しても記録が残るかを確認するところまで進められます。KamuiDashのアプリ設定 · KamuiDashのDB設定

すでに別サービスにデータベースがある場合は、今の接続先をそのまま使えるかを先に確認します。

VPSは、サーバーの設定を自分で管理したいときに考える

VPSは仮想サーバーを借りる方式です。たとえばDigitalOcean Dropletsでは、仮想マシンに接続して環境を設定します。サーバーの基本ソフト(OS)の更新、外部から許可する通信の設定、ブラウザとの通信の暗号化(HTTPS)、アプリが止まったときの復旧まで、自分で管理します。サーバーに独自の設定が必要で、その管理も引き受けられるかが選ぶ基準です。DigitalOcean公式のDroplet初期設定

候補が決まったら、自分のアプリで確認する

公開方式を選んだら、まずは発行されたURLで、利用者が実際に行う操作を一つ試します。ポートフォリオなら別端末からページと画像を開く。問い合わせフォームならテスト送信し、通知が届くことを確かめる。DB付きならデータを登録し、アプリを更新して公開し直した後も読み出せるか確認します。会員向けの予約管理なら、別のアカウントで他人の予約を読み出したり更新したりできないことも確かめます。

費用を比べるときは、アプリの実行料に加え、DB・ファイル保存・通信量まで入れて見積もります。デモを見せる用途なら初回アクセスの待ち時間、継続利用ならDBの保存期限やバックアップも確認します。

あわせて読みたい

KamuiDashは、GitHubからWebアプリを公開し、PostgreSQLを接続できるPaaSです。 KamuiDash