34
日本マイクロソフト株式会社 デベロッパー エバンジェリズム統括本部 テクニカル エバンジェリスト 井上 章 (いのうえ あきら) Any developer, Any app, Any platform .NET Core Container, そして Azure Web Apps on Linux による Web アプリ開発最前線

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

Embed Size (px)

Citation preview

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

日本マイクロソフト株式会社デベロッパー エバンジェリズム統括本部テクニカル エバンジェリスト井上 章 (いのうえ あきら)

Any developer, Any app, Any platform

.NET Core と Container, そして Azure Web Apps on Linux

による Web アプリ開発最前線

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

井上 章 (いのうえ あきら)

テクニカル エバンジェリスト

http://aka.ms/chack

2008 年マイクロソフト入社。

主に .NET/ASP.NET や Visual Studio, Microsoft Azure などの開発技術を専門とするエバンジェリストとして、技術書籍やオンライン記事などの執筆、さまざまな技術イベントでの講演などを行う。

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

✓ .NET Core と .NET Standard の最新動向を知る

✓クラウドネイティブアプリの実装におけるContainer と Azure Web Apps の活用について学ぶ

セッションのゴールSession Takeaways

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

.NET とは?

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

CLR System.*Microsoft.*etc...

CLIC#, F#, VBetc...

Visual Studioetc...

CLR: Common Language RuntimeCLI: Common Language Infrastructure (共通言語基盤).NET Standards: https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/dotnet-standards.md

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

OS (Windows)

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

各種ライブラリ

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

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

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

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

• ASP.NET, ADO.NET …

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

・・・

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

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

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

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)

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

.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

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

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

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

.NET FRAMEWORK .NET CORE XAMARIN

アプリ

モデル

ベース

ライブラリ

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

.NET FRAMEWORK .NET CORE XAMARIN

アプリ

モデル

ベース

ライブラリ

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

.NET FRAMEWORK .NET CORE XAMARIN

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

.NET FRAMEWORK .NET CORE XAMARIN

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

https://docs.microsoft.com/ja-jp/dotnet/articles/standard/library

https://github.com/dotnet/standard

https://docs.microsoft.com/ja-jp/dotnet/api/

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

Visual Studio Preview

https://www.visualstudio.com/vs/preview/

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

プラットフォームの変化

201620001990 2010

Cloud Native Apps

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

クラウドスケールのアプリケーション実行基盤

Web Apps

Mobile Apps

Logic Apps

API Apps

Azure App Service

Functions

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

Containers + Docker

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

コンテナー型のアプリ仮想化技術

コンテナー間は分離

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

OSA

pp

A’

Host OS

Infrastructure

Bins/Libs

Ap

p A

Bins/Libs

Ap

p B

Ap

p B

Ap

p B

Ap

p B

’Container

Docker Engine

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

Visual Studio 2017 Containers Support

Integrated Docker tooling

Multi-container support

Easily deploy containers to Azure

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

Linux ベースの PaaS サービス & コンテナー実行基盤

Azure Web App on Linux (Public Preview)

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

Azure Functions

サーバーレス = サーバーの存在を意識しない開発

イベント駆動、スケール構成不要

リソース使用量と関数実行回数に基づく課金

C#, .NET Framework, .NET Core をサポート

Visual Studio によるデバッグ、テスト、デプロイ

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

https://dot.net/architecture

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

.NET FRAMEWORK .NET CORE XAMARIN

アプリモデル

の革新

.NET の革新

TOOLS

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

Building cloud native appswith your Code

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

Microsoft Developers

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

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/

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

© 2017 Microsoft Corporation. All rights reserved.

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。