Oracleは新たにFnをリリースした。対象とするクラウドを選ばない、オープンソースのサーバレスプラットフォームだ。‘あらゆるプログラミング言語’をサポートするが、ローンチ時点ではJava機能一般とJUnitテストフレームワークを対象とする。
FnはFn Server、Fn FDK、Fn Flow、Fn Load Balancerという、4つの主要コンポーネントで構成される。FnServerはGoで記述されており、コードを実行するプラットフォームという位置付けだ。
開発者は、自身の希望する言語用のFDK(Function Development Kit)を使用して、ビジネス機能を実装した関数の開発とテストを行なうことができる。パッケージ化が完了すれば、Fn Serverにデプロイする。Fn Flowは、ワークフローの順序付けとオーケストレーションのためのツールを提供し、関数を連鎖させてより高度なビジネスプロセスの実装を可能にする。これによって、サービスの相互呼び出しの必要性によるカップリングという、マイクロサービスに共通する問題を解決している。Load Balancerは、運用チームがFn Serverのクラスタを展開し、その中でトラフィックをルーティングするためのツールである。
先日発表されたSpring Cloud Functionプロジェクトと同じように、OracleのFnは、クラウドプラットフォームを選ばないフレームワークを提供する。関数はコンテナにパッケージされて、Dockerをサポートする任意のプラットフォーム上で実行できる。‘コンテナネイティブ’がFn Projectを開発するチームの具体的な目標であり、そのためにオープンソースとして公開されることになった。Oracleのソフトウエア開発担当副社長のChad Arimura氏は、ブログ記事の中で、Fnチームはオープンソースをソフトウェアを提供し、それが採用されるための手段として考えている、と述べている。Fn ProjectはApache 2.0ライセンス下で公開されており、その戦略は有効であるようだ。
Arimura氏はIron.ioの創業者で、同社のCIOを務めていた。氏は、IronFunction(先駆的なサーバレスプラットフォームのひとつ)を開発したチームとともに昨年Oracleに移籍したが、その成果がFn Projectである。ロードマップの次なるステップのひとつがOracle Cloud上のサービスとしてのローンチであることは想像に難くないが、Arimura氏はプラットフォーム非依存性を、同プロジェクトが他のサーバレスフレームワークとの差別化を図る特徴のひとつとして捉えている。氏はまた、サーバレス環境として短期間に立ち上げる上で、コンテナネイティブであること、より完全な開発者サポートを備えていること、オーケストレータ非依存であることを、Fn Projectを際立たせる重要な特徴として挙げている。
Oracle Fnは汎用的なJava FDKを備えてローンチされたが、同社製品管理部門の責任者であるShaun Smith氏によると、他言語(Haskellを含む)のサポートや、Fn FlowでAWS ASLを実行するコントリビューションの申し出が殺到しているということだ。
この記事を評価
- 編集者評
- 編集長アクション