N-Tier アーキテクチャ: Tier 2、Tier 3、およびマルチティアの解説

N-Tier アーキテクチャ: Tier 2、Tier 3、およびマルチティアの解説

  • クラウド
6分で読めます 更新日 Jul 26, 2017

ポイント: N-tier アーキテクチャは、ソフトウェアを複数の異なるレイヤーに整理し、スケーラビリティ、セキュリティ、および回復力を向上させます。プレゼンテーション、ビジネスロジック、およびデータティアをさまざまな環境に分け、パフォーマンスを最適化し、柔軟なメンテナンスを可能にします。

  • ティアの分離を通じて、スケーラビリティとセキュリティを向上させます。
  • 災害復旧とメンテナンスの柔軟性が向上します。

ビジネスコンピューティングがメインフレームからより手頃なコモディティマシンに移行し始めたとき、特定のコンピュータを選択し、データベースエンジン、何らかのコードインタープリタとコンパイラをインストールし、必要なソフトウェアツールを作成するためにソフトウェアコードを開発することで、そのコンピュータをサーバーステータスに「昇格」させました。これは、ユーザーインターフェイスソフトウェア(UI)、プログラム自体、およびデータベースが同じプラットフォーム(オペレーティングシステムとコンピュータ)上で実行されることを意味しました。IT業界は、オペレーティングシステムとデータベースエンジンの製造元からの明確なパッチタイムフレームの相違、再発する共通のインシデント、またはコンポーネントの更新/アップグレードの必要性が、処理とデータベースのティアを物理的および論理的に分割することによって緊急の軽減を必要とすることを認識し始めました。したがって、Tier 2 アーキテクチャソリューションが利用されるようになりました。1990年代にインターネットが普及すると、より高性能で能力のあるユーザーインターフェイスの革命をもたらしましたが、特定のウェブサーバーが必要でした。これにより、UIコンポーネントがコアコンピューティングおよびデータベースから分離されたTier 3 アーキテクチャの普及が促進されました。以下のグラフィックは、これがウェブ上でどのように展開されるかを示しています:

N-Tier アーキテクチャとは何か?

N-tier(またはマルチティア)アーキテクチャは、クライアントサーバーロジックの下で、異なるIT環境(ティア)によってレンダリングされるソフトウェアのいくつかのレイヤーを指します。ユーザーインターフェイス(プレゼンテーションティア)は、「計算」(ビジネスロジックティア)とは異なる環境で実行され、さらにデータベースエンジンおよびインスタンス(データティア)とは異なる環境で実行されます。これらの異なる環境(ティア)は通常、異なるサーバー、データセンターネットワーク、およびしばしば地理的に異なります。先に進む前に、「ティア」と「レイヤー」の違いを明確にすることが重要です。レイヤーは特定の機能を達成するソフトウェアスイート内の論理コンポーネントであり、ティアはそのレイヤーが実行される論理およびハードウェアプラットフォームです。ほとんどの場合、上記のティアを分割してさらなるアーキテクチャの柔軟性、シナジー、セキュリティ、効率を達成することが意味を持ちます。Amazon.comを例として考えてみましょう:

  • Amazonはどこからでも、いつでも、どのプラットフォーム(PC; タブレット; スマートフォン)でもアクセス可能である必要があるため、プレゼンテーションティアには、実際に異なる「フレーバー」(Windows、iOS、Android)を持ついくつかのティアがあります。
  • ビジネスロジックティア自体は、データを処理するさまざまな地理に分散されたサーバーだけでなく、倉庫や物流コンポーネント(ティア)からの自動入力も理解しています。これらはそれ自体でデータを処理する(異なるソフトウェアレイヤー)ため、Amazonビジネスロジックティアに情報を伝えることができます(ここでもいくつかのティアがあります)。
  • 最後に、データティアは、複製され分散されるだけでなく、異なるサーバー(ティア)で分離されたレベルのデータインスタンス(レイヤー)にも分割されています。

N-Tier アーキテクチャの詳細な例

