Amazon Web Servicesを使うと物理サーバを用意せずともWebサービスが作れますが、さらにAWS Lambdaを使えばインスタンスすら不要で処理を実行できるようになります。 個人的にはS3のファイル保存をトリガーとした処理くらいしか使ってこなかったのですが、Fluctはさらにすごい可能性を感じさせてくれます。

Fluctの使い方

Fluctの基本はチュートリアルを参考にしてもらうとして、ベースを作ったらあとはdeployを実行すれば良いだけです。なお、API GatewayのResourceを1つ作っておく必要があります。

$ fluct deploy
Created zip: ./actions/list_users/lambda.zip
Uploaded function: list_users
Updated endpoint: GET /users
Deployed: https://2m8c8ual2h.execute-api.us-east-1.amazonaws.com/production

これでエンドポイントが作られて、Web APIができあがりました。自分で用意したnodeの処理がHTTP経由で実行できます。

$ curl https://2m8c8ual2h.execute-api.us-east-1.amazonaws.com/production/users -i
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 13
Connection: keep-alive
Date: Sun, 22 Nov 2015 13:51:46 GMT
x-amzn-RequestId: 2ae12fe7-9120-11e5-bd8c-1f9324604e8b
X-Cache: Miss from cloudfront
Via: 1.1 7b2ef00e369c90e0dc52d771ab6c8d6c.cloudfront.net (CloudFront)
X-Amz-Cf-Id: p7oN7E9bLrwc8CDQG7Qt0k7fh-rjUoNb81GOp1RLr9l4lINaUpOmyg==

Hello, world!

サーバレスアーキテクチャはよく聞かれるようになってきましたが、Fluctは簡単な処理をWeb API化するのに最適なソフトウェアと言えるでしょう。今後はこういったクラウドの活用が開発の高速化や省力化の鍵となってくることでしょう。

Fluctはnode/JavaScript製、MIT Licenseのオープンソース・ソフトウェアです。

fluct/fluct