~ Cloud First から Cloud Optimized へ~.NET on Cloud が描くモダナイゼーション
井上 章 (いのうえ あきら) http://aka.ms/chack
日本マイクロソフト株式会社
デベロッパー エクスペリエンス & エバンジェリズム統括本部
エバンジェリスト
マイクロソフトの今を知る
ASP.NET vNext の概要と .NET のこれからを学ぶ
クラウド最適化とモダナイゼーションの流れを知る
セッションのゴールSession Takeaways
全ての机に家庭にコンピューターを
Digital Life
Digital Work
デバイスの急速な増大
マイクロソフトのフォーカス
Satya Nadella, Chief Executive Officer, Microsoft Corporation
1
2
3
4
4.5.2
Update 2
“To move beyond today’s world of stand-alone Web sites to an
Internet of interchangeable components where devices and
services can be assembled into cohesive, user-driven experiences”
Bill Gates on the goal for .NET
Forum 2000
“Web サイトが個々に独立している状態から、交換可能なコンポーネントからなる
インターネットへと移行し、さまざまな デバイスとサービス を組み合わせること
で一貫性のあるユーザー主導のエクスペリエンスを実現する”
.NET 構想における初期のビジョンDevices and Services
Microsoft .NET TV Commercial (2002)
.NET とは?
ライブラリランタイム 言語 ツール
.NET Framework の構成
OS
共通言語ランタイム(CLR : Common Language Runtime)
各種ライブラリ
共通言語基盤(CLI : Common Language Infrastructure)
VB C# C++ • .NET 対応の開発言語を利用可能
• 型などの共通仕様• 言語間のコンポーネント呼び出しが可能
• IO, ネットワーク, 暗号化 …
• ASP.NET, ADO.NET …
• 実行制御(メモリ管理, スレッド制御, 例外処理, セキュリティ …)
・・・
"More and more of ASP.NET is open source. We want to make ASP.NET more pluggable, more open, more fun."
"We've got big things planned - some that will surprise you."
February 25, 2012by Scott Hanselman
One ASP.NET 構想One ASP.NET Vision
Katana Project
Helios
OWIN, Katana Project と HeliosKatana Architecture
OWIN
OWIN = Open Web Interface for .NET : http://owin.org/
.NET における Web サーバーと Web アプリケーションを疎結合にするための抽象化インターフェース定義
Katana Project : http://katanaproject.codeplex.com/
OWIN の MS プラットフォーム実装プロジェクト
名前空間 : Owin, Microsoft.Owin ..., Microsoft.AspNet.WebAPI.Owin
Helios
System.Web 非依存で、直接 IIS 上で動作する軽量 OWIN サーバー
OWIN, Katana Project と HeliosNew Approach to building .NET
Cloud optimized (クラウド最適化)
モジュラー設計 (NuGet)
オープン ソース (.NET Foundation)
コンパイル不要の開発と配置 (Roslyn)
Windows, Mac, Linux での実行 (Mono Project)
完全な Side by Side 実行
依存性の注入 (Dependency Injection)
高速化, 低メモリ使用量と高スループット
クラウドへ最適化 (設定, デバッグ, ロギング, キャッシュ …)
ASP.NET vNext (Next Version)Summary of ASP.NET vNext
www.asp.net/vnext : github.com/aspnet
KRuntime (KRE)
vNext アプリケーションのビルド・実行環境, SDK
Core CLR, Application Host, Roslyn Loader, …
K command
ランタイム エントリ ポイント
例: “k run”, “k web”, …
K Version Manager (KVM)
KRE バージョン管理 : install, upgrade, list, use, alias
K Package Manager (KPM)
アプリケーションのパッケージ管理 : restore, install, pack
ASP.NET vNext : ランタイムASP.NET vNext Runtime
KRE
K
App
KVM
KPM
project.json
ランタイム バージョンや依存関係などの実行に必要な情報を記述
Visual Studio 設定などの開発ツール関連情報は含まない
ASP.NET vNext : プロジェクト設定ASP.NET vNext Runtime
{"dependencies": {"Microsoft.AspNet.ConfigurationModel": "0.1-alpha-*",
}"commands": {"web": "Microsoft.AspNet.Hosting server= ..."
},"configurations": {"net451": {"dependencies": { ... }},"k10": {"dependencies": { ... }}
}}
レイヤー 4
アプリケーション
レイヤー 3
アプリケーション
アプリケーション ホスト
レイヤー 2
マネージド エントリ ポイント
レイヤー 1
CLR ネイティブ ホスト
レイヤー 0
ネイティブ プロセス
ASP.NET vNext : KRuntime構造KRuntime Structure
https://github.com/aspnet/Home/wiki/KRuntime-structure
(aspnet/Home/samples/HelloWeb/image.jpg)
KR
un
tim
eK
Ho
stA
pp
s
Web Forms, MVC 5, Web API 2, Web Pages 3, SignalR 2, EF 6
.NET vNext でフル サポート
MVC, Web API, Web Pages 6, SignalR 3, EF 7
MVC / Web API / Web Pages の統合と SignalR 3 のサポート
新しいプロジェクト (*.kproj) と設定 (project.json)
System.Web 非依存, 新しい軽量 HttpContext (NOT System.Net.Http)
.NET vNext
.NET Framework サブセット (Cloud Optimized) : Core CLR (k10)
.NET Framework フルセット : Desktop CLR (net451)
ASP.NET vNextの互換性Compatibility of ASP.NET vNext
次期バージョン Visual Studio “14” CTP 2 リリース
CTP : Community Technology Preview
RTM (正式リリース) は 2015 年を予定
Go-live ライセンスではないため運用環境で利用不可
Azure 仮想マシン イメージが利用可能
Windows Server 2012 R2 + Visual Studio “14” Professional CTP 2
ASP.NET vNext Visual Studio “14” CTP 2 で vNext プロジェクト テンプレートが利用可能 (.kproj)
新しい設定システム (project.json) の採用
Visual Studio “14” CTP 2 & ASP.NET vNextCommunity Technology Preview
モダンWeb と ASP.NET の今後Modern Web and ASP.NET vNext
エディターや開発ツールの選択
オープンソースへの貢献 クロスプラットフォームOSS
クラウドへシームレスな移行
迅速な開発サイクルモジュール化
パフォーマンス向上
OSS
API
C#VB
.NET の今後Future of .NET
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
ランタイム コンパイラー.NET Compiler Platform (“Roslyn”)
Languages innovation
BCL and PCL
Entity Framework
ライブラリ
.NET Foundation 設立
.NET Foundation for Openness
.NET API for Hadoop WebClient
.NET Compiler Platform ("Roslyn").NET Map Reduce API for Hadoop
.NET Micro Framework
ASP.NET MVC
ASP.NET Web API
ASP.NET Web Pages
ASP.NET SignalR
Composition (MEF2)
Entity Framework
Linq to Hive
MEF (Managed Extensibility Framework)
OWIN Authentication Middleware
Rx (Reactive Extensions)
Web Protection Library
Windows Azure .NET SDK
Windows Phone Toolkit
WnsRecipe
Mimekit Xamarin.Auth
Xamarin.Mobile
Couchbase for .NET
http://www.dotnetfoundation.org@dotnetfdn // #dotnetfdn
Mailkit
System.Drawing
ASP.NET Official Web Site
http://www.asp.net/
ASP.NET で作るWeb アプリケーション構築ジャンプスタート
http://www.microsoftvirtualacademy.com/training-courses/733552de-3921-4cca-8834-3e34ecedb9ab
ASP.NET MVC 4 Web アプリケーションの開発ジャンプスタート
http://www.microsoftvirtualacademy.com/training-courses/developing-asp-net-mvc-4-web-applications-
jump-start-japanese
Building Modern Web Apps
http://channel9.msdn.com/Series/Building-Modern-Web-Apps
An Overview of Project Katana
http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
Introducing ASP.NET Project “Helios”
http://blogs.msdn.com/b/webdev/archive/2014/02/18/introducing-asp-net-project-helios.aspx
関連リソースResources
aspnet – GitHub : https://github.com/aspnet
ASP.NET vNext : Official ASP.NET Web Site
Blog Posts :
Introducing ASP.NET vNext
ASP.NET vNext Overview
TechEd 2014 NA Sessions :
Introducing the future of .NET on the server
Deep Dive the future of .NET on the server
Channel 9 Live: ASP.NET Developer Q&A
ASP.NET vNext関連リソースResources for ASP.NET vNext
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and
Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.