サーバーレスキャッシュ:完全なサーバーレスを実現するために必要なもの

クラウドアーキテクチャは、サーバーレスデータベース、サーバーレスなイベント駆動機能、マイクロサービスを含むサービスにより、サーバーレスファーストの設計へと進んでおり、顧客の要求に難なく応えています。Amazon S3は2006年にリリースされた最初のサーバーレスクラウドサービスの1つで、サーバーを管理したり拡張したりすることなく、オブジェクトストレージに高速かつ簡単にアクセスできるため、サーバーレスの定義に合致しております。2012年にはAmazon DynamoDBがリリースされ、その使いやすさと大規模なアプリケーションに対応する能力で、ゲームに変化をもたらしました。

簡単に言えば、古い “サーバーフル “なデータベースプロセスと管理については、今日のクラウド、スケール、アプリケーションに要求されるパフォーマンスと複雑なスケーリングのレベルに対応するのが難しいです。その結果、データモデルはリレーショナル、キー/バリュー、ドキュメント、グラフ、時系列データストアを問わず、サーバーレスへと移行しつつあるのです。開発者はAPIを通じてデータにアクセスすることを望んでおり、たとえマネージドサービスであってもデータベース・クラスタを管理する必要はないのが理想です。

2015年にAWS Lambdaが登場したことで、サーバーレスが主流になり、一般的なアーキテクチャのプラクティスとしてサーバーレスが広まりました。AWS LambdaやGoogle Cloud Functionsのようなサーバーレスやイベント駆動型の関数は、指定されたイベントやアクションのためだけにコンピュートを自動化し、インフラ管理や運用に費やす時間をなくします。

FaaS(Functions-as-a-service)の台頭により、AWSエコシステムにおけるゴールドスタンダードのサーバーレススタックは、Amazon API Gateway、AWS Lambda、Amazon DynamoDBまたはAmazon Aurora Serverless V2の組み合わせで構成されています。Google Cloudのエコシステムでは、同等のスタックはGoogle Cloud API Gateway、Google Cloud Functions、Google Cloud Datastoreです。しかし、これら両方のスタックには欠けているピースがありそれが、サーバーレスキャッシュなのです。Amazon DynamoDBやGoogle Cloud Datastoreのような強力でサーバーレスなデータベースサービスは、同様に強力なサーバーレスキャッシュと組み合わせるに値します。

マネージドクラスター経由でノードをプロビジョニングし管理するマネージドキャッシュサービスは、かつての好まれたモデルです。今日、開発者が求めているのはサーバーレスであり、API経由でデータモデルを利用するだけで、インフラやデータベースを管理する必要がないのが理想ですよね。

これまで、サーバーレスキャッシングには様々なハックや回避策がありましたが、直接的な解決策はなかったです。レガシーなキャッシュサービスはすべてクラスタベースであり、真の意味でオートスケールする機能を備えていません。従来のキャッシュをスケーリングする際の課題の1つは、一般的なキャッシュノードは、キャッシュサイズ全体に対するクライアントの最大接続率が固定されていることです。この設定はキャッシュの過剰プロビジョニングを招き、クライアント接続が帯域幅の要求を満たせなくなった場合に弱点となり、最悪のケースでは機能停止につながります。

Momento Cacheを使えば、このギャップを埋め、完全なサーバーレスを実現できます。Momentoは、トラフィックのバースト、キャッシュのヒット率、テールレイテンシを自動的に調整する世界初の純粋なサーバーレスキャッシュです。Momento Cacheは、すべてのホットキー、シャード、レプリカ、ノードを自動的に管理し、どのような規模でもアプリケーションを稼働させ、高い応答性を維持できるよう支援します。すべてサーバーレスアーキテクチャで構成されているため、キャッシュを数分で導入できます(テストや非効率なクラスタベースのサービスの過剰プロビジョニングに何週間も費やす必要はありません)。クラウドを選択し、Amazon DynamoDB、AWS Lambda、Amazon Aurora Serverless v2、Google Cloud Functions、Google Cloud Datastoreなどの他のサーバーレスツールを高速化します。

この記事は Randy Preval によって書かれたServerless Cache: The missing piece to go fully serverlessの日本語訳です。翻訳は、Momento Community Advocateの小板橋 由誉が担当しました。