この記事は機械翻訳されたものです。

予測: 曇り

クラウド アーキテクチャを理解する (機械翻訳)

Joseph Fultz

 

Joseph Fultzしばらくは、少なくとも 1 つ私の列の一般的なアーキテクチャに関する考慮事項をカバーするいくつかクラウド ・ ベースのソリューションを作成するための高レベルのデザインをベースと決めました。 私はすべてのセッションで発表にか、いくつかのコードを再生するテクニカル オーディエンスを取得しない場合は、セッションは通常評判が高いされていませんが参加してから知っています。 しかし、この記事の人々 少なくともフレームし、ソリューションのアーキテクチャについての彼らの思考のいくつかの基本的な目標を与えることによって利益になることを望んでいます。

サービス (パース) としてのプラットフォームが使用されます-特に、Windows Azure —、アイデア、注意事項、アイデアをハングするしたいを伝えるために、コンテキストのコルクもインフラストラクチャ サービス (IaaS) とソフトウェア小さな翻訳サービス (SaaS) として適用する必要があります。 クラウド ソリューションを作成するとき、キーの設計に関する考慮事項のいくつかを指摘、Windows Azure を提供するプラットフォーム ツールを分類、いくつかの基本デザインを示していて、デザインのスタイルを選択するため、意思決定マトリックスを提供します。

雲の考慮事項

いくつかの問題の特性を識別する、パターンにマッチして、デザインの発音の習慣には経験豊かな開発者およびアーキテクトになるかもしれない。 私はいくつか典型的なデザインのクラウド ソリューションを強調するつもりが、非常とだけを焼いていたソリューションの前のバッチからのクッキーのカッターを使用して問題を解決する、アクティブなアプローチを奨励します。 最適なソリューションを設計し、雲の追加条件と企業の生態系の条件をオーバーレイを開始するをお勧めします。 1 つずつ追加には、ため、問題を解決あまりにも多くの変数を追加する場合はちょうど数学、適切なデバッグのようなエラーのソースを簡単に確認することはできないことをご紹介します。

「クラウド ソリューションですか?」設計にどういう雲のデザインのスタイルを定義する、Web ロール、Worker ロールをキューし、結果を拾い、戻りのキューをオフことを強い強調ではないが欲しいを開始。 実際には、多くの点では、このようなアーキテクチャを使用して設計を開始する拠点として実際に雲実装の全体的な利点削減可能性があります。 プライベートのクラウド ・ インフラストラクチャを容易に利用可能になるように、行は場所に加えの要因ではないので雲とではなく雲の間をぼかします。 分化のフォーカスにそれが何をする必要があるものがなくか。

私の Web ホストまたはアプリケーションをサービスする手段として Windows Azure を使用私の事はここにあります。

  • 私はインフラストラクチャの購入、セットアップまたは管理から解放します。
  • 私は拘束された容量から解放; コンピューティングとストレージの容量はオンデマンドで入手できます。
  • 私は急な資本コストから解放し、消費量に基づいてコストを調整する私を解放

私はそれをわい小するわけではありませんが、それは; それを複雑にする必要はありません。 確かに、クラウド プラットフォーム内の重要な機能が多いが、それら何、雲より伝統的なホスト ソリューションから区別されていません。 Windows Azure などのプラットフォームを追加する個々 の機能 (キュー、ストレージ、構造化ストレージの) — は、プラットフォームの新しい — 前に利用されていない根本的に新しいソフトウェアの機能ではないです。 雲のシフトに直接対処する課題は、計算およびストレージの弾性と継続的なケアのハードウェア インフラストラクチャを供給、資本の費用です。 これは良いニュースはデザインやパターンほとんど同じ、2 つの考慮事項には少し余分な重点のままというソフトウェアの設計です。コストと待機時間。 確かにこれらの 2 つの懸念する前に、重要なが十分に特別な注意を必要とする式の雲の変更します。

コスト要因

