SlideShare a Scribd company logo
1 of 38
Download to read offline
井上 章 (いのうえ あきら) @chack411
マイクロソフト コーポレーション
グローバル ブラックベルト
テクノロジー ソリューション プロフェッショナル
Microsoft .NET TV Commercial (2002)
が
すべてを解決する
クラウドの利用形態と Azure のサービス範囲
Tradition
On-Premises
(オンプレ)
設定
コード
スケーリング
ランタイム
OS
仮想化
ハードウェア
Infrastructure
as a Service
(IaaS)
設定
コード
スケーリング
ランタイム
OS
仮想化
ハードウェア
Containers
as a Service
(CaaS)
設定
コード
スケーリング
ランタイム
OS
仮想化
ハードウェア
Platform
as a Service
(PaaS)
設定
コード
スケーリング
ランタイム
OS
仮想化
ハードウェア
Function
as a Service
(FaaS)
設定
コード
スケーリング
ランタイム
OS
仮想化
ハードウェア
Software
as a Service
(SaaS)
設定
コード
スケーリング
ランタイム
OS
仮想化
ハードウェア
ユーザー管理 ベンダー管理
Cloud Native
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
能力
エクスペリエンス
技術
アーキテクチャ
クラウド ネイティブ
アプリケーション
クラウド ネイティブを支える技術とアーキテクチャ
Cloud Native Definition v1.0
.NET のクラウドネイティブを支える Azure サービス
Azure
Cosmos DB
Azure
Storage
Azure
SignalR
Service
Azure
Cognitive
Services
Azure
SQL
Database
Azure
Functions
Azure
Monitor
Azure
Kubernetes
Service (AKS)
Azure App
Service
Azure
Virtual
Machines
Fully managed platform for
running .NET applications
Container orchestrator for
Linux workloads (.NET Core)
Serverless,
event driven tasks
Fully managed real-time
web functions
Commoditized AI for .NET
Framework and .NET Core
Application performance
and usage monitoring
Store anything
great for binaries
Relational database
Non-relational
database
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
Docker Containers
クラウドからオンプレミスまで
どこでも実行可能な高速で軽量な
アプリケーション / サービスの
配置, 運用, 管理, 自動化のための技術
コンテナー型のアプリ仮想化技術
◼ ネットワークやリソースを分離
◼ 高速かつオーバーヘッドの少ない配置展開
◼ オープンソース WindowsLinux
仮想マシンと Docker Containers
Infrastructure Infrastructure
Host Operating System
Hypervisor
Guest OS
Bins/Libs
App 1
Guest OS
Bins/Libs
App 2
Guest OS
Bins/Libs
App 3
Bins/Libs
App 1
Bins/Libs
App 2
Bins/Libs
App 3
Container Runtime / Docker Engine
Host Operating System
• アプリケーションのポータビリティ
• 開発, QA, 運用環境の標準化, OS やインフラ環境の抽象化
• 高速起動、スケーラビリティの確保、リソース配分の最適化
Why Containers ? Write-once, Run-anywhere
‘Write-once, Run-anywhere’
マイクロサービス アーキテクチャ対応
Dev/Test の効率化
確実な Production 環境の配置
Developer Community の成長
アプリケーションのポータビリティ
開発, QA, 運用環境の標準化
OS やインフラ環境の抽象化
リソース配分の最適化
高速起動、スケーラビリティの確保
DevOps
Developers
Operations
Docker Containers ~ 共通デプロイ単位
Optionsofcompute
Azure Web App for Containers
Service Fabric
Ma en
Azure
Kubernetes
Service (AKS)
Leverage the Azure platform
designed for your container needs
Keep using the platform of your choice,
running great on Azure
Azure Container Registry
Docker Hub,
private registry
Visual Studio tools InteliJ Jenkins
Redhat Openshift
Container Platform
Pivotal Cloud
Foundry
Kubernetes
Web App for Containers
Docker コンテナーの実行基盤として最適化された
PaaS プラットフォーム
◼ Docker CLI
◼ Azure CLI, SSH
◼ Visual Studio 2017/2019 コンテナー サポート (Build, Debug)
◼ Visual Studio Code & Docker 拡張機能
◼ Docker Image の管理
• Docker Hub
• Azure Container Registry
• Private Registry
Container 開発とツールサポート
Container 開発ライフサイクル (シナリオ例)
Azure
開発環境
git push
pull, clone
docker push
CD (Webhook)
docker push
Blue/Green デプロイメント (Immutable Infrastructure)
一度構築した環境を修正しない手法
Blue – 既存環境
Green – 新規環境
DNS
ロードバランサー
トラフィック
カナリア リリース
95%
traffic
5
%
• 更新をカナリアクラスタに
デプロイ
• 受け入れ試験実施
• 少しのトラフィックをカナリア
クラスタに流し、順次増やして
いく
Primary
Cluster
Canary
Cluster
2. 新しいサービスのデプロイと試験
• 100% のトラフィックを
カナリアクラスタに送信
• 古いプライマリークラスタは廃棄
• 必要があればロールバック
100%
traffic
(Old)
Primary
Cluster
New
Primary
Cluster
3. 試験が終われば完全スイッチ
• デプロイ準備
• カナリアクラスタ作成
• カナリアリリースの準備
Primary
Cluster
100%
traffic
Canary
Cluster
1. アップグレード準備
• 新しいサービスや機能を一部ユーザに先行リリース、その後全リリースする手法 (Dark Launch とも呼ばれる)
• Blue/Green デプロイメントや A/B テストも類似の手法
Azure App Service のデプロイ スロット
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
マイクロサービス アーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
Azure Dev Spaces
• Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能
• マネージドな Kubernetes クラスターをチームで共有して共同作業可能
• 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、
他のコンポーネントと併せてエンド ツー エンドのテストを実行
• さまざまな開発言語/フレームワーク、Windows, macOS, Linux で利用可能
• 開発とプロダクションで同一の Docker / Helm 環境を利用
Azure Dev Spaces (Preview)
http://web-frontend.bd0cfb25.../aksapp.io
http://scott.s.web-frontend.bd0cfb25.../aksapp.io Scott
マイクロサービスへのダイレクト コミュニケーション
ダイレクト コミュニケーションの課題
• バックエンドへのリクエストの最小化
• 認証、データ変換、動的な要求の
ディスパッチ
• 非インターネット対応プロトコルを使
用するサービスとの通信
• モバイル アプリ向けの通信の最適化
API ゲートウェイ パターン / BFF (Backend for Frontend)
API ゲートウェイ パターンの主な機能
.NET マイクロサービス アーキテクチャ リファレンス
Azure アーキテクチャ リファレンス
https://docs.microsoft.com/ja-jp/azure/architecture/
https://azure.microsoft.com/ja-jp/solutions/architecture/
https://dotnet.microsoft.com/learn/dotnet/architecture-guides
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
移行 / Rehost
Re-architect/Rebuild, コード修正
既存アプリ & サービス
(オンプレミス)
Relational
Database
On-premises
クラウド インフラ対応
(IaaS)
VMs
Azure
モダナイズ
最小限のコード修正Lift & Shift, コード修正なし
.NET アプリのモダナイズとクラウド ネイティブ
クラウド最適化
(PaaS)
Azure
Windows
Containers
クラウド ネイティブ
(PaaS, CaaS, FaaS)
Azure
• .NET Core / ASP.NET Core
• .NET Framework / ASP.NET
.NET Core と .NET Framework の選択
• .NET Framework, ASP.NET のモダナイズ
• Windows Containers on Azure VM
• Web App for Containers - Windows Containers Support (Preview)
• AKS – Windows Containers Support (Preview), Windows node on Kubernetes
• Azure Service Fabric
• Azure Container Instances (ACI), AKS 仮想ノード (Virtual Kubelet) + ACI
.NET アプリのクラウド移行パターン
🌞
• .NET Core のクラウドネイティブ & マイクロサービス シナリオ
• Web App for Containers (シングル コンテナー構成)
• AKS (Azure Kubernetes Service), ACI (Azure Container Instances)
• Windows Containers on Azure VM
• Web App for Containers – Windows Containers Support (Preview)
• AKS – Windows Containers Support (Preview), Windows node on Kubernetes
• Azure Service Fabric
• ACI, AKS 仮想ノード (Virtual Kubelet) + ACI
.NET Core アプリのクラウド移行パターン
🌞
.NET ~ すべてのアプリのための統一プラットフォーム
.NET Framework / .NET Core / Xamarin
INFRASTRUCTURE
.NET Standard
DESKTOP
WPF/Win Forms
UWP
WEB
ASP.NET
MOBILE
Xamarin
GAMING
Unity
CLOUD
Azure
IoT
ARM32
ARM64
AI
ML.NET
.NET Apache Spark
.NET 5 ~ すべてのアプリのための統一プラットフォーム
.NET 5(Nov 2020)
INFRASTRUCTURE
.NET Standard
DESKTOP
WPF/Win Forms
UWP
WEB
ASP.NET
MOBILE
Xamarin
GAMING
Unity
CLOUD
Azure
IoT
ARM32
ARM64
AI
ML.NET
.NET Apache Spark
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
Microsoft Developers
© 2018 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
© 2019 Microsoft Corporation. All rights reserved.
本情報の内容 (添付文書、リンク先などを含む) は、de:code 2019 開催日 (2019年5月29~30日) 時点のものであり、予告なく変更される場合があります。
本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。