自動車産業における具体的な例を見てみましょう。これは、製造業者の組立ラインに部品の配達状況についての瞬時の最新情報を提供することを目指す物流ソフトウェアに関するものです。したがって、以下のデータからフィードバックを受け取る必要があります:

  • 工場の作業フロア(組立ライン) – 部品は到着しましたか?
  • 3rdパーティの部品供給会社 – 部品は生産されましたか?
  • 物流倉庫 – 部品は倉庫を出発/到着しましたか?
  • 道路上のトラック – どこにいるのか、どの部品を運んでいるのか?
  • 物流「コントロールルーム」 – みんなとすべてはどこにいるのか?
  • 工場の生産前計画エリア – どの部品が必要で、いつまでに必要ですか?最適化された生産サイクルを達成するために

これを達成するには、次のことができるシステムが必要です:

  • 複数の異なるソース(内部および外部/リモート)からの情報を常に収集すること。
  • 次に、それを処理し、決定者が生産予測に関する進捗状況を把握し、潜在的な不遵守リスクを軽減するために行動できるようにするための貴重なステータス情報を返すこと。
  • 前方計画チームが、設定された生産計画に準拠するために、翌日の部品生産注文を発行できるようにすること。

必要なソフトウェアティアのシステムアーキテクチャは以下の通りです:

プレゼンテーションティア

プレゼンテーションティアは、特定のさまざまなユーザーインターフェイスプロトコルおよびプラットフォームに対応する必要があります:

  • 自動車メーカーの内部ユーザー、物流コントロールルームおよび生産計画エリアから、ユーザーがビジネスルールやプロセスを変更できる必要があります。これには、堅牢で安全なUI(デスクトップクライアントアプリケーションなど)が必要です。また、工場の作業現場での重要なユーザーは、部品が到着した際に照会してチェックインする必要があります。これは、製造業者のネットワーク内の物理的な機械上で、LAN/WANインフラ全体によって提供されるクライアントサービスソフトウェアレイヤーから実行されます(冗長性、セキュリティの追加、速度を保証)。
  • 3rdパーティの供給者や物流倉庫のユーザーは、3rdパーティの企業のIT環境に存在し、したがって製造業者のLANまたはWANへのアクセスが許可されていません。したがって、最も適切で安全かつ迅速なソリューションは、製造業者のデータセンター内に1台の機械クラスターと、もう1台をDMZに配置するウェブベースのクライアントサービスソフトウェアレイヤーを開発することです(認可されたプロバイダーが強力な認証プロトコルを介してアクセスできる場所)。両方のクラスター(内部およびDMZ)は、冗長性と高可用性を確保するために異なる地理に配置されるべきです。
  • トラックには、自動I/Oクライアントが装備されており、GPS座標と材料のリストIDを、冗長性と高可用性を確保するために異なる国の2つのISPを介してDMZに設置されたウェブサーバーを通じて公衆モバイルウェブデータサービスに伝達する必要があります。
  • エリアマネージャーや工場長などの特別なユーザーは、スマートフォンやタブレットを介して、製造業者のネットワーク内の集中型ウェブサーバー(冗長性保証のための2つの地理)から、またISPを介して移動中にシステムにアクセスするためのアラートやメッセージを受け取る必要があります。

ビジネスロジックティア

ビジネスロジックティアは、複数の地理に分散されたデータセンターによるアプリケーションサーバークラスターの複数のティアで構成され、各データセンターにおいて1台のサーバーで生産層を実行し、別のサーバーで品質/テスト層を実行します。

データティア

データティアは、複数のノード(サーバー)を持つアクティブデータベースサーバークラスターで構成され、それぞれが異なる地理に分散されたレイヤーを実行し、さらに別の異なる地理的場所に歴史データ/迅速な回復ティアを持つと仮定します。この例は、組織が全体のインフラストラクチャの責任を負っていると仮定しています。クラウドベースのアーキテクチャは、さらに柔軟性、回復力、全体のソリューションに対して「ティア」および「レイヤー」を提供します。

