Lightbendは本日、今年後半に一般提供される、Akka Serverlessオープンベータのローンチを発表した。Akka Serverlessは、クラウドネイティブアプリケーション開発を目的としたPlatform-as-a-Service (PaaS) を提供する。これは、LightbendのAkka Platformテクノロジーに基づいて構築され、既存のサーバーレス製品と同様のモデルを介して提供される。
Akka Serverlessが処理しようとする主な課題は、開発者がサーバレスのビジネスクリティカルなステートフルアプリケーションを構築できるようにすることだ。LightbendのCEO兼創設者であるJonas Bonér氏は次のように説明している:
これまで、大規模な状況に対処するという課題は、サーバレスアプローチは、IoTプラットフォーム、リアルタイムの金融サービス、最新のeコマースシステム、ストリーミングメディア、インターネットベースのゲーム、ファクトリーオートメーション、遠隔医療などの多くのより複雑なアプリケーションに対処できなかったことを意味していました。今日のアプリケーションで必要な大量のデータを非常に高いパフォーマンスで処理できるデータ中心のバックエンドアプリケーションアーキテクチャが必要でした。Akka Serverlessは、これらの機能をはじめて実現しました。
大規模な分散アプリケーションを構築するためのフレームワークであるAkka Platformは、Akka Serverlessを強化する。年間2,000万回以上のダウンロードがあり、Akka Platformの基盤であるAkkaは、大規模な分散型で、クラウドネイティブアプリケーションを構築するための人気のあるオープンソースプログラミングモデルだ。Akkaは分散状態のストレージを管理するため、ビジネスクリティカルなアプリケーション用のデータベースが不要になる。この分散状態管理により、企業はデータベース管理、保守、さらにはAPIでさえ関心事ではなくなる。
InfoQはこの発表についてJonas Bonér氏に話を聴いた。
InfoQ: Akka Serverlessはどのプラットフォームとプログラミング言語をサポートするのでしょうか?
Jonas Bonér氏: Akka Serverlessの言語サポートモデルはオープンソースです。つまり、興味のある人なら誰でも独自の言語サポートライブラリを構築して、Akka Serverlessでサービスを実行できます。企業の観点から、私たちは受け取った多くの言語要求を満たすためにプロダクトのJavaScriptおよびJava SDK (Springのサポートを含む) の開発に最初フォーカスしました。オープンソースコミュニティは、いくつかの追加の言語SDK (Python、Go、.Netなど) を強化して構築しました。
InfoQ: AkkaとAkka Serverlessの主な違いは何でしょうか? 価格設定と導入モデルだけでしょうか、それとも他にも違いがあるのでしょうか?
Bonér氏: 基盤となるテクノロジーは (Akkaと) 同じですが、両者のアイデアとターゲット市場はまったく異なります。既存のプロダクトでは、 (永続化のためのデータベースや、マイクロサービスにデータを提供するアクターなど) 実装のあらゆる側面の完全な制御が要求される経験豊富な開発者を対象としています。Akka自体を使用しているため、JVMベースの言語を使用する必要があり、企業はAkkaを使用した開発のスキルと考え方に投資する必要があります。Akka Serverlessで、開発者ツールとフレームワークに「万能」というものはないことを認識しています。Akka Serverlessを使用すると、抽象化のために環境の制御を「トレード」できます。開発者はデータベース、インフラストラクチャ、および統合について心配したり注意したりする必要がないため、開発者は常にビジネスロジックに集中できます。また、開発者がまったく異なる言語 (JavaScriptなど) を選択できることも意味します。つまり、開発者がすでに知っていて使用しているスキルとテクノロジーをAkka Serverlessに適用できます。
InfoQ: 通常、開発者は、サーバレスアプリケーションを構築するときに、アプリケーションの状態をデータベースや分散キャッシュのRedisなどの外部に保存します。Akka Serverlessはその状態をどこに保存し、開発エクスペリエンスをどのようにシンプルにするのでしょうか?
Bonér氏: アプリケーション、特にサーバレスアプリケーションの構築に関しては、ほとんどのアプリケーションは、おそらくコードの1行目または2行目で、データを関数に取り込むためにデータベースにアクセスする必要があります。つまり、開発者は、データベースへの接続、クエリ、スキーマの設計など、データベースについて多くのことを知る必要があります。Akka Serverlessでは、このモデルの上下を逆にします。Akka Serverlessを使用すると、サービスに必要なデータは、必要なときにサービスが見つけ、サービスが完了すると、すべてが自動的に保存されます。つまり、開発者はデータベースやキャッシュに何もすることはありません。
InfoQ: Akka Serverlessはオープンソースになりますか?
Bonér氏: Akka Serverlessは、既存のオープンソースAkkaテクノロジースタックから多くの価値を引き出します。Akka Serverless自体をサポートする機能をそのスタックに追加しました。Akka ServerlessもCloudstateオープンソースプロジェクトを活用していますが、ほとんどのマネージドサービスと同様に、プラットフォームの安全でセキュアな運用に必要な特定の管理およびセキュリティ要素は、Lightbendにプロプライエタリのままです。
InfoQ: Akka Serverlessをデプロイできるクラウドプラットフォームは何でしょうか?
Bonér氏: Akka ServerlessはLightbendがホストするマネージドサービスです。これは最初Google Cloud Platformでデビューし、顧客の要望により他のクラウドサービスプロバイダが続きます。
Lightbendは、クラウドネイティブインフラストラクチャで実行するように最適化されたデータ中心システムを構築するためのスケーラブルで高性能なマイクロサービスフレームワークとストリーミングエンジンを提供する。開発者はLightbendにサインアップして、Akka Serverlessベータの参加者になることができる。