-
Notifications
You must be signed in to change notification settings - Fork 0
MS_PlatformArchitecture
- 戻る(アーキテクチャ設計)
- プラットフォーム・アーキテクチャ
システムの土台となる「プラットフォーム」を、
OS / Web・AP / データベース / クラウド / Windows ネットワークといった
レイヤ毎に整理し、それぞれの選択肢と関連情報への入口をまとめる。
- クライアント
- サーバ
- タブレット
- 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 IoT、Azure IoT Edgeを参照。
補足(最新化:.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)との大きな違いである。
- Oracle11gXE + ODP.NET Managed Driver
- ADO.NETデータプロバイダ(ODP.NET / ODP.NET Managed Driver)
-
-
リンク・サーバ
-
Enterprise Service(COM+)
- .NET における Enterprise Services (COM+) について
https://learn.microsoft.com/ja-jp/previous-versions/dotnet/articles/ms973847(v=msdn.10)
- .NET における Enterprise Services (COM+) について
-
XA 準拠のリソース マネージャー
補足(最新化:分散トランザクションの現在の扱い):
TransactionScopeによる自動昇格(MS-DTC)は、
.NET Core / .NET 5〜6 では未サポートで、
昇格が必要になるとPlatformNotSupportedExceptionが発生していた。
.NET 7 以降、Windows 限定で MS-DTC への昇格がサポートされている
(Linux では引き続き未サポート)。クラウドやマイクロサービス構成では、そもそも 2 フェーズ コミットを避け、
- Saga パターン(補償トランザクション)
- Outbox パターン(DB 更新とメッセージ送信を同一トランザクションで確定し、
別プロセスがメッセージを配送する)といった結果整合性を前提とした設計を採るのが定石になっている
(クラウド設計パターン、
Azureのメッセージング サービスを参照)。
クラウド利用時の注意事項(クラウド利用時の注意事項)
- セキュリティ上の留意点
- ネットワーク構成
- ストレージ構成
- 管理上の留意点
- コンテナ技術
- クラウド設計パターン
- クラウド・インフラ自動化ツール(クラウド系開発内)
Windowsネットワークの基礎知識、設定・トラブルシュート
補足(プラットフォーム選択の現在の観点): 元ページは
「どの製品を使うか」というレイヤ毎の選択肢の整理になっているが、
現在は運用責任をどこまで自分で持つかという軸で
先に切り分けるほうが実務に合う。
区分 例 運用責任 IaaS Azure VM + Hyper-V 相当 OS 以上すべて CaaS AKS、ACI コンテナ イメージとマニフェスト PaaS App Service、Azure SQL Database アプリと構成のみ FaaS Azure Functions 関数コードのみ 上に行くほど自由度が高く運用負荷が大きい。
「冗長化アーキテクチャ」や
「バックアップのいろいろ」で扱う課題の多くは、
PaaS 側ではサービスの機能として提供されるため、
自前で作るか、サービスに寄せるかの判断が
プラットフォーム設計の中心になる。
- @IT総合トップ > 情報マネジメント > アーキテクチャ > こんな時にはこのITアーキテクチャ
http://www.atmarkit.co.jp/farc/intro_index/n_design_intro.html- 変化に強いシステムのためのアーキテクチャ
http://www.atmarkit.co.jp/im/carc/serial/n_design06/n_design06.html - 使いやすいシステムのためのアーキテクチャ
http://www.atmarkit.co.jp/im/carc/serial/n_design05/n_design05.html - 24時間止められないシステムのためのアーキテクチャ
http://www.atmarkit.co.jp/im/carc/serial/n_design04/n_design04.html - 高可用性システムのためのアーキテクチャ
http://www.atmarkit.co.jp/im/carc/serial/n_design03/n_design03.html - 大量トランザクション処理に適したアーキテクチャ
http://www.atmarkit.co.jp/im/carc/serial/n_design02/n_design02.html - 良好なレスポンスを実現するアーキテクチャ
http://www.atmarkit.co.jp/im/carc/serial/n_design01/n_design01.html
- 変化に強いシステムのためのアーキテクチャ
Tags: 移行, アーキテクチャ, Windows
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。