Skip to content

MS_PlatformArchitecture

nishi_74322014 edited this page Sep 11, 2026 · 5 revisions

プラットフォーム・アーキテクチャ

概要

システムの土台となる「プラットフォーム」を、
OS / Web・AP / データベース / クラウド / Windows ネットワークといった
レイヤ毎に整理し、それぞれの選択肢と関連情報への入口をまとめる。

OS

通常OS

  • クライアント
  • サーバ
  • タブレット

組み込みOS

  • CE
  • Embedded
  • Phone

補足(最新化:組み込み系 Windows の現状): この分類は
Windows Embedded 系の製品が現役だった時期のもの。現在は以下の状況にある。

元の区分 現在
Windows CE Windows Embedded Compact 2013 が最終版。2023 年 10 月にサポート終了
Windows Embedded Windows IoT Enterprise / IoT Enterprise LTSC に統合
Windows Phone 2019 年 12 月にサポート終了。後継なし
(新規) Windows IoT Core(小型デバイス向け)、Azure IoT Edge(エッジ側のコンテナ実行基盤)

エッジ側で処理を行うアーキテクチャについては
Azure IoTAzure IoT Edgeを参照。

Web / AP

補足(最新化:.NET のホスティング): .NET Core以降の
ASP.NET Core は、Kestrel という自前の Web サーバをアプリ内に持つ。
このため、

  • Windows では IISリバース プロキシとして前段に置く
    (ASP.NET Core Module によるインプロセス / アウトオブプロセス ホスティング)
  • Linux では nginx / Apache をリバース プロキシとして前段に置く
  • コンテナ(コンテナ技術)では
    Kestrel を直接公開し、前段はロード バランサや
    Ingress コントローラが担う

という構成になる。従来の
「Web サーバがアプリケーションをホストする」モデルではない点が
ASP.NET(Web Forms / MVC 5)との大きな違いである。

データベース

SQL Server

SQL Server

Oracle

トランザクション

ローカル トランザクション

分散トランザクション

補足(最新化:分散トランザクションの現在の扱い):
TransactionScope による自動昇格(MS-DTC)は、
.NET Core / .NET 5〜6 では未サポートで、
昇格が必要になると PlatformNotSupportedException が発生していた。
.NET 7 以降、Windows 限定で MS-DTC への昇格がサポートされている
(Linux では引き続き未サポート)。

クラウドやマイクロサービス構成では、そもそも 2 フェーズ コミットを避け、

  • Saga パターン(補償トランザクション)
  • Outbox パターン(DB 更新とメッセージ送信を同一トランザクションで確定し、
    別プロセスがメッセージを配送する)

といった結果整合性を前提とした設計を採るのが定石になっている
クラウド設計パターン
Azureのメッセージング サービスを参照)。

クラウド

Azure

クラウド / Azure

クラウド利用時の注意事項

クラウド利用時の注意事項(クラウド利用時の注意事項

  • セキュリティ上の留意点
  • ネットワーク構成
  • ストレージ構成
  • 管理上の留意点

クラウド系開発

クラウド系開発

Windowsネットワーク

Active Directory

Active Directory

Windowsネットワークの基礎知識、設定・トラブルシュート

Windowsネットワークの基礎知識、設定・トラブルシュート

バックアップ

バックアップのいろいろ

冗長化アーキテクチャ

冗長化アーキテクチャ

仮想化アーキテクチャ

仮想化アーキテクチャ

補足(プラットフォーム選択の現在の観点): 元ページは
「どの製品を使うか」というレイヤ毎の選択肢の整理になっているが、
現在は運用責任をどこまで自分で持つかという軸で
先に切り分けるほうが実務に合う。

区分 運用責任
IaaS Azure VM + Hyper-V 相当 OS 以上すべて
CaaS AKS、ACI コンテナ イメージとマニフェスト
PaaS App Service、Azure SQL Database アプリと構成のみ
FaaS Azure Functions 関数コードのみ

上に行くほど自由度が高く運用負荷が大きい。
冗長化アーキテクチャ」や
バックアップのいろいろ」で扱う課題の多くは、
PaaS 側ではサービスの機能として提供されるため、
自前で作るか、サービスに寄せるかの判断が
プラットフォーム設計の中心になる。

参考


Tags: 移行, アーキテクチャ, Windows

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally