2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-07-22

はじめに

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

連載目次

Azureアーキテクチャガイドまとめ 1 【はじめに】
Azureアーキテクチャガイドまとめ 2【N層】 → 本記事
Azureアーキテクチャガイドまとめ 3 【Webキューワーカー】
Azureアーキテクチャガイドまとめ 4 【マイクロサービス】
Azureアーキテクチャガイドまとめ 5 【CQRS】
Azureアーキテクチャガイドまとめ 6 【イベントドリブンアーキテクチャ】
Azureアーキテクチャガイドまとめ 7 【ビッグデータアーキテクチャ】
Azureアーキテクチャガイドまとめ 8 【ビッグコンピューティングアーキテクチャ】

概要

N層アーキテクチャと呼ばれるもの中で代表的なものが、以下の三層アーキテクチャです。

  • プレゼンテーション層
  • 中間層
  • データ層

下記の例では、中間層が二つ(Middle Tier 1 / Middle Tier 2)あり、別々の機能を持たせています。名称はとっつきにくいですが、よく見るような一般的な構成です。

2019-07-22_15h32_45.png

以下のような特徴を持つアプリケーションに適したアーキテクチャスタイルです。

  • 単純なWebアプリケーション
  • オンプレアプリをAzureに最小限のリファクタリングで移行
  • オンプレアプリとクラウドアプリの統一的開発

特徴は以下の通り。

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

利点

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

課題

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

ベストプラクティス

スケーラビリティ、信頼性、セキュリティの各層の境界としてサブネットを活用し、以下のマネージドサービスを利用する

  • キャッシング
  • オートスケール
  • ロードバランサ
  • メッセージング
    • 各層の分離に非同期メッセージングを使用
  • データストレージ
    • アクセス制限のため、中間層からの要求だけ許可
    • 高可用性実現のため、可用性グループを使用

対応するAzureサービス

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

02.JPG

まとめ

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

参考リンク

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

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?