More Related Content

What's hot

.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)Akira Inoue
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来Akira Inoue
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NETAkira Inoue
 
.NET の今と今後に思うこと
.NET の今と今後に思うこと.NET の今と今後に思うこと
.NET の今と今後に思うことAkira Inoue
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートAkira Inoue
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用de:code 2017
 
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!日本マイクロソフト株式会社
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要Akira Inoue
 
.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望Akira Inoue
 
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性de:code 2017
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 日本マイクロソフト株式会社
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Shotaro Suzuki
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 日本マイクロソフト株式会社
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能Takayoshi Tanaka
 
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Akira Inoue
 
30min Serverless xTuber
30min Serverless xTuber30min Serverless xTuber
30min Serverless xTuberTakaaki Suzuki
 
C#ユーザー会 //build/ まとめ(サーバー編)
C#ユーザー会 //build/ まとめ(サーバー編)C#ユーザー会 //build/ まとめ(サーバー編)
C#ユーザー会 //build/ まとめ(サーバー編)Keiji Kamebuchi
 

What's hot (20)

.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
 
.NET の今と今後に思うこと
.NET の今と今後に思うこと.NET の今と今後に思うこと
.NET の今と今後に思うこと
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
 
.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望
 
【BS6】 マイクロソフトの GitHub との取り組み
【BS6】 マイクロソフトの GitHub との取り組み 【BS6】 マイクロソフトの GitHub との取り組み
【BS6】 マイクロソフトの GitHub との取り組み
 
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
 
