~ cloud first から cloud optimized へ ~ .net on cloud が描くモダナイゼーション

38
Cloud First から Cloud Optimized . NET on Cloud が描く モダナイゼーション 井上 章 (いのうえ あきら) http ://aka.ms/chack 日本マイクロソフト株式会社 デベロッパー エクスペリエンス & エバンジェリズム統括本部 エバンジェリスト

Upload: akira-inoue

Post on 15-Jan-2015

1.606 views

Category:

Technology


2 download

DESCRIPTION

Developers Summit 2014 Summer A-2 セッション資料です。

TRANSCRIPT

Page 1: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

~ Cloud First から Cloud Optimized へ~.NET on Cloud が描くモダナイゼーション

井上 章 (いのうえ あきら) http://aka.ms/chack

日本マイクロソフト株式会社

デベロッパー エクスペリエンス & エバンジェリズム統括本部

エバンジェリスト

Page 2: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

マイクロソフトの今を知る

ASP.NET vNext の概要と .NET のこれからを学ぶ

クラウド最適化とモダナイゼーションの流れを知る

セッションのゴールSession Takeaways

Page 3: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 4: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

全ての机に家庭にコンピューターを

Page 5: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

Digital Life

Digital Work

Page 6: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

デバイスの急速な増大

Page 7: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 8: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 9: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 10: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

マイクロソフトのフォーカス

Satya Nadella, Chief Executive Officer, Microsoft Corporation

1

2

3

4

Page 11: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 12: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

4.5.2

Update 2

Page 13: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

“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

Page 14: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

Microsoft .NET TV Commercial (2002)

Page 15: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

.NET とは?

ライブラリランタイム 言語 ツール

Page 16: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

.NET Framework の構成

OS

共通言語ランタイム(CLR : Common Language Runtime)

各種ライブラリ

共通言語基盤(CLI : Common Language Infrastructure)

VB C# C++ • .NET 対応の開発言語を利用可能

• 型などの共通仕様• 言語間のコンポーネント呼び出しが可能

• IO, ネットワーク, 暗号化 …

• ASP.NET, ADO.NET …

• 実行制御(メモリ管理, スレッド制御, 例外処理, セキュリティ …)

・・・

Page 17: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 18: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

"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

Page 19: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

One ASP.NET 構想One ASP.NET Vision

Page 20: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

Katana Project

Helios

OWIN, Katana Project と HeliosKatana Architecture

OWIN

Page 21: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

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

Page 22: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

Cloud optimized (クラウド最適化)

Page 23: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

モジュラー設計 (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

Page 24: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

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

Page 25: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

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": { ... }}

}}

Page 26: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

レイヤー 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

Page 27: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

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

Page 28: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

次期バージョン 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

Page 29: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

モダンWeb と ASP.NET の今後Modern Web and ASP.NET vNext

エディターや開発ツールの選択

オープンソースへの貢献 クロスプラットフォームOSS

クラウドへシームレスな移行

迅速な開発サイクルモジュール化

パフォーマンス向上

Page 30: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 31: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

OSS

API

C#VB

Page 32: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

.NET の今後Future of .NET

Next gen JIT (“RyuJIT”)

SIMD (Data Parallelization)

ランタイム コンパイラー.NET Compiler Platform (“Roslyn”)

Languages innovation

BCL and PCL

Entity Framework

ライブラリ

Page 33: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 34: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Page 35: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

.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

Page 36: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

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

Page 37: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

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

Page 38: ~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション

© 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.