web & mobile 05 06 08...azure functions サーバーレスアプリケーション •...

17
http://azureplatform.azurewebsites.net/ 13 Management Tools 04 Web & Mobile 09 Internet of Things 01 Compute 06 Databases 10 Enterprise Integration 02 Networking 07 Analytics 11 Security + Identity 05 Containers 03 Storage 08 AI + Machine Learning 12 Developer Tools 14 Microsoft Azure Stack 1

Upload: others

Post on 07-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

http://azureplatform.azurewebsites.net/

13

Management Tools

04

Web & Mobile

09

Internet of Things

01

Compute

06

Databases

10

Enterprise Integration

02

Networking

07

Analytics

11

Security + Identity

05

Containers

03

Storage

08

AI + Machine Learning

12

Developer Tools

14

Microsoft Azure Stack

1

Page 2: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

01

Compute

Page 3: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

GAUpdatedDec ‘17Virtual Machines

Fv2 Series – HPC シナリオ: 科学技術計算, クラスターコンピューティング, ゲーム, データ分析 – GA Oct ’17

NCv3 Series – NVIDIA Tesla V100 GPU –Private Preview Nov ‘17

ND Series – AI トレーニングワークロード用途 – GA Dec ‘17

NCv2 Series – GPU 性能を必要とする従来型 HPC ワークロード向け – GA Dec ’17

M Series – 大規模インメモリ DB 用途 –GA Dec ’17

B Series – アイドル時間の多いより小さなワークロード用途 – GA Dec ’17

https://azure.microsoft.com/ja-jp/services/virtual-machines/

3

業界最高水準の SLA を持ち、様々なニーズに適合する仮想マシン

様々なイメージテンプレート

(OS, ミドル, アプリの組合せ)

NEW

様々なキャパシティ

(CPU, Memory, Network throughput, SSD などの組合せ)

Page 4: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

N シリーズを実現する高度な仮想化技術Hyper-V graphic virtualization enhancementsFeature RemoteFX vGPU Direct device assignment

Device GPU Assignment Para-virtualized (many VMs to one or more GPUs) 1 or more GPUs to 1 VM

Scale Best scale / 1 GPU to many VMs Low scale / 1 or more GPUs to 1 VM

App compatibility DX 11.1, OpenGL 4.4, OpenCL 1.1 All GPU capabilities provided by vendor (DX 12, OpenGL, CUDA, etc)

AVC444 Enabled By default (Win10/Srv2016) Available through Group Policy (Win10/Srv2016)

GPU VRAM Up to 1 GB dedicated VRAM Up to VRAM supported by the GPU

Frame Rate Up to 30fps Up to 60fps

GPU driver in guest RemoteFX 3D adapter display driver (Microsoft) GPU vendor driver (NVIDIA, AMD, Intel)

Guest OS support Windows Server 2012r2, WS 2016, Windows 7 SP1, Windows 8.1,

Windows10

Windows Server 2012r2*, WS 2016, Windows 10*, Linux

Hypervisor Microsoft Hyper-V

Host OS availability Windows Server 2012r2, WS 2016, Windows 10 Windows Server 2016

GPU hardware “Enterprise” GPUs (such as Nvidia Quadro/GRID or AMD FirePro)

Server hardware No special requirements Modern server, exposes IOMMU to OS

(usually SR-IOV compliant hardware)

4

Page 5: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Virtual Machines M-Series大規模なメモリ, CPU, ストレージとスケールを提供

Featuring

• Hyper-Threaded support

• Premium Storage support

• Based on Intel® Xeon® Processor E7-8890 v3

• High Performance DDR4 memory

• Support Nested Virtualization with Windows Server 2016

• SAP Certified for NetWeaver on AnyDB

• HANA certification ETA Q1 CY18

https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-certifications

5

VM Size vCPUsRAM

(TB)

Local SSD

(TB)

Persistent Data

Disks-Max

Networking

BandwidthAvailability

M64s 64 1.0 2 32 Extremely High GA in US/ EU

M64ms 64 1.75 2 32 Extremely High GA in US/EU

M128s 128 2.0 4 64 Extremely High GA in US/EU

M128ms 128 4.0 4 64 Extremely High GA in US/EU

Page 6: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

GAReleasedNov ‘17Reserved VM

Instances1 年 or 3 年という単位で、仮想マシンインスタンスを利用予約することで、大幅なディスカウントを得ることができる

いつでも交換やキャンセルが可能