【BS7】GitHubをフル活用した開発
【BS7】GitHubをフル活用した開発【BS7】GitHubをフル活用した開発
【BS7】GitHubをフル活用した開発
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
 
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
 
【BS12】Visual Studio 2022 40分一本勝負!
【BS12】Visual Studio 2022 40分一本勝負!【BS12】Visual Studio 2022 40分一本勝負!
【BS12】Visual Studio 2022 40分一本勝負!
 
30min Serverless xTuber
30min Serverless xTuber30min Serverless xTuber
30min Serverless xTuber
 
C#ユーザー会 //build/ まとめ(サーバー編)
C#ユーザー会 //build/ まとめ(サーバー編)C#ユーザー会 //build/ まとめ(サーバー編)
C#ユーザー会 //build/ まとめ(サーバー編)
 

Similar to .NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ

20170629 技術者向けazure stack_paas
20170629 技術者向けazure stack_paas20170629 技術者向けazure stack_paas
20170629 技術者向けazure stack_paasShotaro Suzuki
 
20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS AzureIssei Hiraoka
 
.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化Takeshi Fukuhara
 
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイントG tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイントTrainocate Japan, Ltd.
 
[MW11] OSS on Azure で構築する ウェブアプリケーション
[MW11] OSS on Azure で構築する ウェブアプリケーション[MW11] OSS on Azure で構築する ウェブアプリケーション
[MW11] OSS on Azure で構築する ウェブアプリケーションde:code 2017
 
20170719 wintechq azure_stack
20170719 wintechq azure_stack20170719 wintechq azure_stack
20170719 wintechq azure_stackOsamu Takazoe
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでDaisuke Masubuchi
 
Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213Ayumu Inaba
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewKeiji Kamebuchi
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWSYasuhiro Araki, Ph.D
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)kekekekenta
 
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みMicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みShinichiro Arai
 
