Serverless Architecture としてのイベント駆動型 PaaS の話

サーバーレスアーキテクチャの話に関連して、Lambda や Azure の最近の動向を調べたら色々と出てきたので、会話とか資料とかのまとめ。 ※光曲社 (Lightbend) = Scala 言語の主要なコミッターであり、アクターフレームワーク「Akka」の開発元。元 Typesafe。
1
Yuta Okamoto @okapies

Virtual Actor を実装した Orleans のことは Akka の人たちも把握していて、彼らの観点からの比較記事がこの辺に。 github.com/akka/akka-meta… 論文の著者達とも意見交換している。 github.com/akka/akka-meta…

2016-10-26 12:40:57
Yuta Okamoto @okapies

Service Fabric は最近になって Linux 対応を始めていて、Java SDK も提供されているぽい。 jp.techcrunch.com/2016/09/14/201…

2016-10-26 12:57:55
Yuta Okamoto @okapies

つまるところ、「アクターベースの抽象化を採用した PaaS」の実現可能性はすでに実証されているわけで、これは Akka にとってチャンスとも言えるし、MS という強力な競合(このスペースで戦うなら、だけど)がいるという意味で脅威でもある、と。何にせよニーズの掘り起こし次第だけど。

2016-10-26 13:01:56
Yuta Okamoto @okapies

ちなみに、Reliable Actors 自体の説明はこの辺。 azure.microsoft.com/ja-jp/document… Java で Reliable Actors を使う手順はこの辺(英語)。 azure.microsoft.com/ja-jp/document…

2016-10-26 13:12:00
Yuta Okamoto @okapies

.NET 界は、さっきの Orleans や Akka.NET を含めてアクター系がいくつかあって、それらと Service Fabric との比較記事。 richorama.github.io/2016/07/08/orl… mikhail.io/2016/02/akka-n…

2016-10-26 13:15:03
Yuta Okamoto @okapies

数日前に Service Fabric の人が講演したみたいで資料が上がっていた。 infoq.com/presentations/…

2016-10-26 17:17:51
Yuta Okamoto @okapies

Orbit っていう、Java で Virtual Actor パターンを実装したアクターフレームワークが出てるらしい。EA (Electronic Arts) が開発してて 2016 Duke's Choice Award 受賞。 github.com/orbit/orbit

2016-10-26 17:21:28
Yuta Okamoto @okapies

Virtual Actor の virtual ってのは、仮想メモリの virtual と同じで、開発者がアクターの実体を具体的に生成する方法や、生成されたインスタンスがどのノードに配置されてるか意識しなくて良いという意味らしい。 research.microsoft.com/apps/pubs/defa…

2016-10-27 01:48:19
Yuta Okamoto @okapies

要するに、アクターの生成・破棄、ライフサイクルの監視、障害復旧などは全て Orleans のランタイムの仕事で、開発者が supervisor 階層を明示的に組む必要はない、と。例えば、アクターインスタンスの生成は、そのアクターに実際にメッセージが飛んだ時点で自動的に行われる。

2016-10-27 01:56:39
Yuta Okamoto @okapies

インスタンス化されたアクターは、クラスタ内で構成している分散ハッシュテーブル (DHT) に登録されていて、メッセージの送信時に場所を解決する(通常は毎回問い合わせる代わりにローカルキャッシュを使う)。参照に物理アドレスが要らないのが従来技術に対する利点、というのが論文の主張。

2016-10-27 02:12:10
Yuta Okamoto @okapies

概要程度しか読めてないけど、ここまでの所ではライフサイクル管理を隠蔽する層を追加して Riak Core ないし akka-cluster 相当の機能と組み合わせました、くらいの話に見えるなぁ。もうちょい追ってみるか。 christophermeiklejohn.com/papers/2015/05…

2016-10-27 02:21:31
Yuta Okamoto @okapies

とはいえ、Lambda をイベント駆動指向の XaaS として捉えた場合に、次の段階として「状態を持つがライフサイクル管理を隠蔽して利便性を担保する」的なものが来る方が、利用側の開発者的にはギャップが小さくなるし妥当な気はする(時系列は無視してます)。

2016-10-27 02:39:31