17. インフラの効率化から、アプリケーションのイノベーションへビジネス価値
時間
効率
イノベーション
PaaS
IaaS
サーバーレス
466% return on investment
$5.91M net present value
80% IT time saved
50% faster service deployment
Statistics based on five-year, risk-adjusted figures for a composite organization constructed from aggregated interviews with eight Microsoft Azure IaaS customers.
Source: “The Total Economic Impact Of Microsoft Azure PaaS,” a commissioned study conducted by Forrester Consulting, June 2016
43. 最適なベース イメージの選択
イメージ容量 100 Mb 1.49 Gb 3.57 Gb
フレームワーク .NET Core .NET Framework Win32 API Set
ユースケース 新しいアプリ
旧来のサーバー
ワークロード
DirectX, print server,
新しいアプリ体験
提供開始バージョン
Windows Server
2016
Windows Server
2016
Windows Server
2019
44. イメージ容量 100 Mb 1.49 Gb 3.57 Gb
フレームワーク .NET Core .NET Framework Win32 API Set
ユースケース 新しいアプリ
旧来のサーバー
ワークロード
DirectX, print server,
新しいアプリ体験
提供開始バージョン
Windows Server
2016
Windows Server
2016
Windows Server
2019
dotnet/core
microsoft/powershell
dotnet/framework
microsoft/aspnet
microsoft/iis
microsoft/wcf
(open for adoption)
最適なベース イメージの選択
45. Windows Server コンテナー 関連ストリーミング
Microsoft de:code 2019 (2019年5月29日15:10 – 16:00)
「Windows ContainersとAzureによる、既存.NETアプリケーション
のモダナイズ」
https://www.microsoft.com/ja-
jp/events/decode/2019session/detail.aspx?sid=CD01
Azure ウェビナー (2018年11月27日16:30 – 17:30)
「Windows ServerコンテナーとWindows Subsystem for Linuxの
進化」
https://info.microsoft.com/JA-AzureINFRA-WBNR-FY19-
11Nov-27-WindowsServer2019FullIntroduction-
MCW0009200_01Registration-ForminBody.html
※ 視聴、およびスライド(PDF)の入手には、いずれも、ユーザー登録が必要です。
46. シナリオ1: 既存ASP.NET Webアプリのコンテナ化
ブラウザ上のMVC
アプリ SQL Server
Windows Container
HTTP
Docker ホスト (PC 上の開発環境)
Windows 10 以降
Docker for Windows
Mock
data
(*) SQL Serverのコンテナーは、開発/テスト環境向けです。
本番環境では、Azure SQL Databaseのような高可用性
システムへ移行してください。
eShop
Product
Catalog
database
(*)
47. Visual Studio (Windows)
Visual Studio for Mac
Visual Studio Code (クロスプラットフォーム)
Support for:
- Docker - Windows コンテナー
- Docker - Linux コンテナー
- docker-compose への展開を統合
- マルチコンテナーのアプリケーション デバッグ
による、
既存アプリのコンテナ化
48. シナリオ2: Dockerレジストリ経由で、Azure VM ( Windows Server 2019 ) を展開
テスト環境用仮想マシン
Windows Server 2016 以降の Docker Engine
Docker engine と
Docker CLI
docker pull
PC 上の開発環境
Windows 10 以降のDocker for Windows
Windows Server Core Container上の
ASP.NET (.NET Framework)
Windows Server Core Container上の
SQL Server
Docker engine と
Docker CLI
ローカルの
Docker イメージ
レポジトリー
docker push
Container Registry
Docker Hub
もしくは
Azure Container Registry
docker-compose build
or
docker build (*) SQL Serverのコンテナーは、開発/テスト環境向けです。
本番環境では、Azure SQL Databaseのような高可用性システムへ移行してください。
(*)
Docker-compose up
ローカルの
Docker イメージ
レポジトリー
49. シナリオ3: Dockerレジストリ経由で、Azure Container Instance (ACI)へ展開
Azure Container Instances
(ACI)
PC 上の開発環境
Windows 10 以降のDocker for Windows
Windows Server Core Container上の
ASP.NET (.NET Framework)
Windows Server Core Container上の
SQL Server
Docker engine and
Docker CLI
ローカルの
Docker イメージ
レポジトリー
docker push
Docker Registry
Docker Hub
もしくは
Azure Container Registry
docker-compose build
or
docker build
パブリックIP
と DNS名
エンドポイント
Azure Cloud Shell と
Azure CLI コマンド
もしくは、Azure Portal
(*) SQL Serverのコンテナーは、開発/テスト環境向けです。
本番環境では、Azure SQL Databaseのような高可用性システムへ移行し
てください。
(*)
New! (GA)
Windows Container (and Linux)
Support in ACI
52. コンテナー 展開先の選択肢
Azure Container Instances (ACI)
Azure Virtual Machine ( Windows Server 2016/2019 )
Docker Engine
Azure App Service
(Windows Containers対応はプレビュー)
Azure Kubernetes Service
(Windows Containers対応はプレビュー)
Service Fabric (Mesh or cluster)
(Service Fabric meshはプレビュー)
53. 実運用環境での要件
Azure SQL Database
もしくは、
Azure SQL Database Managed Instance
もしくは
オンプレミスのSQL Server クラスター
✓ 高可用性
✓ PaaS サービス
Windows Server Core Container上の
SQL Server
Windows コンテナーのスケールアウトを簡素化するには?
かつ、IaaS/VM の運用をなくすには?
DataCompute
✓ コンテナー用のコンピュート サービスの管理
✓ スケール アウト
54. Azure App Service for Containers
(Windows Containersサポート)
PC上の開発環境
Windows 10
Docker for Windows
Windows Server Core Container上の
ASP.NET (.NET Framework)
Windows Server Core Container上の
SQL Server
Docker engine and
Docker CLI
ローカルの
Docker イメージ
レポジトリー
docker
push
Docker Registry
Docker Hub
もしくは
Azure Container Registry
docker-compose build
or
docker build
(パブリック プレビュー)
Windows Containers
PaaS
スケールアウト コンテナー
Azure SQL Databas
(*) Visual Studio Tooling coming soon for App Service and Windows Containers
https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-windows-container-support-in-azure-app-service/
シナリオ6: Azure App Service for Windows コンテナ (プレビュー) への展開
55. Azure App Service での Windows コンテナーに対する
Windows Server 2019 のサポート開始
https://azure.microsoft.com/ja-jp/blog/windows-server-2019-support-now-available-for-windows-containers-on-azure-app-service/
お試しの際にはバージョンとリージョンにご注意を!
56. シナリオ5: Azure Service Fabric Cluster / Mesh への展開
Azure Service Fabric Cluster
( Mesh はPreview )PC上の開発環境
Windows 10
Docker for Windows
Windows Server Core Container上の
ASP.NET (.NET Framework)
Windows Server Core Container上の
SQL Server
Docker engine と
Docker CLI
ローカルの
Docker イメージ
レポジトリー
docker
push
Docker Registry
Docker Hub
もしくは
Azure Container Registry
docker-compose build
or
docker build
パブリック IP
パブリック
エンドポイント
(*) SQL Serverのコンテナーは、開発/テスト環境向けです。
本番環境では、Azure SQL Databaseのような高可用性システムへ移行してください。
Network
(Ingress
Reverse
Proxy)
HTTP ポート
その他ポート
スケールアウト コンテナー
https://azure.microsoft.com/en-us/blog/azure-service-fabric-mesh-is-now-in-public-preview/
57. Windows
Services
IIS Website
WCF Web
Services
レガシー アプリケーション スタック
Data Migration Serviceや
SQL Managed Instanceを使ったデータ移行
Windows
Services
IIS Website
WCF Web
Services
レガシー アプリケーション
のコンテナー
コンテナーを使ったアプリケーションのモダナイズ
Azure Container
Registry
Service Fabric で .NET アプリケーションをモダナイズ
58. Azure Service Fabricでアプリケーションをモダナイズ
https://docs.microsoft.com/ja-jp/azure/architecture/service-fabric/modernize-app-azure-service-fabric
メリット: DevOpsへの対応、コンピューティング リソースの最適化 (VMよりも有効
活用)、マイクロソフトの一貫したサポート、豊富な事例
Service Fabric のコンテナー サポートへの移行に適したアプリケーション
• データベースに依存しない HTTP/HTTPS Web およびアプリケーション層
(DBや、Windows Server Active Directoryなどは、Service Fabric クラスターの外部に存在することが前提)
• ステートレス Web アプリケーション
• .NET Framework バージョン 3.5 以降でビルド
• ハードウェアに依存するアプリや、デバイス ドライバーにアクセスするアプリは不可
• アプリケーションは、Windows Server 2016 以降のバージョン
• .NET アセンブリ、WCF、COM+ など、ほとんどの依存するコンポーネントをコンテナー化 (MSMQはプレビュー)
• アプリケーションは Visual Studio でコンパイルおよびビルド
60. 構成とオーケストレーション
Kubernetes
Googleが始めた、オープン ソース プロジェクト
2015年6月21日、Joe Bedaと、 Brendan Burns、Craig
McLuckie によって、 Kubernetes v1.0 がリリース
2016年7月12日、Brendan BurnsがMicrosoftでAzure上の開
発に参画
2018年8月29日、Googleは、Cloud Native Computing
Foundation® (CNCF®)へKubernetesプロジェクトのオーナーシップ
と管理の移管を開始
Apprenda が主導するコミュニティで、Windowsサポートを追加
VANCOUVER, Canada – August 29, 2018 – Open Source Summit North America – The Cloud
Native Computing Foundation® (CNCF®), which sustains and integrates open source
technologies like Kubernetes® and Prometheus™, today announced that Google Cloud has
begun transferring ownership and management of the Kubernetes project’s cloud
resources to CNCF community contributors.
(https://www.cncf.io/announcement/2018/08/29/cncf-receives-9-million-cloud-credit-grant-
from-google/ より抜粋)
61. Azure Kubernetes Service での Windows Server
コンテナー サポートのプレビューのお知らせ (2019年5月17日)
https://azure.microsoft.com/ja-jp/blog/announcing-the-preview-of-windows-server-containers-support-in-azure-kubernetes-service/
※ Windows Server コンテナー サポートを有効にする場合、同時に、複数ノードプール ( 2019/05/06 Preview ) と、VMSSサポート ( プ
レビュー )が有効になります。
70. Service Fabric コンテナー サポートのロードマップ
https://mybuild.techcommunity.microsoft.com/sessions/77069
71. 今後の予定
Service Fabric Mesh プレビュー
Spring 2019 Refresh リリースService Fabric リソース モデル
Applications and Services
Networks
Secrets
Volumes
Gateways / routing rules
Auto-scale rules
https://mybuild.techcommunity.microsoft.com/sessions/77069
72. Service Fabric Mesh プレビュー – 昨年初旬
Mesh RP /Control Plane
Service Fabric Cluster 1
(5000 Nodes, 80000 Cores)
Service Fabric Clusters Pools
SF resource
Model
https://mybuild.techcommunity.microsoft.com/sessions/77069
73. Service Fabric Mesh プレビュー – 昨年後半
SF resource
Model
Mesh RP / Control Plane
Service Fabric Cluster 1
(5000 Nodes, 80000 Cores)
Service Fabric Cluster n
(5000 Nodes, 80000 GPU Cores)
Linux Functions
Service
Functions
definition
https://mybuild.techcommunity.microsoft.com/sessions/77069
74. Service Fabric Mesh プレビュー – 昨年末
Linux Functions
Service
Functions
definition
Mesh RP / Control Plane
Service Fabric Cluster 1
(5000 Nodes, 80000 Cores)
Service Fabric Cluster n
(5000 Nodes, 80000 GPU Cores)
SF resource
Model
container
groups
networks secrets volume auto scale
update
policies
. . . . . .. . . . . .
https://mybuild.techcommunity.microsoft.com/sessions/77069
75. Service Fabric Mesh プレビューの進化
Linux Functions
Service
Functions
definition
Mesh RP / Control Plane
Service Fabric Cluster 1
(5000 Nodes, 80000 Cores)
Service Fabric Cluster n
(5000 Nodes, 80000 GPU Cores)
container
groups
networks secrets volume auto scale
update
policies
. . . . . .. . . . . .
Evolved app
model Service
OSS friendly App
Package Definition
https://mybuild.techcommunity.microsoft.com/sessions/77069
76. Service Fabric Mesh プレビューの進化
Linux Functions
Service
Functions
definition
Atlas RP / Control Plane
Service Fabric Cluster 1
(5000 Nodes, 80000 Cores)
Service Fabric Cluster n
(5000 Nodes, 80000 GPU Cores)
container
groups
networks secrets volume auto scale
update
policies
. . . . . .. . . . . .
Evolved app
model Service
OSS friendly App
Package Definition
ACI
Future
Serverless
Multitenant
Services
https://mybuild.techcommunity.microsoft.com/sessions/77069
87. 悪い例 – 独立してビルド & リリースできない
Release
Dev team A
Dev team B
Dev team C
Dev team D
Dev team E
Production
.
.
.
一般的な依存関係
• データ スキーマ
• メッセージ スキーマ
• API経由で、サービス内部を公開
• フレームワークやライブラリーのバージョン
• コンポーネントの共有
91. クラウド ネイティブ: エンタープライズ ビジネス API
我々のデジタル統合シナリオをホストする、堅牢でスケーラブルなプラットフォームは、Service
Fabricに依存している。デジタル統合シナリオでは、 Reliable Service内のステートフルとコンテ
ナー内のステートレスを、1つのプラットフォームに共存できる。
Kai Walter, Lead IT Solution Architect ZEISS Group
要件: 光学機械からのテレメトリー データを取得し、使用状況を判断。メンテナンスと他のバッ
クオフィスシステムを統合
ソリューション: 既存のコードと新しいマイクロサービスを一緒に、Windows コンテナーで実行し、API
Management を使用して REST API を使用してビジネス アプリケーションを安全に公
開します。 俊敏性の向上により、開発者は、ステートレス/ステートフルなワークロードに対
するマイクロサービス ベースのプラットフォームを簡単に更新できます。
Azure API Management は、テレメトリを分析するためにバックオフィス システムに統
合するために使用されます。
Carl Zeiss バックエンド システムとフィールド デバイスを接続するすることによるスマート デバイス
https://customers.microsoft.com/ja-jp/story/zeiss-manufacturing-azure
92. Carl Zeiss 社事例: Digital integration architecture
API management
Transport, transformation and state
(optional) Business process orchestration
CRM B2CCRM B2BERPMail LicensingCompliance
Microsoft Ignite 2018: BRK2200 – Expose APIs with peace of mind when using API Management
https://myignite.techcommunity.microsoft.com/sessions/65903