AWS Lambdaを使えばサーバレスでシステム構築ができます。最近ではそうしたサーバレスなシステムをサーバレスアーキテクチャとして人気があります。今回はそんなサーバレスアーキテクチャを実現するためのサービスを紹介します。
AWS Lambda (サーバーレスでコードを実行・自動管理) | AWS
最も有名なのがAWS Lambdaでしょう。1ヶ月100万回までのリクエストが無料で、その後も低料金で処理ができます。Java、Node.js、Pythonがサポートされています。
Functions | Microsoft Azure
Microsoft AzureでもLambdaと同等のサービスが提供されています。無料枠も月100万回リクエストと同じように設定しています。利用できる言語は幅広く、C#、Python、Node.js、PHPなどの他、Bash、Batch、PowerShellでスクリプトの作成ができます。
Webtask
Node.jsで書いたコードをそのまま実行できます。無料から利用できますが、月9ドルまたはカスタマイズの料金プランが用意されています。
webscript - scripting on the web
サーバサイドで動かすコードがLuaなのが特徴です。スケジュール実行がサポートされているので、Cronの代わりに使うと言ったこともできます。
hook.io
サポートしている言語はJavaScript/Python/PHP/Bash/Luaと多数あります。カスタムドメイン、Cronなどとなっており、機能が多いのが特徴です。
nstack - algebraic infrastructure
Pythonをサポートしています。ごく小さなコードを書いて、後は専用のコマンドを使ってWebサービス上にデプロイできます。
Breadboard.io
GitHub上にあるコードをそのままサーバサイドで実行できるのが特徴です。データベースはMongoDB、メールやSMS送信、画像変換といったライブラリが利用できます。利用できる言語はNode.jsに限定されています。
いかがでしょうか。多くの場合、Node.jsを使っています。そして、各サービスの特徴に合わせてプログラミング言語が追加されているようです。また、多くはオープンソースとしてプラットフォームを公開しており、ローカルや開発環境下ではオープンソース版で試し、本番環境はクラウドサービスを使うと言った具合に使い分けられるようになっています。
サーバレスアーキテクチャをうまく使うとサーバリソースの低減やメンテナンスコスト削減に繋がります。ぜひシステムに合わせた利用法を考えてみてください。