Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

パフォーマンス・スケール・コストに課題あり?ElastiCacheの限界を示す3つのサイン

ElastiCacheは、Amazonが提供する人気のマネージドRedisサービスです。クラウドコンピューティングを実現するAWS(Amazon Web Services)と、インメモリデータストアとしてのRedis——この2つの革新的な技術が持つ可能性に企業が気づいたことで、過去10年間で幅広く採用されてきました。AWSとRedisはどちらもテクノロジーの活用方法を変革し、より高速でスケーラブルかつ耐障害性の高いデジタル体験を当たり前のものにしました。

クラウドへの移行とアプリケーションの高速化を同時に進めようとした組織は、オープンソースRedisでは対応しきれなくなりマネージドサービスを求めた際に、自然とAWSのElastiCacheを選択してきました。AWS上でゼロから構築を行い、管理の手間やコストをかけずにRedisのメリットを享受したい小規模スタートアップにとって、ElastiCacheは今も堅実な選択肢と言えます。

しかし、成功しているビジネスは成長を続けるものです。過去10年の経験から、事業が拡大すると最終的にElastiCacheの能力では対応しきれなくなることが明らかになっています。AWS ElastiCacheはオープンソースRedisをベースとしたマネージドサービスであり、大規模に事業を展開する企業が必要とするエンタープライズグレードの機能の多くが備わっていないのです。

では、ElastiCacheの限界が近づいているかどうかはどう見分ければよいのでしょうか?主な兆候を3つご紹介します。

ElastiCacheの限界を示す3つのサイン

  1. キャッシュはAWSに限定されているのに、アプリケーションや技術スタックはオンプレミスや複数のクラウドに展開されている
    a) ハイブリッドクラウドとマルチクラウドは、特に大規模企業において新たな標準となっています。実際、企業の92%がマルチクラウドを、80%がハイブリッドクラウド戦略を採用しています。これは、企業が規制要件を抱え、大規模で複雑な技術スタックを運用しているためです。さらに、単一のクラウドプロバイダーへのロックインがもたらすビジネスリスクや技術リスクを受け入れたくないという事情もあります。キャッシュは、単一のクラウドに縛られることなく、ビジネスニーズに応じて柔軟にデプロイできるものであるべきです。

  2. サブミリ秒の高速性を求めてAWS ElastiCacheを導入したのに、グローバル展開に伴いアプリケーションのレスポンスが低下している
    a) ビジネスが拡大すると、新しい事業部門や世界各地の顧客をサポートするために、複数のリージョンでデータをキャッシュする必要があります。ところがElastiCacheには、複数のRedisインスタンスに対して同時にデータを読み書きする機能がありません。そのため、すべてのユーザーの近くにアクティブなキャッシュインスタンスを配置できず、データ移動によるレイテンシが発生します。これは、地理的に拡大している企業や、世界的なユーザーベースを持つ大企業にとって深刻な問題となります。

  3. データの増加に伴い、ElastiCacheのコストが急騰している
    a) データをインメモリで保存することは非常に高速である反面、コストも高額になります。小規模な会社では許容範囲だったコストも、事業の拡大とデータの急増に伴い、あっという間に天文学的な金額になりかねません。ElastiCacheはマルチテナンシーに対応していないため、キャッシングインフラストラクチャを十分に活用できません。さらに、ElastiCacheのデータティアリングは、大量かつ重要なデータセットをキャッシュするエンタープライズに求められる耐障害性やパフォーマンスを提供できません。

デプロイの柔軟性

Amazon ElastiCacheRedis Enterprise
パフォーマンス・スケール・コストに課題あり?ElastiCacheの限界を示す3つのサインパフォーマンス・スケール・コストに課題あり?ElastiCacheの限界を示す3つのサイン

AWSでのみ、フルマネージド型キャッシュとして利用可能。
AWS、Azure、Google Cloudで、フルマネージド型のデータベースおよびキャッシュとして利用可能。

