X

An Oracle blog about Oracle Coherence

Eコマース/B2Cサービスでの活用

インターネットサービスの維持や拡張、新規サービスの開始に対するITインフラのコストを最適化せよ

変動が激しいアクセスに対して、サービスレベルをキープするには?

ネットビジネスにとって、一定のレスポンスタイムをキープすることは、顧客サービス品質の観点で非常に重要な指標です。その一方で、アクセス増加率の予測 は非常に難しいのが現実。特に一般消費者向けのサイトは、その傾向や需要予測を図ることが容易ではありません。今後のアクセス/利用の伸びに対する正しい 予測は本当に可能なのでしょうか? 特に、一般消費者の中でも予測が難しいネットユーザー動向を正確に見抜き、今後数年のビジネスの伸びに最適なITインフラ(ハードウェア/CPU/メモ リ)を見積もることは現実的なのでしょうか?

あたるかどうかわからないサービス、どれだけのHWリソースが適切なのか?

既存のインターネットサービスの今後の予測よりも、新規サービスに対する予測はさらに難しい問題です。ちょっとしたことで想定を超えるアクセスの集中が起 こったり、逆に、期待を裏切るほどにページビューが伸びないということも珍しくありません。何があたるのか、いつまであたるのか、どのくらいあたるのか。 十二分に慎重に予測した上で、その最大アクセス予測値を想定したITインフラの準備が必要となりますが、それによって、サービス開始の初期コストは必要以 上に膨れ上がっています。

  • 不確かな予測による精度の低いインフラ・コストの見積もり
  • 突発的なアクセス増加への対応
  • 人気に陰りの見えるサービスの余剰ITインフラの保守コスト

成功したサービス同士の相乗効果を狙え!

すでに安定した成功を収めているサービスをいくつか提供している企業は、そのサービス同士を連携させることで相乗効果を計るという施策を当然考えます。た とえば、いくつものブランドを持つ企業では、そのブランドを超えたショッピングカートの共用を検討し、異なる業種のサービスを抱える企業では、共通のポイント・サービスの提供といったことによって、相乗的な購入意欲を見出すことができるかもしれません。

しかし、それぞれのサービスは、あたるかあたらないか、不明確な状況で個別にそれぞれの方針で構築されたため、連携を想定したつくりになっていません。サービスを横断する超高速の情報共有はどうやって実現するのでしょうか?

ネットサービスITインフラの最適化のために

オンデマンドなサーバーの拡張、サービスを横断する連携に対応すべく、大手企業のショッピングサイトが採用した答えとは? それはなぜ解となりうるのか?



オラクルによる解決の道

増加するリクエストに対するシンプルな解答は?

ポイントは “分散” と “共有”

分散と共有。一見、正反対に見えるこの言葉がうまく融合すると、非常に強力な武器となります。

発想はいたってシンプル。コモディティ・サーバーと呼ばれる汎用の中級クラスのPC/ブレード・サーバーは、今や非常に強力な処理能力を持っています。そのコモディティ・サーバーを活用して大量のリクエストに対する処理を"分散"処理させます。一方で、システム全体としての一貫性や保全性を担保するために、各サーバーのデータを互いに"共有"可能にします。ただし、そのデータ共有を高速にするために、メモリ間通信を利用します。このサーバー間を横断するメモリ・データ共有の仕組みをOracle Coherence が提供します。

サーバー間でメモリ・データが共有できることで、サーバーの追加が、単に処理能力の向上につながります。サーバー台数に比例した性能の拡張性(リニアなスケーラビリティ)が確保されることによって、ビジネス規模の拡張に応じてサーバーを順次追加するというコスト的に無駄の少ないシステム増強が可能になります。

解決策を動画で分かりやすく解説!- その1

解決策を動画で分かりやすく解説!- その2

ポイントは “分散” と “共有”

応用編: 個別サイロ型のサービス基盤を透過的に論理統合

メモリ間通信によるデータ共有という利点を応用し、あるグローバル企業では、個別サイロ化されたサイトを論理統合することで相乗効果を見出しています。

その企業は、複数の販売ブランドを持っていました(オンラインストア、チケットサイト、掲示板、旅行サイト)。そのそれぞれに構築されていた販売サイトの相乗効果のために Oracle Coherence を導入。各サイトはJavaアプリケーション・サーバーの種類も異なる状況でしたが、メモリ間通信を利用したユーザー情報の共有によって、利用者は、ショッピングカートをそれぞれの販売サイトを横断して利用し、まとめて決済することが可能になったのです。

Before:各サービスでサーバーが分断されているため...

After:各サーバーのデータを互いに

サービスレベルを保障するために

そもそも、インターネット・サービスでは以下の課題の克服が必須です

  • ストレスのない応答時間の維持
  • ユーザー・データの信頼性
  • 24時間365日の可用性

システム規模が大きくなればなるほど上記要件への要求レベルは高くなり、一方で、作業コストや運用コストとして大きく跳ね返ってきます。Oracle Coherence は、こうした要件にも一役買います。

1. 最適化されたメモリ間通信

独自プロトコルでチューニング可能なメモリ間通信によって、アプリケーション・サーバー固有のクラスタリング機能を凌駕するリニアなスケーラビリティを実現します。一方で、運用コストに大きな影響を与えません。

2. 共有メモリ領域における暗黙的バックアップ

メモリ・データのバックアップは別サーバーに保持されます。コモディティ・サーバーで課題となるハードウェアの可用性の問題に対し、障害がおきても対処可能な状態を作り出します。

3. サーバー追加/減少の自動検知と透過的なフェールオーバー

サーバーの追加や障害におけるノードダウンに対しても、システム全体としてのデータの一貫性を維持しながら、その影響を上位アプリケーションに与えません。したがって、障害時の自動フェールオーバーや、アクセス集中時の緊急のサーバー追加を可能にします。

こうした機能は、初期のサービスイン時の容量計画が正確でなくても対処可能だということを意味します。最低限の小規模で開始し、必要に応じてオンデマンドでサーバー追加をすればよいからです。

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.