マイクロサービス、サーバレスアーキテクチャといったキーワードが盛んに言われるようになっています。確かにサーバレスアーキテクチャは小さなサービスを作るのに都合がよく、それらを合わせるとマイクロサービスとして成り立つかも知れません。 そんな2つを合わせて作られているのがLever OSです。まだ開発途中とのことですが、大きな可能性を秘めていそうです。

Lever OSの使い方

Lever OS自体はDockerでデプロイできます。起動したら例えばフォルダを作成し、その中にserver.jsとして次のようなコードを書きます。

module.exports.sayHello = function (name, callback) {
    callback(null, "Hello, " + name + "!");
};

そして lever.json というファイルを作成します。

{
    "name": "helloService",
    "description": "A hello service.",
    "jsEntry": "server.js"
}

これで準備完了で、 lever deploy を実行してアプリケーションをデプロイできます。

デプロイすると /helloService/sayHello でサービスにアクセスできます。一つの実行方法はleverコマンドを使ったものです。

$ lever invoke lever://dev.lever/helloService/sayHello '"world"'
"Hello, world!"

Web APIとしてHTTP経由でのアクセスもできます。

$ curl -H "Content-Type: application/json" -X POST -d '["world"]' http://192.168.99.100:8080/helloService/sayHello?forceenv=dev.lever
"Hello, world!"

このようにLever OSを使うことでちょっとしたスクリプトのサービスをさくっと作ってデプロイ、実行できるようになります。こうした小さいサービス(マイクロサービス)をつなぎ合わせることで、より大きく複雑なシステムも構築できるようになるでしょう。

Lever OSはnode/JavaScript製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

leveros/leveros: Serverless + Microservices = ♥