オンプレミス、ハイブリッド、マルチクラウドのアプリケーションにリアルタイムパフォーマンスをもたらすキャッシュをデプロイでき、最新の技術スタックをサポートします。

グローバルスケールと高可用性

ElastiCacheRedis Enterprise
アクティブ-パッシブアクティブ-アクティブ地理分散(Active-Active Geo Distribution)
ElastiCacheは、アクティブ-パッシブ(replica-of)レプリケーションにより、ソースのキャッシュクラスターから他リージョンの宛先クラスターへ一方向にデータを複製できます(AWS内のみ)。アクティブ-パッシブレプリケーションに加え、Redis EnterpriseではActive-Active Geo Distributionによる双方向レプリケーションで、高い耐障害性とスケーラビリティを備えた分散キャッシュを構築できます。アクティブ-アクティブ構成により、リージョン間、クラウド間、あるいはオンプレミスインフラ全体にわたる統合キャッシュをデプロイ可能です。
パフォーマンス・スケール・コストに課題あり?ElastiCacheの限界を示す3つのサインパフォーマンス・スケール・コストに課題あり?ElastiCacheの限界を示す3つのサイン
この方式の限界は、読み取りボリュームしかスケールできず、書き込みは引き続きプライマリクラスターに対して行う必要がある点です。書き込みがソースクラスターへ伝播するにつれて書き込みレイテンシが蓄積し、書き込み負荷の高いアプリケーションはスケールに苦労します。

さらに、ElastiCacheの方式は、複数クラウドやオンプレミスにわたるデータ複製による追加の耐障害性を提供しません。ElastiCacheのレプリケーションが提供するSLAは可用性99.9%です。
アクティブ-アクティブ構成は、地理的に複製されたリージョンの数や距離に関係なくローカルレベルのレイテンシを実現しながら、シームレスな競合解決によって複数のキャッシュノードへの同時読み書きを可能にします。

Redis EnterpriseのActive-Active Geo Distributionは、業界をリードする可用性99.999%のSLAを実現し、ElastiCacheと比較して月40分以上のダウンタイムを回避できます。

コスト効率

ElastiCacheRedis Enterprise
データティアリングRedis on Flash
ElastiCacheは最近、階層型ストレージを提供するサービスを導入しました。アクセス頻度の高いデータはRAMに保持し、アクセス頻度の低いデータはSSDへ移動させます。

データティアリングは通常、大規模で高コストなデータセットに必要とされる機能です。しかし、こうしたデータセットはビジネス上きわめて重要であり、データ永続化が求められます。ElastiCacheのデータティアリングはデータ永続化をサポートしていません。
また、ElastiCacheのデータティアリングはすべてのユースケースに対応しておらず、volatile-lru、allkeys-lru、noevictionの最大メモリポリシーのみをサポートしています。
Redis Enterpriseは、5年以上にわたり最も厳しい本番環境での実装に耐えてきた成熟したティアリング製品を提供しています。Redis on Flashは、アクセス頻度の低いデータをより安価なSSDへ移動させながらアプリケーションパフォーマンスを維持する、データティアリングの元祖とも言えるRedisサービスです。

Redis on Flashは、データティアリングによるコスト削減を実現しながら、組み込みのデータ永続化機能でお客様のデータを保護します。さらに、データセットを複数の小さなシャードに分割して並列処理することで、レプリケーション時間を短縮し、データ損失のリスクを軽減します。一方、ElastiCacheはデータを単一の大きなシャードに保持します。

加えて、Redis on Flashはより多くのエビクションポリシーをサポートし、幅広いユースケースに対応できます。
パフォーマンス・スケール・コストに課題あり?ElastiCacheの限界を示す3つのサイン
ElastiCacheは純粋なシングルテナントシステムです。Redisをコンテナまたは仮想アプライアンスとしてデプロイし、基盤となる管理ソリューションが新しいRedisインスタンスを起動する方式を採用しています。マルチテナンシーはサーバー/インフラストラクチャ層で実現されており、これらのソリューションはRedisインスタンスごとに課金されます。規模と範囲の経済性の恩恵は、お客様よりもサービスプロバイダーが受けることになります。詳しくはこちら

