👋

サーバーレスフレームワーク比較(Serverless Framework, Chalice, Zappa)

2023/01/16に公開約1,500字

サーバーレスフレームワークとは、サーバーレスアプリケーションの開発、デプロイ、トラブルシューティング、セキュリティーを実現させるためのフレームワークです。

サーバーレスフレームワークの選定で迷っている人のために、各フレームワークを比較しながらご紹介します。

サーバーレスフレームワーク比較表

Serverless Framework Chalice Zappa
公式サイト 公式サイト 公式サイト -
言語 Node.js, Python, Java, Ruby, Go, .NET Python Python
GitHub スター数 44.1k 9.4k 2.2k
クラウドプロバイダー AWS, Azure, Tencent, GCP など AWS AWS
ローカル実行 ×
プラグイン拡張 × ×

どのサーバーレスフレームワークを選択すれば良いのか?

先に結論を書いてしまうと、ほとんどのケースで Serverless Framework が最善の選択になるでしょう。

Chalice と Zappa は、AWS Lambda と Python の開発にしか対応していないため、他のクラウドプロバイダーや言語を使いたい場合は、Serverless Framework を選択することになります。

また、Zappa は最近開発が活発ではなくなっており、選択肢から外した方が無難だと思います。

Chalice を使ってみた所感

Chalice は機能がシンプルで、とても使いやすいフレームワークです。
また、AWS 謹製という安心感もあります。

欠点は設定項目が約 20 項目と非常に少ないことです。
「API Gateway の名前」や「ログ出力の有効化」などが設定できないため、AWS リソースを中途半端な形でしかデプロイできず、構成管理に苦労しました。

また、Serverless Framework と比較すると、全体的に機能不足を感じます。
ぜひ今後のバージョンアップに期待したいところです。

Serverless Framework を使ってみた所感

Serverless Framework は様々なクラウドプロバイダーや言語に対応しており、とても高機能なフレームワークです。
また、1000 以上のプラグインが用意されており、機能を拡張することも可能です。

欠点は Chalice に比べてデプロイがやや遅いことです。
ローカル実行が可能ですので、開発中は頻繁にデプロイしないように工夫が必要となります。

総合的に考えて、Serverless Framework が最も多くの人にお勧めできるフレームワークだと思います。

Discussion

ログインするとコメントできます