SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
App Modernization for .NET
Atsushi Kojima (Alterbooth Inc, CEO)
Yuta Matsumura (Alterbooth Inc, CTA)
アジェンダ  ModernizationとMigration
 クラウド化戦略
 アプリケーションプラットフォーム
 リアーキテクチャー方針
 データストア戦略
 開発プロセス
Atsushi Kojima
Alterbooth Inc, CEO
Microsoft Regional Director
G’s Academy Mentor
#aadojo
@techno_officer
Yuta Matsumura
Chief Technical Architect
Microsoft MVP
(Developer Technologies)
#fukuten #devblogradio
@tsubakimoto_s
tsubakimoto
ModernizationとMigration
課題が解決される過程を知る
Modernizationの本質は課題を解決することです。Migrationとの違い
は移設は必ずしも必要ではない、というところですがオンプレ上の
システムはクラウドに移行されるべきなのでModernizationと
Migrationは連携して行う必要があります。
フェーズ 課題の顕在化 解決提案 課題の克服 新しい環境 継続的改善
状態
クラウド化の動機主導の戦略方針
クラウドを利用する動機とその具体的戦略の例を以下に示します。
既存のシステムを活かすことを中心とした戦略なのか、新しい何か
を生みだすためのイノベーションであるか、戦略をまず2つに分けど
ちらなのかを検討します。
⚫ コスト削減
⚫ ベンダーまたは技術的な複雑さの減少
⚫ 内部運用の最適化
⚫ ビジネス アジリティの向上
⚫ 新しい技術機能に対する準備
⚫ 市場需要に合わせたスケーリング
⚫ 地理的需要に合わせたスケーリング
⚫ ビジネス アジリティの向上
⚫ 新しい技術機能に対する準備
⚫ 新しい技術機能の構築
⚫ 市場需要に合わせたスケーリング
⚫ 地理的需要に合わせたスケーリング
⚫ カスタマーエクスペリエンスとエンゲージメントの向上
⚫ 製品またはサービスの変革
Migration/Modernization Innovation
モダナイズの基本設計
モダナイズは3つのステップに沿って行います。
Step1. 既存システムの評価
既存システムの評価は、クラウド化するための見積もり、リスク評価、改修規模など中心に行う
Step2. クラウドへ移行
5Rを軸に移行設計をする
Step3. リソースの最適化
継続的改善ができるように、常に状態を確認できるようにする
Cloud Adoption Framework
戦略
業務上の正当な理由と
導入による予想される
結果を定義する
計画 準備完了 移行
ビジネスの結果に合わせて
実行可能な導入計画を
調整する
計画された変更のために
クラウド環境を準備する
ガバナンス
環境とワークロードを
管理する
管理
ソリューションおよび
ハイブリッド ソリューション
のための運用管理
既存のワークロードを
移行して最新化する
Cloud Center of Excellence
CAFで最も重要なことはCCoE
CCoEとは企業規模でリーン事業開発を実現するために、必要な役割
や責任、行動に関する考え方が体系化されたナレッジです。クラウ
ドを軸とした組織全体、または組織間コラボレーションにおける重
要な目標や役割を示す組織戦略になります。CCoEはクラウドへ対応
するための速度と安定性のバランスを取る機能であり、レガシー資
産をモダナイズするために必要になります。
サンプルシナリオ 事前 CCoE ソリューション 事後 CCoE ソリューション
運用 SQL Server のプロビジョニング ネットワーク、IT、データ プラットフォームの各
チームは、数日または数週間にわたってさまざま
なコンポーネントをプロビジョニングします。
サーバーを必要とするチームは、Azure SQL
Database の PaaS インスタンスをデプロイしま
す。 または、承認済みのテンプレートを使用して、
すべての IaaS 資産をクラウドに数時間でデプロ
イできます。
開発環境のプロビジョニング ネットワーク、IT、開発、DevOps の各チームは、
仕様に同意し、環境をデプロイします。
開発チームは、独自の仕様を定義し、割り当てら
れた予算に基づいて環境をデプロイします。
データ保護を向上させるためのセキュリティ要件の更新 ネットワーク、IT、セキュリティの各チームは、
保護を追加するために複数の環境にわたってさま
ざまなネットワーク デバイスと VM を更新します。
クラウド ガバナンス ツールを使用して、すべての
クラウド環境内のすべての資産にすぐに適用でき
るポリシーを更新します。
クラウド化戦略
5Rでクラウド設計の基盤を策定する
5RはModernize Migrationにおける基本的な設計思想であり、対象と
なるシステムやワークロードをどのようにクラウドに展開するかを
検討していきます。
リファクター リアーキテクト リビルド リプレイス
リホスト
リフトアンドシフ
トでIaaSに移行さ
せる。コード修正
することなく既存
の仕組みをそのま
ま移行する。現状
のままクラウドに
移行することが可
能。
アプリケーション
の再パッケージ化
をし、PaaSもしく
はIaaSに移行する。
コード修正は最小
限で行い、アプリ
ケーションのス
ケールを最大化す
ることが可能。
アプリケーション
のコードベースを
変更し、最新化し
たのちに個別にデ
プロイできるアー
キテクチャーへ分
散させる。
クラウドネイティブ化す
るためにアプリケーショ
ンをゼロからリビルドす
る。すべての機能をPaaS
で実現し、フルマネージ
ドサービスとしてクラウ
ドを活用する。
すべてのアプリ
ケーションをSaaS
に置き換え常に最
高のテクノロジー
とアプローチにす
ることができる。
5Rの動機づけ分類
リホスト
リファクター
リアーキテクト
リビルド
リプレイス
ビジネス要件 システム要件 コスト要件
固定資産の削減 既存構成の変更を極力避ける
追加開発コストはなく、現在
の仕組みを踏襲
継続的なビジネスへの投資
デプロイの向上とソフトウェ
ア資産の継続アップデート
最小限の運用コスト
増大する運用リスクの削減
コード簡素化とアプリケー
ションのスケール・アジリ
ティ向上
マイクロサービスとして運用
ビジネスの変化への対応
新しいコードベースとクラウ
ドネイティブ
サーバーレスで最適化
入れ替え可能なビジネスツー
ルの導入
ワークフローの改善
開発、運用コストをゼロにす
る
.NETにおけるモダナイズで最初に注意するべきこと
Windows Server上で.NET Webアプリケーションを稼働させている場
合、モダナイズするためにはIISのバージョン遷移について理解する
必要があります。
Windows2003/R2
IIS6.0
Windows2008/R2
IIS7.0/7.5
Windows2012/R2
IIS8.0/8.5
Windows2016
IIS10.0
汎用ワーカープロセス
(w3wp.exe)
統合パイプライン
TCP/IP、名前付きパイプライン
64ビット対応
アプリケーションプール単位の動作
アカウント分離
大きな変更はあまりない
IIS6.0以前で稼働しているアプリケーションはIISの大幅なバージョンアップを考慮しないといけない。
• ワーカープロセスの分離管理
• パイプラインの確認
• 64ビット化
• 運用、管理サービスのクラウド化
モダナイズシナリオ
代表的なモダナイズシナリオは 2020年1月にEOSとなった Windows
Server 2008/2008 R2 を移行元として、Microsoft Azure 上の
Windows Server 2019仮想マシンへ最小リスクで移設するリホストプ
ランです。
On-Premise
Windows
Server
2008/2008R2
(IIS 7.0/7.5)
Virtual Machine
Windows Server 2019
Microsoft Azure
.NET アプリケーションを移行する
オンプレミスで稼働している Windows Server
2008/2008 R2 上の .NET アプリケーションの
みを最小リスクで Azure 上の Windows
Server 2019 へ移行する。
移行においてのアクションは以下。
1. Azure でのリソース作成
2. .NET アプリケーションファイルの移行
3. IIS 設定
4. Azure 最適化
アプリケーションコードへの改修は最小限にす
る。
アプリケーションプラットフォーム
リアーキテクチャー方針
for .NET
新しい .NET への移行
3.5 SP1 (~2029)
4.6.2
4.7, 4.7.1, 4.7.2
4.8
.NET and .NET Core official support policy
Microsoft .NET Framework - Microsoft Lifecycle | Microsoft Docs
※参考リンク
.NET アプリケーションの移行パス
Console
WinForms / WPF
WCF
ASP.NET Web Forms
ASP.NET MVC
ASP.NET Web API
Console / Generic Host
WinForms / WPF
gRPC / CoreWCF
ASP.NET Core Blazor
ASP.NET Core MVC
ASP.NET Core Web API
.NET アプリケーションの移行パス
Console
WinForms / WPF
WCF
ASP.NET Web Forms
ASP.NET MVC
ASP.NET Web API
Console / Generic Host
WinForms / WPF
gRPC / CoreWCF
ASP.NET Core Blazor
ASP.NET Core MVC
ASP.NET Core Web API
.NET Framework から .NET Core への移行
UI レイヤー以外の部分を .NET Standard に移行しつつ
最終的にすべてを .NET Core (.NET 6) に移行します。
※画像引用元
Microsoft Graph's Journey to .NET 6 - .NET Blog
移行作業を支援するツール
.NET Portability Analyzer
 ライブラリが移行可能な .NET
