日本マイクロソフト株式会社
デベロッパー エバンジェリズム統括本部
テクニカル エバンジェリスト
井上 章 (いのうえ あきら)
Any developer, Any app, Any platform
.NET Core と Container, そして Azure Web Apps on Linux
による Web アプリ開発最前線
井上 章 (いのうえ あきら)
テクニカル エバンジェリスト
http://aka.ms/chack
2008 年マイクロソフト入社。
主に .NET/ASP.NET や Visual Studio,
Microsoft Azure などの開発技術を専門とする
エバンジェリストとして、技術書籍やオンライ
ン記事などの執筆、さまざまな技術イベントで
の講演などを行う。
✓ .NET Core と .NET Standard の最新動向を知る
✓ クラウド ネイティブ アプリの実装における
Container と Azure Web Apps の活用について学ぶ
セッションのゴール
Session Takeaways
.NET とは?
ライブラリランタイム 言語 ツール
CLR System.*
Microsoft.*
etc...
CLI
C#, F#, VB
etc...
Visual Studio
etc...
CLR: Common Language Runtime
CLI: Common Language Infrastructure (共通言語基盤)
.NET Standards: https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/dotnet-standards.md
OS (Windows)
共通言語ランタイム
(CLR : Common Language Runtime)
各種ライブラリ
共通言語基盤
(CLI : Common Language Infrastructure)
VB C# C++ • .NET 対応の開発言語を利用可能
• 型などの共通仕様
• 言語間のコンポーネント呼び出しが可能
• IO, ネットワーク, 暗号化 …
• ASP.NET, ADO.NET …
• 実行制御
(メモリ管理, スレッド制御, 例外処理, セキュリティ …)
・・・
4.74.64.51.0 1.1 2.0 3.0 3.5 4.0
2002
2005
2008
2010
20122003
1.0 1.1 2.0 4.0
1.1 2.0
4.0 4.53.0
3.5
1.0
2013
4.6
4.6.1
2015
4.6.2
4.5.1
4.5.2
4.7
2017
 High DPI サポート – Windows Forms on Windows 10
 Touch サポート – WPF on Windows 10
 Enhanced cryptography
 C# 7 and VB 15, including ValueTuple
 .NET Standard 1.6
 パフォーマンスと信頼性の向上
サポートされる Windows バージョン
 Windows 10 Creators Update (RS2), Windows 10 Anniversary Update (RS1), Windows 8.1, Windows 7 SP1
 Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 SP1
https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/
https://docs.microsoft.com/ja-jp/dotnet/articles/framework/winforms/high-dpi-support-in-windows-forms
.NET Framework 4.7 (GA)
.NET Framework & .NET Core
RyuJIT, SIMD
Runtime Compilers
.NET Compiler Platform (“Roslyn”)
C#/F#/VB Languages
.NET Core 2.0 Libraries
.NET Framework 4.7 Libraries
Libraries
.NET Framework 4.7 .NET Core
Fully-featured and integrated
.NET libraries and runtime for Windows
Modular and optimized
.NET libraries and runtimes
Announcing
.NET Core 2.0 (Preview)
github.com/dotnet
github.com/aspnet
.NET Core 2.0 Preview Install: https://www.microsoft.com/net/core/preview
.NET FRAMEWORK .NET CORE XAMARIN
アプリ
モデル
ベース
ライブラリ
.NET FRAMEWORK .NET CORE XAMARIN
アプリ
モデル
ベース
ライブラリ
.NET FRAMEWORK .NET CORE XAMARIN
.NET FRAMEWORK .NET CORE XAMARIN
https://docs.microsoft.com/ja-jp/dotnet/articles/standard/library
https://github.com/dotnet/standard
https://docs.microsoft.com/ja-jp/dotnet/api/
Visual Studio Preview
https://www.visualstudio.com/vs/preview/
プラットフォームの変化
201620001990 2010
Cloud Native Apps
クラウドスケールのアプリケーション実行基盤
Web Apps
Mobile Apps
Logic Apps
API Apps
Azure App Service
Functions
Containers + Docker
 コンテナー型のアプリ仮想化技術
 コンテナー間は分離
 OS カーネルや各種ライブラリ等は共有
 高速かつオーバーヘッドの少ない
デプロイ、再起動、移行
 オープンソース
App
A
Hypervisor (Type 2)
Host OS
Infrastructure
Guest
OS
Bins/
Libs
App
A’
Gues
t
OS
Bins/
Libs
App
B
Gues
t
OS
Bins/
Libs
VM
Guest
OS
Guest
OS
AppA’
Host OS
Infrastructure
Bins/Libs
AppA
Bins/Libs
AppB
AppB’
AppB’
AppB’
Container
Docker Engine
Visual Studio 2017
Containers Support
Integrated Docker tooling
Multi-container support
Easily deploy containers to Azure
Linux ベースの PaaS サービス & コンテナー実行基盤
Azure Web App on Linux (Public Preview)
Azure Functions
サーバーレス = サーバーの存在を意識しない開発
イベント駆動、スケール構成不要
リソース使用量と関数実行回数に基づく課金
C#, .NET Framework, .NET Core をサポート
Visual Studio によるデバッグ、テスト、デプロイ
https://dot.net/architecture
.NET FRAMEWORK .NET CORE XAMARIN
アプリモデル
の革新
.NETの革新
TOOLS
Building cloud native apps
with your Code
Microsoft Developers
https://www.microsoft.com/net/core/preview
https://docs.microsoft.com/ja-jp/dotnet/articles/standard/library
https://www.visualstudio.com/vs/preview/
https://www.microsoft.com/net/architecture
https://docs.microsoft.com/ja-jp/dotnet/api/
© 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線