N-Tier アーキテクチャの利点

  • スケーラビリティ – アーキテクチャ内の複数の分離されたコンポーネントを持つことで、これらの個別のコンポーネントの1つ以上をアップグレードすることで簡単にスケールできます。たとえば、公共のクライアントの数が増加し、クライアントの需要に対処するためにウェブサービスを分割する必要がある場合、プレゼンテーションティアに新しい容量を追加することになります。別の例は、製品ポートフォリオを拡大するオンラインショップがある場合で、この場合、成長のニーズはデータティアにある可能性が高いです。
  • セキュリティの向上 – 複数のティアによって分散されたアーキテクチャは、それぞれのコンポーネントがそのコアビジネスの重要度レベルに応じて保護されるように、論理的および地理的に異なるセキュリティゾーンに配置することを可能にします。提示された例では、ウェブサーバーは、ファイアウォールで保護されたDMZ内にありますが、すべての重要なビジネスデータが処理されるアプリケーションサーバーやデータベースサーバーほどセキュリティ保護の必要性が低いです。
  • 回復力と冗長性 – 重要なコンポーネントは、フェイルオーバーを確保し、より回復力のあるシステムを実現するために、クラスター化され地理的に分割されたティアに簡単に分割できます。
  • メンテナンスの柔軟性 – スケーラビリティのケースと同様に、異なるティアを持つことで、付随的な望ましくない影響を生じさせることなく、ピンポイントのメンテナンスアクションが可能になります。これは、メンテナンススケジュールが3rdパーティコンポーネントからの依存関係が少ないことを意味します。
  • 災害復旧 – N-Tier アーキテクチャは、部分的なサービスの中断が深刻であってもなくても、個々のコンポーネントが復元できるようにし、サービス回復時間を短縮します。堅牢で冗長性が高く、よく分散されたシステム(Google、Amazon、PayPalなどをサポートするもの)の場合、復元活動は冗長性のおかげでエンドユーザーにも気づかれません。
  • 開発者に優しい環境 – 異なるティアによって分割された複数のコーディングレイヤーを持つことで、開発者はリソースを共有したり、互いのタスク/ドメインに対する潜在的な影響を考慮することなく、自分の個々のタスクに集中できます。これは、DevOpsやアジャイル/リーンのようなフレームワークやプログラミング文化を強化するアーキテクチャのタイプです。

N-Tier アーキテクチャの欠点

  • パフォーマンス – 複数のコンポーネントを分割することで効率とパフォーマンスが向上する可能性があるという逆説が、パフォーマンスの低下のリスクを生じることがあります。このリスクは基本的に3rdパーティのコンポーネント/サービスに関連します。異なる地理やティアによってアーキテクチャが分散されると、システム全体がI/Oフローに大きく依存するようになります。閉じたネットワーク(LAN/WAN)の場合、重要な要素はケーブル配線、スイッチング、ルーティングインフラ全体ですが、クラウドベースのインフラを使用する場合、トピックには複数のISPが含まれ、それぞれの通信インフラがパフォーマンスに関して同期していない可能性があります。
  • CAPEXおよびOPEXの増加 – アーキテクチャにコンポーネントを追加することは、追加の初期投資、運営メンテナンス費用の予算、およびサポートサービスが必要であることを意味します。これは、クラウドベースのサービスに依存しない場合に特に懸念されます。

N-Tier がクラウドに進化した方法

過去数十年の間に、ITシステムは私たちのグローバル経済の柱の1つとなり、セキュリティ、高可用性、柔軟性などの重要な要素が、ほとんどの企業がコアビジネス関連のITシステムをN-Tier アーキテクチャに移行する要因となりました。では、問題は何だったのでしょうか?OPEXとCAPEX!地理的に分散されたアーキテクチャ内で、上記の重要な要素を確保するためにティアとソフトウェアレイヤーの数を増やすことは、ほとんどの企業にとってコスト効果がありませんでしたが、その後...市場は堅牢なクラウドコンピューティングの提供で応えました。IBMやAWS(Amazon Web Services)などの企業は、大規模なコンピュータIT環境を作成し、企業は自社のN-Tier アーキテクチャに基づくIT環境を実装・維持するコストのわずか小数を支払うことで、これらのクラウド環境にIT環境を段階的に移行できるようになりました。

これらの投稿は私自身の意見であり、必ずしも BMC の立場、戦略、または意見を表すものではありません。

クラウドの関連記事

The Briefを購読する

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ありがとう

あなたはThe Briefに登録されました
The Briefはメインフレームとエンタープライズオーケストレーション—BMC AMIとControl-M—および、両者に関するアナリストの研究、顧客の展開、イベントをカバーしています。