コンテンツに移動
Anthos

Anthos での Apache Cassandra: グローバル市場向けにアプリケーションをスケーリング

2021年10月20日
https://storage.googleapis.com/gweb-cloudblog-publish/images/datastax.max-2000x2000.jpg
Google Cloud Japan Team

※この投稿は米国時間 2021 年 10 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。

ユーザーによって、生活する場所はさまざまです。ユーザーが暮らし、働く場所で会うには、データサイズと処理能力だけでなく、地理的にもエクスペリエンスをスケーリングする必要があります。グローバル市場向けにスケーリングするには、クラウドネイティブの適切な配信、最先端の管理ツール、分散型で、ハイブリッドで、さらにはマルチクラウドの環境を効率的に処理できる新たなアプローチが必要です。

適切なハイブリッド / マルチ / 分散アプリケーションにより、管理者にオブザーバビリティ、反復性、自律性が与えられます。こうした主要な属性により、地理的な広がりを持つアプローチが生まれるのです。Google と DataStax とのパートナーシップから、Anthos がエンタープライズ対応のクラウド ネイティブなフレームワークを提供し、DataStax チームが Apache Cassandra の完全にクラウド ネイティブな統合を提供する、ハイブリッド スタックを提供できます。その結果、デベロッパー指向の API を使用した、非常にスケーラブルなグローバル データベースが生まれます。このアプリケーション スタックが独特である要因を見てみましょう。

オブザーバビリティ 

見つけられないものは修正できません。「きしむ車輪は油を差してもらえる」ことは、複雑なシステムの問題を見つけ出す方法ではありません。グローバル規模のアプリケーションを管理するには、分散システムを効率的に管理および改善するために、物事が互いにどのように影響するのかを把握できるようになる必要があります。アプリ全体の総体的なビューが、その方法です。

反復性

反復性が得られれば、システムの拡張に要する時間が減り、それらを正しく運用するために必要な特殊な専門知識も少なくて済みます。UX デザイナーには「驚き最小の原則」と呼ばれるルールがあり、驚きはエラーの原因となるため、システムとやり取りする方法はできるだけ一貫させる必要があります。クラウドのグローバル ネットワーク全体で運用の一貫性を維持することは、予測性とセキュリティが高まり、業務が減ることを意味します。「シャドウ オペレーション」、つまり 1 回限りの修正は、高額で時間がかかるという問題につながることがあり、アプリケーションの改善と拡張に回す時間とエネルギーが限られてしまいます。

自律性

自律性は、プログラミングにおける同時実行の考え方と密接に関連しています。システムが、アプリケーション内の他のワーカー、プロセス、ノードとやり取りする必要なく、タスクを実行できることを反映したものになります。アプリケーションの自律性が高いほど、ネットワークのパーティションや他のプロセスとの調整などの外因に影響されにくくなります。調整が必要な場合は、応答性が低下します。一切何も共有しないアーキテクチャというのは一般的に実現不可能ですが、調整が少なくて済むため、スケーラビリティ、耐久性、応答性が高くなります。リソースを最大限に活用し、継続したスケーラビリティを確保するには、アプリのプロセス間に自律性が必要です。

要するに、オブザーバビリティと反復性により、時間がかかり問題が見えなくなる障害や課題が取り除かれます。また、自律性により、スケーリングと応答性が最大に高まります。

トレードオフを最小限に抑えながらこれら 3 つの属性を最大化するには、次のことが必要です。

  • アプリケーションでの並列処理 - リージョンのハイブリッド クラウドやマルチクラウド間で、数百個のプロセスを実行できるようにする

  • 一貫性のあるインフラストラクチャのインターフェースによる、運用における PLS の削減

  • スタックの心臓部(データレイヤー)に至るまでの自律性の向上

このアプローチでは、こうしたアプリの作成に使用した言語は重視されませんが、これら 3 つの価値を促進する、運用上のデータ アプローチが好まれます。これを達成するための優れた方法として、Anthos と Apache Cassandra の連携があります。

Anthos

Anthos からはオブザーバビリティが得られます。Anthos は、監視ツールの既存の一連の Google Cloud のレポートに、ネットワーク接続性のための分析機能とセキュリティを追加します。

反復性の点からは、アプリケーションのデプロイ先を問わず、デベロッパー、オペレーター、セキュリティ チームに一貫した環境を提供することで、Anthos は「驚き最小の原則」の最大の障害の 1 つを軽減します。Anthos Config Management は、GitOps で宣言的に管理され、システムを複数のクラスタとデータセンター間で準拠させるために役立つ、構成情報の中央リポジトリを提供します。

Apache Cassandra

Cassandra では可用性が重視され(CAP 定理を参照)、Anthos を活用した、地理的に分散したアプリケーションに最適です。可用性よりも即時の一貫性を求めるデータレイヤーにより、アプリケーションの自律性が制限されます。厳格な一貫性はロックなしでは実現せず、その結果としてリクエストの避けられないキューが発生します。真の一貫性には共通した時間帯や多くの調整が必要なため、アプリが地理的に離れた地域に広がっている場合はさらに対応が困難となります。一貫性は、単一のマシンや小規模のデータセンターではうまく機能しますが、これらの境界を超えて成長すると、維持が厄介になります。

即時の一貫性よりも可用性を優先して設計することで、アプリスタックの元となり、リソースをロックアップさせるもつれを避けます。  

自律性第一で設計することは、データレイヤーでブロックを避けることを意味します。Apache Cassandra により、次のことが可能となります。

  • シャード リーダーだけでなく、あらゆるノードに書き込む

  • 書き込みが妨げられることや、他の書き込みの裏で同期されることがなく、多くの高速書き込みを同時実行

  • 必要に応じて、クエリ時に読み取りと書き込みの同時性を選択

 アプローチを細かく見てみましょう。

https://storage.googleapis.com/gweb-cloudblog-publish/images/real-time_data_replication.max-2000x2000.jpg

オブザーバビリティ、反復性、自律性は、Anthos での Apache Cassandra で 1 つになります。Anthos での Apache Cassandra により、真にハイブリッドのクラウド ネイティブ アプリケーションが実現します。分散アプリケーションのデプロイと維持にかかる時間を短縮させながら、レスポンシブで、分散され、高可用性のアプリを促進します。  

データのポータビリティとスケーリングの力を今すぐ活用しましょう。アプリのヘルスチェックについて Matt(DataStax)と Rohit(Google)にお問い合わせのうえ、アプリがハイブリッドに適しているかどうかをご確認ください。Google Anthos で Cassandra を構成し、クラウド全体でのデータ ファブリックとして活用する方法の詳細については、こちらのオンデマンド ワークショップにご登録ください。Anthos での Apache Cassandra を K8s クラスタのフリート全体で実行し、Anthos と Cassandra が、分散型で高可用性のアプリケーションに対する最適な選択肢である理由が示されています。

- Google Cloud、アプリケーション モダナイゼーション スケーリング ソリューション スペシャリスト Rohit Kelapure

- Datastax プリンシパル アーキテクト Matt Overstreet 

投稿先