Webホスティングとは?サイトやアプリがオンラインであり続ける仕組み
Webホスティングとは、あなたのWebサイトやアプリを、常に稼働していてインターネットに接続されたコンピューターで動かすことです。そうすれば、誰でもいつでもアクセスできます。ホスティング業者はファイルを保存し、コードを実行し、訪問者がリクエストしたときにページやデータをブラウザに送ります。理論上は自分のノートパソコンでも同じことができますが、ホスティング業者は、それを信頼性高く、安全に、そして大規模に行います。
AIで作る場合にホスティングが大切な理由
AIアプリビルダーでアプリを作ると、まずアプリはプレビューで動きます。これは、あなた(と、場合によっては共同作業者)だけが使える非公開のコピーです。ホスティングは、それを、顧客が開ける公開アドレスのライブアプリに変えるものです。
アプリに必要なホスティングの種類は、アプリが何をするかによって決まります。ランディングページならごくわずかで済みます。ログイン、データベース、決済を持つアプリには、コードを実行するサーバー、データを保存する場所、そしてHTTPSが必要です。この違いを理解しておくと、ビルダーを選ぶ際の判断、運用コストの見積もり、アプリが急に混雑したときに何が起きるか、そして将来どこか別の場所へ移したくなったときの対応に役立ちます。
身近なたとえ
ホスティングは、事業のための店舗に似ています。
- 露店は静的ホスティングです。安く、すぐに用意でき、決まった品ぞろえを見せて売るのに向いています。
- シェアオフィスは共有ホスティングです。多くの他の事業者と同じビルでデスクを借り、エレベーターやインターネットや休憩室を共有します。手頃ですが、隣の騒音が影響することがあります。
- 自分専用の事務所は仮想プライベートサーバー(VPS)です。資源が保証された自分のスペースですが、中で起きることには責任を持つ必要があります。
- 自分のビルは専用サーバーです。完全な管理権と、完全な責任があります。
- チームの規模に合わせて広がったり縮んだりする管理されたオフィスは、クラウドやプラットフォームのホスティングです。必要なものを使い、使った分だけ支払い、メンテナンスは大家が行います。
ドメイン名は、看板に書かれた住所です。DNSは、その住所がどの建物のものかを訪問者に示す地図です。
ホスティングの種類
| 種類 | 内容 | 向いている用途 | 自分で管理する部分 |
|---|---|---|---|
| 静的ホスティング | 固定のファイル(HTML、CSS、JavaScript、画像)を配信します。多くの場合CDNから配信します | ランディングページ、ポートフォリオ、マーケティングサイト、フロントエンドのみのアプリ | ほぼない |
| 共有ホスティング | 1台のサーバーに多くのサイトを置き、コントロールパネルを備えることが多いです | 小規模なWordPressやPHPのサイト | いくつかの設定 |
| VPS | 専用の資源を持つ仮想マシンです | カスタムアプリ。サーバーの運用に慣れている場合 | OS、セキュリティアップデート、デプロイ |
| 専用サーバー | 物理的なマシン1台まるごとです | 特定の要件があり、負荷が高く安定している用途 | すべて |
| Platform as a Service(PaaS) | あなたがコードを提供し、プラットフォームがビルド、実行、拡張を行います | ほとんどのWebアプリとAPI | コードと設定 |
| サーバーレス | リクエストごとにオンデマンドでコードが動き、アイドル時は何も動きません | 負荷の変動が大きい、またはトラフィックが少ない用途、API、バックグラウンドのタスク | 関数 |
代わりにホスティングしてくれるほとんどのAIアプリビルダーは、PaaSのように動きます。公開ボタンを押すだけで、サーバー、拡張、証明書はプラットフォームが処理します。
実例:予約アプリを公開するために必要なもの
公開の予約ページ、顧客アカウント、オーナー向けのダッシュボードを持つ、サロンの予約アプリを考えてみましょう。公開するには、次のものが必要です。
| 構成要素 | 役割 | 動く場所 |
|---|---|---|
| フロントエンド | 訪問者のブラウザにあるページとボタン | 静的ホスティング/CDN |
| バックエンド | 空き状況の確認、予約の保存、閲覧権限の制御 | サーバーまたはコンテナ |
| データベース | サービス、顧客、予約を保存します | マネージドデータベース |
| ファイルストレージ | アップロードされた写真を保存します | オブジェクトストレージ |
| ドメイン+DNS | book.yoursalon.comをアプリに向けます | ドメインレジストラ/DNSプロバイダー |
| HTTPS証明書 | 通信を暗号化し、鍵のマーク(鍵アイコン)を表示します | ホスト、または認証局が発行します |
| シークレット | メールと決済のAPIキー | ホストの環境変数 |
これを自分でデプロイするなら、それぞれの要素を自分で設定する必要があります。代わりにホスティングしてくれるプラットフォームは、これらをまとめて提供します。どちらの場合でも、これらの構成要素が存在することを知っておくと役立ちます。フロントエンドとバックエンドの違いのガイドで、その分担を説明しています。
よく使う用語の解説
| 用語 | 意味 |
|---|---|
| サーバー | ネットワーク越しのリクエストに応答するコンピューターです。 |
| デプロイ/公開 | コードのバージョンをホスティングに置き、ライブにすることです。 |
| 稼働率(アップタイム) | サイトに到達できる時間の割合です。 |
| 帯域幅/egress | アプリから訪問者へ送られるデータの量です。多くの場合、課金されます。 |
| CDN | コンテンツ配信ネットワークで、世界中のサーバーにファイルのコピーを置き、より速く読み込めるようにします。 |
| SSL/TLS、HTTPS | ブラウザとサーバーの間の暗号化です。TLSは現在の標準プロトコルで、「SSL証明書」は一般的な呼び名です。 |
| スケーリング | 大きな機械を使う(垂直)か、台数を増やす(水平)ことで、より多くのトラフィックを扱うことです。 |
| ゼロへのスケール/コールドスタート | アイドル状態のアプリは、費用を抑えるために停止します。停止後の最初のリクエストは、起動のため少し時間がかかります。 |
| 環境変数 | 実行時にアプリに与えられる設定やシークレットで、コードの外に置かれます。 |
| ログ | アプリが行ったことの記録で、エラーの原因を調べるために使われます。 |
| コンテナ | 実行に必要なものすべてを含んだ、パッケージ化されたアプリです。多くの場合、Dockerfileからビルドされます。 |
よくある間違いと誤解
- ドメインとホスティングを混同すること。
yourname.comを買っても、そこにサイトが載るわけではありません。ホスティングと、それを指すDNSのレコードも必要です。 - 「無制限」が本当に無制限だと思うこと。 帯域幅や容量が無制限と宣伝されているプランには、通常、公正利用のルールがあります。必ず読んでください。
- 運用コストを忘れること。 アプリを作ること自体は一度の費用ですが、ホスティング、データベース、ストレージ、サードパーティのAPIには継続的な費用がかかります。公開前に、それぞれの課金方法を確認してください。
- ファイルをサーバーのディスクに保存すること。 多くの最新のホスティングでは、サーバーのローカルディスクは一時的なもので、デプロイや再起動のたびに消えることがあります。アップロードされたファイルはオブジェクトストレージに置くべきです。
- プレビューを本番だと思うこと。 プレビューは停止することがあり、テストデータを使ったり、自分だけに見えたりします。共有する前に公開してください。
- どこへ移せるかを確認しないこと。 ホスティングが1つのプラットフォームに縛られている場合は、後でコードを書き出して、ほかの場所で動かせるかを確認してください。
AIビルダーに頼む内容
- 「公開したときに、このアプリが動くには何が必要ですか。静的ファイルだけでよいのか、サーバーとデータベースも必要なのか。」
- 「アップロードされたファイルはどこに保存されていますか。サーバーのローカルディスクにないことを確認してください。」
- 「すべてのAPIキーは環境変数に保存してください。」
- 「画像と静的ファイルには、キャッシュのヘッダーを追加してください。」
- 「最後に失敗したリクエストのログを見せてください。」
- 「このアプリを別の場所でホスティングするなら、何が必要ですか。」AIで作ったアプリを書き出して自分でホスティングする方法を参照してください。
Mythexでのホスティング
Mythexでは、ホスティングはビルダーの一部です。公開すると、Mythexはプロジェクトのスナップショットを取り、yourname.mythex.appにデプロイします。静的なフロントエンドは静的サイトとして配信され、バックエンドはアイドル時にスリープし、次の訪問で起動するマネージドなマシンで動きます。アプリに必要なときには、データベースとファイルストレージもプロジェクトに付属します。ホスティング、帯域幅、データベース、ストレージは、ビルドと同じクレジット残高から消費され、Proではそれらの料金がFreeの半額です。静的サイトは、アイドル中はクレジットを消費しません。Proでは、HTTPSを自動で発行するカスタムドメインも追加できます。ドキュメントでは公開とホスティングの上限を説明しており、料金でプランを比較できます。
よくある質問
Webホスティングとは簡単に言うと何ですか?
Webホスティングとは、常に電源が入っていてインターネットに接続されているサーバーの、保存領域と計算能力を借りることです。これにより、あなたのWebサイトやアプリに、誰でもいつでもアクセスできるようになります。ホスティング業者はファイルを保存し、コードを実行し、ページを訪問者のブラウザに送ります。
ドメインとホスティングは同じものですか?
違います。ドメインは、example.comのように人が入力する名前です。ホスティングは、サイトが実際に動いている場所です。DNSのレコードが、ドメインをホスティング先に向けることで両者をつなぎます。両方を同じ会社から買うこともあれば、別々の会社から買うこともできます。
AIで作ったアプリにも、別にホスティングが必要ですか?
ビルダーによります。MythexをはじめとするAIアプリビルダーの中には、公開時にアプリをホスティングしてくれるものがあります。一方で、コードを生成するだけで、自分でホスティング業者にデプロイする必要があるものもあります。
静的ホスティングと動的ホスティングの違いは何ですか?
静的ホスティングは、どの訪問者にも同じファイルを配信します。例えばランディングページがそうです。シンプルで速く、安価です。動的ホスティングは、リクエストごとにレスポンスを作るサーバーのコードを動かします。ログイン、データベース、決済があるアプリには、こちらが必要です。