プラットフォームを解析
 .NET 6 は非対応であるため、
自身で解析が必要
.NET Upgrade Assistant
 移行作業に必要なタスクの可視化を
行い、機械的な変換作業を実施
 .NET 6 まで移行可能
ツールが移行支援を行うのは、プロジェクト構成やライブラリの範囲程度です。
ビジネスロジックや UI は手作業での移行が必要となります。
移行が難しいケース
• Application Domain
• Remoting
• WF (Workflow Foundation)
• .NET Standard や .NET Core に移行できないライブラリ
▶自社製の共有ライブラリ、サードパーティツール
(ドライバー、帳票、UI コンポーネントなど)
▶代替ツールの採用 or 自身で実装 or 当該機能の削除
※参考リンク
破壊的変更 - .NET Framework から .NET Core | Microsoft Docs
データストア戦略
データストアの見直し
クラウドで実行する Web アプリケーションの場合、スケーラブルな
構成を保つことが大事です。
▶ Well-Architected Framework : “Performance Efficiency”
アプリケーション最新化のための設計と同様に、スケーラブルな
構成のためのデータ再設計を行いましょう。
ストレージ
(Blob, Queue,
Table, File Share)
リレーショナル
データベース
NoSQL
データベース
安全に扱いたい
データ
(シークレット)
ログやテレメト
リ
※参考リンク
Design scalable Azure applications - Microsoft Azure Well-Architected Framework | Microsoft Docs
データストアとしてどのサービスを使用するとよいか
Azure Key Vault で重要な情報を保護する
Azure Key Vault は下記のような、重要な情報を安全かつ一元的に
を管理するための仕組みです。
• データベースの接続文字列
• システムのマスターパスワード
• クラウドリソースへのアクセスに用いるキーや証明書
• 外部 Web サービスへのアクセスに用いるキーや証明書 など
※参考リンク
Azure Key Vault の概要 - Azure Key Vault | Microsoft Docs
Azure Key Vault が安全性を高める仕組み
ユーザーがアクセスする場合
• Azure AD 認証
• ユーザーに対するアクセスポリシー
アプリケーションからアクセスする場合
• Azure AD 認証 (マネージドID)
• リソースに対するアクセスポリシー
フルアクセス
読取のみ
シークレットのみ
開発プロセス
Azure
GitHub
開発プロセスのアップデート
commit & push
Repository
Packages
dotnet restore
Pull Request
Actions
Issue / Projects
︙
deploy
レビューもクラウド環境に合わせて
クラウドアプリケーションに対するレビュー項目
✓ スケーラビリティが考慮されているか
✓ 非機能要件をカバーしたアーキテクチャーか
✓ SDK や API を適切に使用できているか
✓ シークレット値の安全性が考慮されているか
✓ 必要なテストコードが書かれているか
CI/CD パイプラインの構成
トリガー 環境構成 ビルド
成果物の
受渡
デプロイ
Artifact
dotnet restore
dotnet build
dotnet test
dotnet publish
Azure
NuGet
Container Registry
etc.
© Copyright Microsoft Corporation. All rights reserved.

