最近1,150万ドルのベンチャーキャピタル資金を確保したサンフランシスコの企業、Iron.ioは、プロジェクトの説明によると「企業がAWS Lambda機能をあらゆるクラウドプロバイダーやオンプレミスで実行できるようにする」Project Kratosを発表した。
Project Kratosは、他のIron.io製品と同様に、あらゆるパブリッククラウドまたはオンプレミスで実行できます。
AWS Lambdaは、AmazonのパブリッククラウドでNode.js、Java、またはPythonコードを実行するためのマネージドサービスです。スケーリングは自動で行われ、データベースの更新、クラウドストレージ内のオブジェクトの変更、モバイルやIoTデバイスなどのソースからのREST API呼び出しなどのイベントに応じてコードを実行できます。
「現代の企業は、単一のクラウドプロバイダーやオンプレミスのインフラに縛られる余裕はありません」と、Iron.ioのCTO、トラビス・リーダー氏は述べています。Project Kratosは、同社の主力製品であるジョブ処理アプリケーション向けのマイクロサービスベースのプラットフォームと同様に、どこにでもインストールできます。
ここで問題となるのは、LambdaがS3ストレージやDynamoDBデータベースといった他のAWSサービスとスムーズに連携することです。Iron.ioは他のAWS APIを模倣しようとしているのでしょうか?「決してそうではありません」とCEOのチャド・アリムラ氏はThe Regに語りました。「これは主にLambdaサービスです。AWSでLambda関数を使っている場合、それを移植可能なDockerコンテナにインポートすれば、自社のデータセンター、Amazon、Google Computer、Azureなど、どこでも実行できます。」
「私たちはオープンプロトコルを信じています。開発者は特定のスタックに縛られることなく、どこでもコードを実行できます。Lambda関数をデプロイできるレイヤーを作成しました。GoogleはCloud Functionsを発表したばかりで、今後はそちらのサポートも追加していく予定です」と彼は続けた。
Project Kratosが依存するIronプラットフォームは、インテリジェントなワークロード分散、自動スケーリング、レポート作成、ダッシュボードといった機能を追加します。「Node.jsを実行するだけ、あるいはDockerコンテナを実行するだけなら、特別な秘訣はありません。企業が強力なアプリケーションを構築するために必要なのは、まさにその上に重ねていくものすべてなのです」とアリムラ氏は語ります。
有村氏によると、企業は単一のクラウドプロバイダーへのロックインを回避することでメリットを享受できるという。「マイクロサービスとイベントドリブンパラダイムを用いてアプリケーションを適切に設計すれば、ワークロードの実行場所を完全に制御できます。日中は低コストのプロバイダーにワークロードを移行し、夜間は別のプロバイダーに分散配置するなど、ワークロードのプロキシ先に応じて使い分けることが可能です。また、特定のワークロードに適したチップセットなど、専用のインフラストラクチャを選択することも可能です」と氏は述べた。
では、コスト削減は実現できるのでしょうか?それは難しいでしょう。「価格比較はしません。導入と拡張の戦略を採用しているので、得られるものははるかに多くなります」と有村氏は主張します。
クラウドロックインへの抵抗は価値のある目標ですが、Project Kratosの場合、当然ながらIron.ioプラットフォームへの依存は避けられません。MicrosoftのAzure Stackを自社データセンターで運用するという選択肢もありますが、その場合でもMicrosoftライセンスの管理は依然として必要です。クラウドロックインからの脱出は可能ですが、ベンダーロックインからの脱出はより困難です。®