11
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VercelでPythonアプリケーションFastAPIをデプロイ!メリット・デメリットを徹底解説

Posted at

この記事ではVercelを使ってPythonアプリケーションをデプロイする方法と、そのメリット・デメリットについて解説します。

Vercelって何?

Vercel(バーセル)は、ウェブアプリケーションを簡単にインターネットに公開できるサービスです。GitHubのリポジトリを使って、数分でデプロイ(公開)することができます。もともと、VercelはNext.js等JavaScriptアプリケーションをホストするサービスでしたが、最近ベータ版としてPythonやGo, Rubyにも対応しました。無料版Herokuの代わりとして使えます。

Pythonアプリケーションをデプロイする方法

Vercelの公式サイトにPythonアプリケーションのテンプレートがいくつか用意されているので、数クリックで始めることができます。

FastAPIのテンプレートを作成したので、以下のボタンから始めることもできます。
Deploy with Vercel

メリット

無料で利用できる

AWSやGCP, Azureなどの有料サービスもありますが、Vercelは無料プランを提供しているので、お金をかけずに開発したい人に向いています。

デメリット

タイムアウトの問題

無料のHobbyプランでは、デフォルトでリクエストが10秒以上かかるとタイムアウトしてしまいます。vercel.jsonファイルで maxDuration を60秒に設定することで対応できます。

{
  "version": 2,
  "routes": [
    {
      "src": "/(.*)",
      "dest": "api/main.py"
    }
  ],
  "functions": {
    "api/main.py": {
      "maxDuration": 60
    }
  }
}

サイズ制限

Vercelには、合計サイズが250MBまでという制限があるので、大きなプロジェクトには向いていません。パッケージをインストールする前に、REST API等代替案はないか調べてトータルサイズの節約をする必要があります。

各種制限についての詳細はこちらで確認できます。

デモ

VercelにFastAPIをデプロイしたデモがこちら。

Githubはこちら。

まとめ

Vercelは、簡単にウェブアプリケーションをデプロイできるサービスです。無料でPythonアプリケーションをデプロイできますが、いくつかの制限もあるので注意が必要です。Pythonを勉強中の方、コストを抑えて簡単なサービスを立ち上げたい人は是非試してみてください。

11
4
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
11
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?