Contenu connexe

Similaire à App Modernization for .NET

マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
Akira Inoue
 

Similaire à App Modernization for .NET (20)

Ms retail update ra 20191030
Ms retail update ra 20191030Ms retail update ra 20191030
Ms retail update ra 20191030
 
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatformJSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development
 
.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化
 
[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001
 
2014年12月 ソネット bit-drive セミナー資料
2014年12月 ソネット bit-drive セミナー資料2014年12月 ソネット bit-drive セミナー資料
2014年12月 ソネット bit-drive セミナー資料
 
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvc
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
 
TECH Streetますます機能拡充するPower Automate for desktopの概要と最新情報
TECH Streetますます機能拡充するPower Automate for desktopの概要と最新情報TECH Streetますます機能拡充するPower Automate for desktopの概要と最新情報
TECH Streetますます機能拡充するPower Automate for desktopの概要と最新情報
 
Mithril
MithrilMithril
Mithril
 
Azure Machine Learning Build 2020
Azure Machine Learning Build 2020Azure Machine Learning Build 2020
Azure Machine Learning Build 2020
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
 
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsMAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
Cloud OS MVP Roadshow 140830 Naohiro Chikita
Cloud OS MVP Roadshow 140830 Naohiro ChikitaCloud OS MVP Roadshow 140830 Naohiro Chikita
Cloud OS MVP Roadshow 140830 Naohiro Chikita
 

Plus de Yuta Matsumura

Plus de Yuta Matsumura (20)

「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
 
チーム開発で徐々にコード品質をあげていく取り組み
チーム開発で徐々にコード品質をあげていく取り組みチーム開発で徐々にコード品質をあげていく取り組み
チーム開発で徐々にコード品質をあげていく取り組み
 
.NETのサポートポリシーのおさらい #csharptokyo
.NETのサポートポリシーのおさらい #csharptokyo.NETのサポートポリシーのおさらい #csharptokyo
.NETのサポートポリシーのおさらい #csharptokyo
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 
いつでもどこでも .NET
いつでもどこでも .NETいつでもどこでも .NET
いつでもどこでも .NET
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tyeマイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
 
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
 
Azure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もうAzure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もう
 
Blazor Server テンプレート解説
Blazor Server テンプレート解説Blazor Server テンプレート解説
Blazor Server テンプレート解説
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
改めて C# でできることを振り返る
改めて C# でできることを振り返る改めて C# でできることを振り返る
改めて C# でできることを振り返る
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
 
忙しい人のための .NET Conf 2019 まとめ
忙しい人のための .NET Conf 2019 まとめ忙しい人のための .NET Conf 2019 まとめ
忙しい人のための .NET Conf 2019 まとめ
 
.NET Conf の歩き方
.NET Conf の歩き方.NET Conf の歩き方
.NET Conf の歩き方
 
PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 閉会式PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 閉会式
 
PHPカンファレンス福岡2019 開会式
PHPカンファレンス福岡2019 開会式PHPカンファレンス福岡2019 開会式
PHPカンファレンス福岡2019 開会式
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
 
ASP.NET Core 2.x Identityについて
ASP.NET Core 2.x IdentityについてASP.NET Core 2.x Identityについて
ASP.NET Core 2.x Identityについて
 

Dernier

Dernier (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

App Modernization for .NET