Azure Kubernetes Service Overview
Azure Kubernetes Service OverviewAzure Kubernetes Service Overview
Azure Kubernetes Service OverviewTakeshi Fukuhara
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指してAkira Inoue
 
Azure DevOps と開発管理
Azure DevOps と開発管理Azure DevOps と開発管理
Azure DevOps と開発管理Tsukasa Kato
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShiftEtsuji Nakai
 
A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...
A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...
A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...日本マイクロソフト株式会社
 
Infra as Code in Azure
Infra as Code in AzureInfra as Code in Azure
Infra as Code in AzureIssei Hiraoka
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Yuki Hattori
 

Similar to .NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ (20)

20170629 技術者向けazure stack_paas
20170629 技術者向けazure stack_paas20170629 技術者向けazure stack_paas
20170629 技術者向けazure stack_paas
 
20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure20190201 Cloud Native Kansai AKS Azure
20190201 Cloud Native Kansai AKS Azure
 
.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化.NETアプリケーションのクラウド最適化
.NETアプリケーションのクラウド最適化
 
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイントG tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
 
[MW11] OSS on Azure で構築する ウェブアプリケーション
[MW11] OSS on Azure で構築する ウェブアプリケーション[MW11] OSS on Azure で構築する ウェブアプリケーション
[MW11] OSS on Azure で構築する ウェブアプリケーション
 
20170719 wintechq azure_stack
20170719 wintechq azure_stack20170719 wintechq azure_stack
20170719 wintechq azure_stack
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
 
Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213Azure container as a service v0.1.19.1213
Azure container as a service v0.1.19.1213
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
 
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みMicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組み
 
Azure Kubernetes Service Overview
Azure Kubernetes Service OverviewAzure Kubernetes Service Overview
Azure Kubernetes Service Overview
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
 
Azure DevOps と開発管理
Azure DevOps と開発管理Azure DevOps と開発管理
Azure DevOps と開発管理
 
Elastic beanstalk
Elastic beanstalkElastic beanstalk
Elastic beanstalk
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
 
A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...
A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...
A02_Azure Kubernetes Service on Azure Stack HCI 、オンプレ・エッジで動く AKS とは? [Microso...
 
Infra as Code in Azure
Infra as Code in AzureInfra as Code in Azure
Infra as Code in Azure
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
 

More from Akira Inoue

New Features in C# 10/11
New Features in C# 10/11New Features in C# 10/11
New Features in C# 10/11Akira Inoue
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 
.NET today and tomorrow
.NET today and tomorrow.NET today and tomorrow
.NET today and tomorrowAkira Inoue
 
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote).NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote)Akira Inoue
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~Akira Inoue
 
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化Akira Inoue
 
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Akira Inoue
 
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!".NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!"Akira Inoue
 
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来Akira Inoue
 
TypeScript and Visual Studio Code
TypeScript and Visual Studio Code TypeScript and Visual Studio Code
TypeScript and Visual Studio Code Akira Inoue
 
Engineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるためにEngineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるためにAkira Inoue
 
Visual Studio Codeで始めるTypeScript
Visual Studio Codeで始めるTypeScriptVisual Studio Codeで始めるTypeScript
Visual Studio Codeで始めるTypeScriptAkira Inoue
 
.NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!).NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!)Akira Inoue
 

More from Akira Inoue (14)

New Features in C# 10/11
New Features in C# 10/11New Features in C# 10/11
New Features in C# 10/11
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
.NET today and tomorrow
.NET today and tomorrow.NET today and tomorrow
.NET today and tomorrow
 
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote).NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
 
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
 
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
 
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!".NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
 
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
 
TypeScript and Visual Studio Code
TypeScript and Visual Studio Code TypeScript and Visual Studio Code
TypeScript and Visual Studio Code
 
Engineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるためにEngineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるために
 
Visual Studio Codeで始めるTypeScript
Visual Studio Codeで始めるTypeScriptVisual Studio Codeで始めるTypeScript
Visual Studio Codeで始めるTypeScript
 
.NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!).NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!)
 

Recently uploaded

IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 

Recently uploaded (12)

IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 