として、既に味付け雲の実装からの多くの知っている、それは常に安価ではないです。 幸いにも、コスト効率も無料格安を同一視されていません。 サービスまたは機能をまた減らすことなくがコストを削減するには、方程式を変更できないときに効率的なコストを決定することができます-何が必ずしも消費される以上のコストがないことを意味します。 間違いはある最適化、プライベート データ センターから、クラウド ・ ベースのソリューションに、切り替えるエンタープライズのいたことが本当にその利益を参照するコストは指針への親和性をする必要があります。雲-最初のソリューションとコスト最適化設計へのシフト。

コンピューティングおよび専用ホスティングのシナリオから雲へのシフトする必要があります。 コスト メリットを実現するは難しいですがあるは、クラウドにホスティング未使用または使用率の低いインフラストラクチャを利用に使用できるを購入済みが。 システムの年齢または新しいソフトウェア ボードになると、したがって、あなたをクラウドにまずインフラストラクチャの帯域幅を購入する代わりになります。 データ ・ センターを所有している確かに安いですが、現実ではないほとんどの企業があります。 契約と一括料金脇、一般的に近いに近い、効率的なコスト モデルを消費に基づくコストを得る。

撮影最初のステップでは、次の手順は、雲の大食いの人ではないことを確認します。 各アプリケーションは、コストの最適化中に設計する必要があります。 最初のポイントは、多くの場合ビジネスの観点から困難ですが、2 番目のポイント技術設計を飲み込む、痛みの薬をすることができます。 回のときのコストを最適化するために設計はパフォーマンスや優雅さの前に置くことを意味があるためにです。 通常、性能とエレガントさの平衡を作成けど私の努力の良いビットを費やすコスト最適化で画像を投げる、それ以上を取得私の 2 D の問題は 3 D 1 つに回して複雑だことを見つけます。

最適化のコストは次のつぶさに意識を意味します。

  • 入口および出口、終了消費者と企業のバックボーンの両方
  • リテンション ・ ポリシーを使用しないように、ストレージ内のデータはスペース不要
  • 責任を持ってスケール アップとダウンの計算リソースを拡張する方法

