Azureアーキテクチャガイドまとめ 2【N層】

はじめに

Azureクラウドアプリケーションアーキテクチャガイドより、7つあるアーキテクチャスタイルの一つ、N層アーキテクチャに関してまとめます。
※前回記事
Azureアーキテクチャガイドまとめ 1 【はじめに】

概要

N層アーキテクチャと呼ばれるもの中で代表的なものが、以下の三層アーキテクチャです。
・プレゼンテーション層
・中間層
・データ層
下記の例では、中間層が二つ(Middle Tier 1 / Middle Tier 2)あり、別々の機能を持たせています。名称はとっつきにくいですが、よく見るような一般的な構成です。

以下のような特徴を持つアプリケーションに適したアーキテクチャスタイルです。
単純なWebアプリケーション
・オンプレアプリをAzureに最小限のリファクタリングで移行
・オンプレアプリとクラウドアプリの統一的開発

特徴は以下の通り。

一般的なIaaSアプリとしての実装
・レイヤー
-論理レイヤーと物理レイヤーに分断し、責任を分離し、依存関係を管理する
-上位レイヤーは下位レイヤーのサービスを利用可。逆は不可
・2種のアーキテクチャ
-クローズドレイヤー (直下のレイヤーのみを呼び出し可)
-オープンレイヤー (下のすべてのレイヤーを呼び出し可)

利点

・オンプレ/クラウド間の移植性が高い
・エンジニアにとって学習コストが低い
・異種混在環境(Windows/Linux)への適合性が高い

課題

・各機能の独立展開不可
管理コストが高い
・大規模システムのセキュリティ管理が難しい場合あり
・中間層が無意味に待ち時間を増やす場合あり

ベストプラクティス

スケーラビリティ、信頼性、セキュリティの各層の境界としてサブネットを活用し、以下のマネージドサービスを利用する
・キャッシング
・オートスケール
・ロードバランサ
・メッセージング
-各層の分離に非同期メッセージングを使用
・データストレージ
-アクセス制限のため、中間層からの要求だけ許可
-高可用性実現のため、可用性グループを使用

対応するAzureサービス

各層のコンピューティングにVirtual Machineを利用し、マネージドサービスを追加していく形です。アイコンと一緒に覚えてしまいましょう。

まとめ

N層アーキテクチャの特徴と、使用されるサービスについて見ていきました。次回はWebキューワーカーについてまとめます。お楽しみに!

参考リンク

Azureアーキテクチャセンター
Azureクラウドアプリケーションアーキテクチャガイド ダウンロードページ

この記事を書いた人

azure-recipe-user