できること
- 自分の作品を、「見せてよ」と頼まれた時、すぐに動かせなくて回答に困ったことはありませんか?
今回の講義では、自分の作品をサーバーにUPし、いつでも誰でも動かせることを目指します
1 デプロイ入門
1.1 デプロイとは?
- サーバーなどに自分の作品を配置し、誰でも利用できるようにすることを指します
1.2 良いデプロイとは
- CI / CD : ソースコードを更新したら、自動でテストとサーバーの更新が行われます
- 自動スケール : 通常はOFFになっていて、リクエストに応じて必要するが自動起動する仕組みです。
圧倒的に安価のため基本的にこちらを採用しますが、コードの改変が少し必要な場合があります
1.3 主要なデプロイサービス一覧
基本的には上から検討していくのがおすすめです
Webサイト系
- Github Pages : 既にあげているソースコードから簡単に作れるのが特徴です
HTMLなど静的サイト専用で、Reactなどは動きません
例) ホームページ
- Vercel : ReactやNext.jsで記載された動的サイトなら一択です。Githubから簡単に設定できます
軽量なものならサーバーとして使うことも可能です
例) Webアプリ、軽量なAPIサーバー
サーバー系 (Python, JavaScript)
- (ngrok) : 一時的にローカルで実行しているサーバーをネットに公開したいときに便利
- Vercel, Cloud Function : リクエストごとにセッション使い捨ての場合に、PythonやJavaScriptを簡単にデプロイできる仕組みです
例) Line Bot, FastAPIサーバー, Golang, Node.js
- Cloud Run : Dockerで動くものならなんでも実行できるサービスで、Cloud FunctionもCloud Run上で実行されています
例) Flask, Django, Streamlit
- VPS : 常時稼働型で、手元のPCと同様に動かせますが、断トツで費用と管理コストが高い選択肢です
例) Discord Bot
2 実践デプロイ!
2.1 Github Pages : ホームページをデプロイしよう!