[設計考慮にこれら 3 つの考慮事項には、間違いなく正しい方向の移動です。

遅延要因

伝統的に、これらの状態のいずれかで、エンド ・ ユーザーに提供する必要があります、情報が存在する場合の遅延が問題になります:

  • レガシまたはそれ以外の場合の制約されたシステムでは
  • システム全体が存在し、最初を集計する必要があります。
  • 1 つまたは複数の変換を UI に渡した前に必要な
  • 外の企業が存在し、リモートからフェッチする必要があります。

クラウド ・ ベースのソリューションでは、これらのアイテムのすべての本当であるかもしれないが、雲のエンタープライズ ソリューションの設計に例外なく適用される最後の項目です。 確かに、他のアイテム可能性が高いなどの要因が企業の普遍的真理今日データ何とかクラウド ソリューションとホームのデータ センターでの企業のデータ ストアと同期することが。

私はいくつかの方法をカバーしますベースの設計では、データを統合するはここなどは、設定しますが、実際に 2 つの主な戦略になります。データ同期およびリアルタイムのサービス呼び出しのホームに戻る。

高度な設計

エンタープライズ ソリューションの設計の一般化について考えると、1 つは通常、大きな歯車の各これらのカテゴリの 1 つにしこりできます。

  • 計算
  • Storage
  • 統合

これは、どのようにこのコンテキストで Windows Azure プラットフォームの機能を分類しますです。 グリッドの図 1 Windows Azure プラットフォーム機能のサブセットを示しています。

図 1 プラットフォーム ツールボックス カテゴリ

Windows Azure 計算 Storage 統合 & サービス
計算 Web ロール    
  Worker ロール    
  VM の役割    
Storage   ブロブ ストレージ キュー ストレージ
    テーブルのストレージ  
旧 AppFabric     サービス バス
      Connect
      アクセス制御
      [キャッシュ]
SQL Azure   Database  
  レポート    
      SQL Azure データ同期

計算、ストレージとの統合の大きなレンガに焦点を当て、簡単にいくつかベースのデザインを開始や展開も再結合、するで示すようにまとめることができます図 2

Basic High-Level Designs
図 2 基本的な高度なデザイン

中に示すデザイン図 2 代表ではないのすべての可能な組み合わせの彼らの目的を持つ大きなブロックのデザイン。

  • 直接データ アクセス:これは通常、フロント エンドの Web インターフェイスだけでなくデータに直接アクセスするがまたすべての作業の負担を運ぶ最も基本的な実装です。
  • 間接をサービスします。これは、次のレベルの間接参照とロード ・ バランシング、データ アクセスとビジネス ロジックの UI を提供して、役割の移動は、サービス指向アーキテクチャ (SOA) デザインです。 良い SOA 設計することができますだけでなくソリューションの脆弱性を減らすがもバックエンドの負荷を減らすし、クライアントに応答データを最適化します。
  • キューの間接参照:作業は、Windows Azure ストレージ キューを介してバック グラウンド ワーカーをオフロードします。 これは、ワークロードを最適化するのには、最初のステップですが時間近くクライアントに応答を必要としない、オフロードの作業の結果を受け入れられると一般に適しています。
  • サービス バスの統合:パブ/サブの施設、サービス インフラストラクチャに追加実際に SOA の設計、間接層のエンドポイントから離れて移動し興味のトピックへ移動増やすことができます。 この設計は、最も柔軟な実装を提供できます。

企業のバック プレーン デザイン

ベースの設計企業のバック プレーンが具体的に対処しないでください。 2 Windows Azure ソリューションの最も重要なはどのように独自のビジネス ロジックを含む、企業システムに接続し、企業のデータにアクセスする方法です。 ある自体または、以前のデザインと同様の組み合わせで使用されているいくつかの基本的なデザイン企業のバック プレーンを示すように図 3

Corporate Backplane Basic Designs
図 3 企業のバック プレーンの基本設計

クラウド ソリューションを企業のエコシステムに接続する 1 つの基本的な方法は単に Windows Azure 接続アンナ Skobodzinski、私の同僚の Microsoft 技術センター (MTC) からの 1 つで説明したように使用する bit.ly/wnyqj9。 これは、VPN スタイルのデザインで描かれている図 3。 システムは、ですの税金については 2 番目の [使用できます。 また、それは、いくつかの雲アプリケーションに公開されているシステムは、追加の負荷の準備ができているかどうかを確認するには時間の前の仕事の価値になります。 急いで必要な場合は、雲に最適なソリューションです。 急いで必要な既存のインターフェイスと統合している場合は、VPN スタイルの統合は、タイムラインへのリスクを軽減するために、最速で最も簡単な方法かもしれない。

私は渡って来る統合の最も一般的な種類は、データ統合スタイルで描かれてタイプです。 これには、1 つまたは両方の方向でデータを同期するいくつかの手段が必要です。 これは、それぞれ独自の長所と短所を実現するには、多数とおりの方法があります。 抽出、変換、および読み込み (ETL) を使用してツールなど、SQL Server Integration Services (SSIS) は、おそらくほとんどのエントリに最も低い障壁です。 SSIS データを同期するための手段としては、非常に成熟したエコシステムの監視と管理のためにも。 次へ-最も簡単なメカニズムとしてプレビューが現在 SQL Azure データ同期を使用することです (bit.ly/p14qC6)。 それは私 1 月 2011 年をカバーする Sync Framework 技術に組み込まれている (msdn.microsoft.com/magazine/gg535668) と 2011 年 2 月 (msdn.microsoft.com/magazine/gg598920) 列。 これは、同期中のテーブルにいくつかの変更が必要になります。 SSIS、Sync Framework の両方のメソッドでは、のみ雲と企業の間に必要なデータのフィールドを移動することを確認することをお勧めします。 データを不必要に移動しないが、入口、出口、全体的なクラウド ストレージ使用率のコスト保つことができる。

針は少し前進していくつかのデータベース バック エンドから仕事ですに示すように、直接サービス スタイル図 3、企業のシステムから必要なデータを公開されたサービスのセットを介して取得します。 〜 と、2 つ大きな互角ここでは、データ転送のコストが削除され、データが常に最新であることです。 積極的に、それの遅延を導入して、クラウド ソリューションに組み込まれる準備ができている可能性がありますいないシステムに追加の負担をかけます。 また、ほとんどの意味を分析するデータの大部分は、インテリジェンスに、企業のシステムやサービスを住んでいます。

4 つのパターンの最後の図 3 雲と企業のシステムを統合するには、サービス バスの使用を示しています。 このサービス バスのスタイルには、実行中の雲の役割と、企業のシステムの両方を公開およびデータとそれらのそれぞれに関連するイベントを購読を伴うでしょう。 これについて同じ長所と短所として直接サービス アーキテクチャの新しい出版社と消費者の情報を作成する最大の柔軟性の利点を。

行列の決定を基本的なデザインのスタイルの 1 つの別の上を考慮した場合の潜在的な問題領域を識別するためのツールです。 行列の決定に図 4 、絶対ではないが、むしろ雲アーキテクチャ上で人々 と私の経験を反映します。 必ずしも明確な勝者と多くの場合これらの要素のいくつかのミックスを実際のデザインを取り入れるでしょう。 たとえば、1 つ、残りのサービスの 1 日 2 回を実行する ETL を介して同期バック エンド データベースに対する操作のセットが、新しい Web アプリケーションを配置可能性があります。 図 5 このような複合設計の例を示します。

図 4 決定マトリックス

  ソリューションまで ソリューションの複雑さ 監視 & 管理 敏捷性・ スケーラビリティ 待ち時間 鮮度
基本設計            
直接データ アクセス            
キューの間接参照            
サービスの間接参照            
サービス バス            
バック プレーン デザイン            
VPN            
データの統合            
サービス統合 ※            
サービス バス            
企業インフラストラクチャで既に利用可能なサービス インフラストラクチャ

Example Combined Design
設計図 5 の例を組み合わせる

また、ファイル ベースのリソースは、サイトで使用され、カスタムの Sync Framework 実装によって同期化、Windows Azure ストレージのセットです。 この高度な設計情報を収集し、いくつかの結果を推測、通知しますが、仕事の開始です。 それエンド設計ターゲットを提供し、実装が (例、キャッシュ、アクセス制御などを決定するには、詳細についてのたくさんの葉します。

デザインとコスト効率

引き出すし、クラウド ソリューションを設計する際、最も重要な考慮事項を識別してみました-既存企業に組み込む特定の 1 つ。 うまくいけば、機能と機能の過多を少し沸騰することによって、それのパス設計をクリアするのに役立ちます。 クラウド ソリューションを設計するには、本当のトリックは、理想的なソリューションし、コスト効率をまだ含む一方、設計を効率的にすることです。 エンタープライズ レベル誰も手の届く範囲に傾くし、スイッチを反転するコンピューティングの雲の動きを置くように、デザインの優雅さ消費コストをアカウントします。

基本の Web デザインと基本企業統合デザイン、時に触れたけど、すべての詳細を将来のドリル ・ ダウン左; それだけでカバーするためにあまりにも多くのスペースを取る。 これだけのデザインに焦点を当て私は書いている唯一の列は、実装はそれに関連付けられたありませんので、役に立つだろうと思います。 私詳細デザインの作品のいくつかにドリル ダウンする場合は、この資料にコメントしてください msdn.microsoft.com/magazine

Joseph Fultz*、ヒューレット ・ パッカード株式会社グッドエイチピードットコム グローバル IT グループの一部としての作業でするソフトウェア アーキテクトです。 以前、彼はマイクロソフト、その一流企業と ISV の顧客のアーキテクチャと設計のソリューションを定義するためのソフトウェアアーキテクトだった。*

この記事のレビュー、技術スタッフに感謝:George Huey