Azure Reserved VM Instances resources

6

https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/linux/

Page 7: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Azure Functions

サーバーレスアプリケーション• 多様な言語をサポート

✓ C#, F#, JavasSript, Java を正式サポート✓ PHP, Python, TypeScript, PowerShell, Bash などの言語は、実験的な言語としてサポート

• Azure ポータルから開発可能。C# は Visual Studio

による開発も可能• 継続的ディプロイに対応• サーバーを抽象化し、アプリ (関数) に集中

イベントベースのスケーラビリティ• タイマー, HTTP, キュー, Blob, Event Hubs など多様なイベントをサポート

マイクロプライシング• 最初の 100 万実行は無料• 100 万実行回数あたり ¥22.40

• 実行時間: ¥0.001792/GB 秒

https://azure.microsoft.com/ja-jp/services/functions/

7

PaaSIaaSOn-Premises Serverless

ユースケース

⚫ リアルタイムストリーム処理⚫ スケジュールバッチ⚫ モバイルバックエンド⚫ Web のバックエンド⚫ IoT バックエンド⚫ ボットアプケーション

テクロノジー

⚫ Azure App Services をベースとする基盤⚫ Functions プロキシにより、複数の Function

App を1つのエンドポイントに束ねることが可能

⚫ 従量課金プランではなく、App Service プランを利用すると、App Service の機能を利用可能 (VNET Join など)

Page 8: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Azure Functions - Detail

8

◆C#, JavaScript, F#, Java 以外の言語を利用したい ◆DB サイドでのファイアウォール設定を使いたい