.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ

  • 1. 井上 章 (いのうえ あきら) @chack411 マイクロソフト コーポレーション グローバル ブラックベルト テクノロジー ソリューション プロフェッショナル
  • 2. Microsoft .NET TV Commercial (2002)
  • 4. クラウドの利用形態と Azure のサービス範囲 Tradition On-Premises (オンプレ) 設定 コード スケーリング ランタイム OS 仮想化 ハードウェア Infrastructure as a Service (IaaS) 設定 コード スケーリング ランタイム OS 仮想化 ハードウェア Containers as a Service (CaaS) 設定 コード スケーリング ランタイム OS 仮想化 ハードウェア Platform as a Service (PaaS) 設定 コード スケーリング ランタイム OS 仮想化 ハードウェア Function as a Service (FaaS) 設定 コード スケーリング ランタイム OS 仮想化 ハードウェア Software as a Service (SaaS) 設定 コード スケーリング ランタイム OS 仮想化 ハードウェア ユーザー管理 ベンダー管理 Cloud Native
  • 7. .NET のクラウドネイティブを支える Azure サービス Azure Cosmos DB Azure Storage Azure SignalR Service Azure Cognitive Services Azure SQL Database Azure Functions Azure Monitor Azure Kubernetes Service (AKS) Azure App Service Azure Virtual Machines Fully managed platform for running .NET applications Container orchestrator for Linux workloads (.NET Core) Serverless, event driven tasks Fully managed real-time web functions Commoditized AI for .NET Framework and .NET Core Application performance and usage monitoring Store anything great for binaries Relational database Non-relational database
  • 9. Docker Containers クラウドからオンプレミスまで どこでも実行可能な高速で軽量な アプリケーション / サービスの 配置, 運用, 管理, 自動化のための技術 コンテナー型のアプリ仮想化技術 ◼ ネットワークやリソースを分離 ◼ 高速かつオーバーヘッドの少ない配置展開 ◼ オープンソース WindowsLinux
  • 10. 仮想マシンと Docker Containers Infrastructure Infrastructure Host Operating System Hypervisor Guest OS Bins/Libs App 1 Guest OS Bins/Libs App 2 Guest OS Bins/Libs App 3 Bins/Libs App 1 Bins/Libs App 2 Bins/Libs App 3 Container Runtime / Docker Engine Host Operating System • アプリケーションのポータビリティ • 開発, QA, 運用環境の標準化, OS やインフラ環境の抽象化 • 高速起動、スケーラビリティの確保、リソース配分の最適化
  • 11. Why Containers ? Write-once, Run-anywhere ‘Write-once, Run-anywhere’ マイクロサービス アーキテクチャ対応 Dev/Test の効率化 確実な Production 環境の配置 Developer Community の成長 アプリケーションのポータビリティ 開発, QA, 運用環境の標準化 OS やインフラ環境の抽象化 リソース配分の最適化 高速起動、スケーラビリティの確保 DevOps Developers Operations
  • 12. Docker Containers ~ 共通デプロイ単位 Optionsofcompute Azure Web App for Containers Service Fabric Ma en Azure Kubernetes Service (AKS) Leverage the Azure platform designed for your container needs Keep using the platform of your choice, running great on Azure Azure Container Registry Docker Hub, private registry Visual Studio tools InteliJ Jenkins Redhat Openshift Container Platform Pivotal Cloud Foundry Kubernetes
  • 13. Web App for Containers Docker コンテナーの実行基盤として最適化された PaaS プラットフォーム
  • 14. ◼ Docker CLI ◼ Azure CLI, SSH ◼ Visual Studio 2017/2019 コンテナー サポート (Build, Debug) ◼ Visual Studio Code & Docker 拡張機能 ◼ Docker Image の管理 • Docker Hub • Azure Container Registry • Private Registry Container 開発とツールサポート
  • 15. Container 開発ライフサイクル (シナリオ例) Azure 開発環境 git push pull, clone docker push CD (Webhook) docker push
  • 16. Blue/Green デプロイメント (Immutable Infrastructure) 一度構築した環境を修正しない手法 Blue – 既存環境 Green – 新規環境 DNS ロードバランサー トラフィック
  • 17. カナリア リリース 95% traffic 5 % • 更新をカナリアクラスタに デプロイ • 受け入れ試験実施 • 少しのトラフィックをカナリア クラスタに流し、順次増やして いく Primary Cluster Canary Cluster 2. 新しいサービスのデプロイと試験 • 100% のトラフィックを カナリアクラスタに送信 • 古いプライマリークラスタは廃棄 • 必要があればロールバック 100% traffic (Old) Primary Cluster New Primary Cluster 3. 試験が終われば完全スイッチ • デプロイ準備 • カナリアクラスタ作成 • カナリアリリースの準備 Primary Cluster 100% traffic Canary Cluster 1. アップグレード準備 • 新しいサービスや機能を一部ユーザに先行リリース、その後全リリースする手法 (Dark Launch とも呼ばれる) • Blue/Green デプロイメントや A/B テストも類似の手法
  • 18. Azure App Service のデプロイ スロット
  • 23. • Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能 • マネージドな Kubernetes クラスターをチームで共有して共同作業可能 • 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、 他のコンポーネントと併せてエンド ツー エンドのテストを実行 • さまざまな開発言語/フレームワーク、Windows, macOS, Linux で利用可能 • 開発とプロダクションで同一の Docker / Helm 環境を利用 Azure Dev Spaces (Preview) http://web-frontend.bd0cfb25.../aksapp.io http://scott.s.web-frontend.bd0cfb25.../aksapp.io Scott
  • 24. マイクロサービスへのダイレクト コミュニケーション ダイレクト コミュニケーションの課題 • バックエンドへのリクエストの最小化 • 認証、データ変換、動的な要求の ディスパッチ • 非インターネット対応プロトコルを使 用するサービスとの通信 • モバイル アプリ向けの通信の最適化
  • 25. API ゲートウェイ パターン / BFF (Backend for Frontend)
  • 30. 移行 / Rehost Re-architect/Rebuild, コード修正 既存アプリ & サービス (オンプレミス) Relational Database On-premises クラウド インフラ対応 (IaaS) VMs Azure モダナイズ 最小限のコード修正Lift & Shift, コード修正なし .NET アプリのモダナイズとクラウド ネイティブ クラウド最適化 (PaaS) Azure Windows Containers クラウド ネイティブ (PaaS, CaaS, FaaS) Azure
  • 31. • .NET Core / ASP.NET Core • .NET Framework / ASP.NET .NET Core と .NET Framework の選択
  • 32. • .NET Framework, ASP.NET のモダナイズ • Windows Containers on Azure VM • Web App for Containers - Windows Containers Support (Preview) • AKS – Windows Containers Support (Preview), Windows node on Kubernetes • Azure Service Fabric • Azure Container Instances (ACI), AKS 仮想ノード (Virtual Kubelet) + ACI .NET アプリのクラウド移行パターン 🌞
  • 33. • .NET Core のクラウドネイティブ & マイクロサービス シナリオ • Web App for Containers (シングル コンテナー構成) • AKS (Azure Kubernetes Service), ACI (Azure Container Instances) • Windows Containers on Azure VM • Web App for Containers – Windows Containers Support (Preview) • AKS – Windows Containers Support (Preview), Windows node on Kubernetes • Azure Service Fabric • ACI, AKS 仮想ノード (Virtual Kubelet) + ACI .NET Core アプリのクラウド移行パターン 🌞
  • 34. .NET ~ すべてのアプリのための統一プラットフォーム .NET Framework / .NET Core / Xamarin INFRASTRUCTURE .NET Standard DESKTOP WPF/Win Forms UWP WEB ASP.NET MOBILE Xamarin GAMING Unity CLOUD Azure IoT ARM32 ARM64 AI ML.NET .NET Apache Spark
  • 35. .NET 5 ~ すべてのアプリのための統一プラットフォーム .NET 5(Nov 2020) INFRASTRUCTURE .NET Standard DESKTOP WPF/Win Forms UWP WEB ASP.NET MOBILE Xamarin GAMING Unity CLOUD Azure IoT ARM32 ARM64 AI ML.NET .NET Apache Spark
  • 38. © 2018 Microsoft Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。 © 2019 Microsoft Corporation. All rights reserved. 本情報の内容 (添付文書、リンク先などを含む) は、de:code 2019 開催日 (2019年5月29~30日) 時点のものであり、予告なく変更される場合があります。 本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。