パフォーマンス・スケール・コストに課題あり?ElastiCacheの限界を示す3つのサイン
Redis Enterprise Cloudはマルチテナンシーを提供しており、1つのサブスクリプションで数百のテナントに対応します。各テナントは独自のRedisデータベースエンドポイントを持ち、他のRedisデータベースから完全に分離されています。1つのプランで複数の専用データベースをホストでき、それぞれが専用プロセスでノンブロッキング方式により実行されます。自社データセンター、プライベートクラウド、仮想プライベートクラウドにRedis Enterpriseをデプロイすれば、マルチテナントアーキテクチャならではの範囲の経済性の恩恵を受けられます。詳しくはこちら

さらなるコスト削減

Redisは私たちのビジネスの中核であり、私たちのアイデンティティであり、私たちの使命です。だからこそ、パフォーマンスと耐障害性を維持しながらコストを抑える革新的な手法の提供において、他のRedisサービスを大きくリードしています。その一つがクォーラム(quorum)の概念です。ほとんどのNoSQLデータベースは高可用性を確保するために3つのレプリカを使用します。1つ目はデータ保存用、2つ目はフェイルオーバー用、そして3つ目は、プライマリとレプリカのデータに不整合が生じた場合にどちらが正しいかを判断するタイブレーカー(決定票)用です。しかしDRAMは高価であり、データセットのレプリカを3つ維持するのは非常に大きなコスト負担となります。Redis Enterpriseはわずか2つのレプリカで高可用性システムを提供でき、クラスター内に奇数のキャッシュノードを配置することでタイブレーカーをノードレベルで決定します。これにより、初期状態で約33%のコスト削減を実現します。詳しくはこちら

詳しく知りたい方へ

機能ごとの技術比較を網羅した「Redis Enterprise vs. ElastiCache」データシートをご覧いただき、Redis Enterpriseへのアップグレードのタイミングが来ているかどうかをご確認ください。

  1. 障害のある方の毎日を支える、おすすめ支援アプリ6選

    はじめに「私が他の障害のある方々にお伝えしたいアドバイスは、障害があっても十分にできることに集中し、妨げられることを悔やまないということです。心まで障害を負わないでください。」—— スティーブン・ホーキング専門家の中には「テクノロジーは現代の世代に有害であり、依存や孤独を招く」と指摘する声もあります。しかし一方で、テクノロジーは障害のある方々が自分らしい生き方を実現するための柔軟性をもたらしてもいます。世の中には、障害のある方の生活環境を改善し、心を支えるさまざまなアプリが存在します。今回は、障害のある方をサポートする6つのアプリをご紹介します。目の不自由な方の「目」となるアプリTapTapS

  2. 【Android・iPhone対応】Wi-Fiの速度と接続を改善するおすすめWi-Fiアナライザーアプリ8選

    自宅のWi-Fi接続を最大限に活かしたいと思っていませんか?このガイドでは、Wi-Fiの接続不良や信号の途切れをトラブルシューティングするのに役立つ、AndroidとiPhone向けの厳選Wi-Fiアナライザーアプリをご紹介します。 Wi-Fiアナライザーとは?何ができるの? 自宅のWi-Fiネットワークが慢性的に遅いと感じたら、Wi-Fiアナライザーアプリが強力な味方になります。特にマンションなど住宅が密集したエリアにお住まいの場合、近隣の多数のWi-Fiネットワークが同じチャンネルを使用し、限られた電波空間を奪い合っている可能性が非常に高いです。 専用のWi-Fiアナライザーツールを使えば