◆外部アセンブリの参照 (C#)

#r "System.Configuration"

#r "System.Data"

コード上「#r」で参照先のアセンブリを記述

◆カスタムアセンブリの参照 (C#)

◆Nuget パッケージの参照 (C#)

Kudo 管理サイトのデバッグ コンソール (https://<your-function-name>.scm.azurewebsites.net/DebugConsole) を起動し、wwwroot 直下に “bin” フォルダーを作成。”bin” フォルダーに移動後、以下赤枠にカスタム アセンブリをドラッグ&ドロップして、アップロード。後は、外部アセンブリの参照と同様。

https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-reference-csharp

左下記のような project.json ファイルを Azure Portal から関数単位のフォルダーにアップロード。”dependencies” 内に Nuget パッケージを記述。

{

"frameworks": {

"net46":{

"dependencies": {

"Microsoft.ProjectOxford.Face": "1.1.0"

}

}

}

}

◆IP 制限をかけたい

2018.05.31 時点では、従量課金プランでの IP 制限機能は一度削除されています。

App Service プランの場合は、以下の設定を参照してください。

https://github.com/Azure/azure-functions-host/wiki/Deploying-the-Functions-runtime-as-a-private-site-extension

Page 9: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Public Preview/GAReleasedNov ‘17Azure Functions

Update

Functions on IoT Edge – Preview Nov ‘17• IoT デッジデバイスに対して、Functions のパワーと高い生産性をもたらす

• デバイス上での顧客要件を実行できる

Functions on Linux – Preview Nov ‘17• Windows ベースに加えて、Linux ベースのコードをサポート

• Linux OS に最適化されたより新しいアプリケーションスタックを利用

• 新しいディプロイオプション (コンテナなど)

Azure Functions Proxies – GA Nov ‘17• サーバーレス API を容易に開発可能• 複数の Function App を単一の API として見せるプロキシとして動作

9

https://azure.microsoft.com/ja-jp/services/functions/

Page 10: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Azure Batch

Recent updates:

Rendering Service – GA – Sept ’17

Batch AI – Preview – Oct ’17

Low-priority Batch - Big Compute, Interrupt tolerant tasks – GA – Nov ‘17

https://azure.microsoft.com/ja-jp/services/batch/

10

大規模な並列コンピューティングや HPC アプリケーションをクラウドで効率的に実行可能な PaaS 型サービス

容易に、素早く、数百~数千の仮想マシンを作成し、アプリ環境を自動的に構築し、ジョブの実行&管理を行うことが可能

Python, C#, JavaScript などから制御可能

NEW

ユースケース

⚫ 財務リスクのモデリング⚫ 画像のレンダリングと画像処理⚫ メディアのエンコードとトランスコード⚫ 遺伝子配列の分析⚫ ソフトウェアのテスト

NEW

NEW

テクロノジー

⚫ Microsoft HPC Pack をベースとしたスケーラブルなスケジューラ

⚫ メジャーなコンピューティングフレームワークをサポート

⚫ 最新の GPU 搭載仮想マシンをサポート⚫ VM エクステンションをサポート⚫ Docker をサポート⚫ 仮想ネットワークをサポート

Page 11: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

GAUpdatedNov ‘17Azure Batch

Rendering Service

https://docs.microsoft.com/ja-jp/azure/batch/batch-rendering-service

11

大規模な 3D レンダリング処理をクラウドHPC のパワーで行うことができる

以下のアプリケーションに対応

⚫ Autodesk MayaAutodesk Maya

⚫ Autodesk 3ds MaxAutodesk 3ds Max

⚫ Autodesk Arnold for MayaAutodesk Arnold for Maya

⚫ Autodesk Arnold for 3ds MaxAutodesk Arnold for 3ds Max

⚫ Chaos Group V-Ray for MayaChaos Group V-Ray for Maya

⚫ Chaos Group V-Ray for 3ds Max

◆Azure ポータルからレンダリング用のプールを作成

◆Azure Batch Maya プラグインを使うと、ツール (Maya) からシームレスに利用可能

Page 12: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

GAUpdatedNov ‘17Azure Batch

AI Service

https://docs.microsoft.com/ja-jp/azure/batch/batch-rendering-service

12

大規模なコンピューティングパワーを必要とする AI のモデルトレーニングに最新 GPU搭載インスタンスを活用

⚫ PaaS 型のマネージドサービス

⚫ Role Based Access Control サポート

⚫ 様々なツールキット (CNTK, Tensorflow, Caffee/Caffee2, Chainer, Keras, …)

⚫ Experiment を並列実行

⚫ コンテナー or VM での実行

⚫ 様々な共有ファイルシステムをサポート

⚫ 負荷ベースのオートスケール

Azure Storage

Azure Disk

Resource

NFS

GPU GPU GPU GPU

GPU GPU GPU GPU

GPU GPU GPU GPU

GPU GPU GPU GPU

Batch AI Service

GPU GPU GPU GPU

GPU GPU GPU GPU

GPU GPU GPU GPU

GPU GPU GPU GPU

Page 13: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

GAUpdatedNov ‘17Azure Batch

Low-priority VM

https://docs.microsoft.com/ja-jp/azure/batch/batch-rendering-service

13

Azure Batch は、低優先度 VM を利用でき、標準のVM (仮想マシン) の価格に対して、数分の1の価格で利用可能

但し、リージョン内で、対象とするシリーズの仮想マシンの余裕があまり多くない場合、割り当てが失敗したり、途中で割込みが入る可能性がある

https://azure.microsoft.com/ja-jp/pricing/details/batch/

Page 14: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Azure Batch – Batch Labs on Windows, Mac, Linux

14

https://github.com/Azure/BatchLabs/releases

Page 15: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Azure Service FabricWindows Server と Linux の両環境で稼働

数百から数千の仮想マシンをクラスター化する技術

コンテナー技術を利用し、その上に Service を凝集し、稼働・管理する為の基盤

数百の仮想マシン⇒数万のコンテナー⇒数十万の Service

Reliable Services, Reliable Actors アプリケーションフレームワークは、.NET 版とJava 版の両方を提供

Reliable Services / Actors では、レプリカサービス間でメモリコレクションのレプリケーションが可能で、コミットにより伝播が保証される (Transaction Log 書き出し)

https://aka.ms/servicefabric

15

低遅延・ハイスケールなミッションクリティカルアプリケーションを容易に開発可能

SQL Database を始めとした様々なAzure サービスの基盤として利用され、その信頼性を実証

Service Fabric SDK の導入により、Visual Studio のテンプレートが選択可能になる

Page 16: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Azure Service Fabric Architecture – Cosmos DB

16

スタンプData CenterAzure Region

障害ドメイン

Azure Service FabricCluster

VM

Variousagents

Service Replica

Resource Governor

Transport

Admission control

Database engine

Container

Primary Replica

Secondary Replica

Secondary Replica

Page 17: Web & Mobile 05 06 08...Azure Functions サーバーレスアプリケーション • 多様な言語をサポート C#, F#, JavasSript, Java を正式サポート PHP, Python, TypeScript,

Service Fabric Explorer (ローカル& Azure Portal)

17

障害時には、数秒でフェールオーバーが完了

(このアプリでは、2秒程)