Post on 16-Apr-2017
#azurejp#azurejp
https://www.facebook.com/dahatake/https://twitter.com/dahatake/https://github.com/dahatake/https://daiyuhatakeyama.wordpress.com/
#azurejp
Infrastructure ServicesStorage
BLOB Storage
Azure Files
Premium Storage
Compute
VirtualMachine
Containers
NetworkingVirtual Network
ExpressRoute
Traffic Manager
Application Gateway
DNS VPN Gateway
Load Balancer
Platform ServicesWeb and mobile
Web Apps
MobileApps
APIManagement
APIApps
LogicApps
NotificationHubs
Media and CDNContent DeliveryNetwork (CDN)
MediaServices
Analytics and IoT
HDInsight MachineLearning
StreamAnalytics
DataFactory
EventHubs
MobileEngagement
IntegrationBiztalkServices
HybridConnections
ServiceBus
Storagequeues
Data
SQLDatabase
DocumentDB
RedisCache Search
Tables
SQL DataWarehouse
ComputeCloudservices
Batch Remote app
Servicefabric
Developer servicesVisual Studio
ApplicationInsights
Azure SDK
Team Project
Security and Management
ActiveDirectory
Multi-factorAuthentication
Automation
Portal
Key vault
Store/Marketplace
VM Image Galleryand VM Depot
HybridOperations
Backup
SiteRecovery
Import/Export
AD PrivilegedIdentity Management
OperationalInsights
Azure AD Connect Health
StorSimple
Datacenter Infrastructure (34 regions, 30 online)
#azurejp
オンプレミス
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイム
インフラストラクチャー(IaaS)
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイムユー
ザー
管理
プラットフォーム(PaaS)
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
アプリケーション
ランタイム
データ
ソフトウエア(SaaS)
ベン
ダー
管理
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
アプリケーション
ランタイム
データ
Microsoft Azure 仮想マシンWindows Server Hyper-VWindows Server Microsoft Azure
App ServicesOffice 365
Dynamics CRMベ
ンダ
ー管
理
ベン
ダー
管理
ユー
ザー
管理
ユー
ザー
管理
管理責任の境界線
#azurejp
Compute Infrastructure
#azurejpIaaS が最良の場合もある
最高速
柔軟な選択肢
隅々までアクセス
#azurejp
Ubuntu, Red Hat, Windows, SUSE, CoreOSDevOps Extensions による Chef and Puppet らとの連携
ワークローズ対応するための多様なサイズ
事前構成された 数百を超える Marketplace 状のイメージ
仮想マシン
#azurejp
構成済みの自動スケール制御が
ポータルでの統合
VM Scale Sets
#azurejp
Azure Batch ジョブ実行処理のための、 Compute poolsタスクエラーからの自動リカバリー入力 / 出力のハンドルオートスケール多くのリージョンで実行可能Linux and Windows
#azurejpAzure 仮想マシン (IaaS)
Blob ストレージ
サービス
ストレージアカウント
VM DEPO
手元にあるVHD ファイル
OSS のギャラリー
Azure イメージ管理
標準イメージ(MS 提供 )
マイイメージ ( 独自テンプレート )
Azure Hyper-V
Azure仮想マシン
Azure仮想マシン
Azure仮想マシン
Azure 仮想ネットワーク
DNS 名とエンドポイント( 外部からのアクセス )
リソースグループ
仮想マシンからイメージ作成
Azure 基本サービス
NLB F/W DNS
VPN G/W DHCP
ドメイン名管理
#azurejp
D よりもCPU 性能向上
Dv2
SSD より高速な CPUs
D
Azure VM Sizes
最大のメモリーと大きな SSD
G
NVIDIA GPUsK80 Compute
NC
Dv2 相当の CPUメモリーは少なめ
F
更に高速な CPUIB Connectivity
H
更に大きな SSDs
L
エントリーモデル
A
新しい A-Series11 月搭乗予定
Av2
NVIDIA GPUsM60 Visualization
NV
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-windows-sizes/
#azurejpN シリーズを実現する高度な仮想化技術Hyper-V graphic virtualization enhancementsFeature RemoteFX vGPU Direct device assignmentDevice GPU Assignment Para-virtualized (many VMs to one or more GPUs) 1 or more GPUs to 1 VMScale Best scale / 1 GPU to many VMs Low scale / 1 or more GPUs to 1 VMApp 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 GPUFrame Rate Up to 30fps Up to 60fpsGPU 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-VHost OS availability Windows Server 2012r2, WS 2016, Windows 10 Windows Server 2016GPU 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)
#azurejpDeep Learning Demands New Class of HPC
トレーニング 類推する
Data / Users
ScalablePerformance
Throughput+ Efficiency
1 度のトレーニングで、数十億
TFLOPSXeon CPU だと、 1 年がかり
GPU だと 1 日
処理事に数十億 FLOPSXeon CPU だと数秒
GPU だと即座
#azurejp
#azurejp仮想マシンの種類
N
汎用インスタンス
A よりも 60% 高速
高速な CPU大量メモリ
GPU 搭載
D より 35% 高速
Dv2 と同じ CPUメモリは少なく
A D Dv2 GF
Preview
#azurejpCPU パフォーマンス比較
250*250*
100
225160
50
240*210210
180
A8 – A11 GDv2 FD1-14A1 – A7A0
* Intel® Turbo technology
Azure Compute Unit (ACU) をベースにした比較 300*290
Hhttps://azure.microsoft.com/en-us/documentation/articles/virtual-machines-windows-sizes/
#azurejp仮想マシンの構成 ~ リソース全体像 仮想ネットワーク (VNet) ※ 必須
ネットワーク セキュリティ グループ (NSG)
ネットワーク インターフェイス カード (NIC) ※ 必須
グローバル IP アドレス
仮想マシン ※必須
ストレージ アカウント ※必須
#azurejp
Azure クラスター
OS
アプリ
仮想マシン
アプリ アプリ アプリ
仮想マシンの構成 ~ ディスクの関係
ストレージ アカウント ( ページ BLOB / ディスク )
C:
OS ディスク
D:
一時ディスク
E: F:
データディスク
・・・
・・・
ストレージ アカウント
仮想マシン
#azurejp標準ストレージの使用時の制約
• 最大 8KB の IOPS: Standard で 500 (Basic は 300)
• Standard 最大で 4MB/s (Basic は 2.4MB/s)• 仮想マシンのパフォーマンスが悪い場合は、ディスク原因の可能性
大A0-A7
A8-A11
D1-D14D1_v2-D15_v2
F1-F16
G1-G5
NV6-NV24NC6-NC24r
#azurejpプレミアムストレージの適用方法
• サイズ切り上げで最も近いサイズのプランが適用
Premium Storage ディスク タイプ
P10 P20 P30
最大ディスク サイズ 128 GiB 512 GiB 1024 GiB (1 TB)
ディスクあたりの最大 IOPS ( 最大 256KB) 500 2300 5000ディスクあたりの最大スループット 100 MB/ 秒 150 MB/ 秒 200 MB/ 秒
DS1-DS14DS1_v2-DS15_v2F1S-F16SGS1-GS5OS ディスク
データディスク400GB
#azurejpPremium Storage 対応
N
汎用インスタンス
A よりも 60% 高速
高速な CPU大量メモリ
GPU 搭載
D より 35% 高速
Dv2 と同じ CPUメモリは少なく
A D Dv2 GF
FsDS GS
• Premium Storage を使用• CPU, メモリ など、ディスク以外は同じ / ディスク以外
の費用は同じ
DSv2Preview
#azurejp冗長構成の取り方
クラウドサービス (~.cloudapp.net)
A.B.C.D
443/tcp
a.b.c.1 a.b.c.2 a.b.c.3
vm01 vm02 vm03
443/tcp 443/tcp 443/tcp
負荷分散エンドポイント
仮想マシン ( クラシック ) 仮想マシン (ARM)
仮想ネットワーク
リソースグループ
A.B.C.D
ロードバランサー
NSG
#azurejp障害ドメイン (fault domain) と可用性セット (availability set)
複数の仮想マシンを同一の可用性セットで括ると、最大で 3 つの障害ドメインに分散配置
いずれかの障害ドメイン内で障害が発生しても、可用性セット内の別インスタンスは稼働
可用性セットの効果
データセンター内のサーバー群ごとに、専用の電源やネットワーク装置が配置され、これら装置の障害が他のサーバー群に影響を及ぼさないように設計
この括りを「障害ドメイン (fault domain)」という
障害時の影響範囲 = 障害ドメイン
障害ドメイン 障害ドメイン障害ドメイン
ラック
サーバ サーバ
サーバ サーバ
サーバFC
・・
・
・・
・
ルータ
ラック
サーバ サーバ
サーバ サーバ
サーバFC・
・・
・・
・
ルータ
ラック
サーバ サーバ
サーバ サーバ
サーバFC
・・
・
・・
・
ルータ
可用性セット
#azurejpAzure ネットワーク全体像
23
ユーザーインターネット
Azure仮想ネットワーク
フロントエンド アクセス
• 予約済み パブリック IP• 仮想マシン アクセス , ACL• 負荷分散• DNS サービス • Traffic Manager• DDoS 防御
仮想ネットワーク
• ネットワークセキュリティグループ
• ユーザー定義ルーティング
バックエンド接続
• ポイント対サイト接続
• サイト対サイト接続• ExpressRoute
ExpressRouteVPN
#azurejpExpressRoute
オンプレミス
Customer’sconnection
Azure パブリック IP へのトラフィック仮想ネットワークへのトラフィック
Office 365, CRM Online (間もなく ) へのトラフィック
Microsoft Edge
Partner Edge
#azurejpAzure Command-line ツール• PowerShell• Azure CLI
• Windows, Linux, OSX
• AzCopy• CLI Storage Utility
http://azure.microsoft.com/en-us/downloads/
REST API をラップしたスクリプト
#azurejpAzure Resource Manager• JSON 形式でリソースの定義を行う
{ "apiVersion": "2015-06-15", "type": "Microsoft.Compute/virtualMachines", "name": "SampleWinVM", "location": "japaneast", "properties": { "hardwareProfile": { "vmSize": "Standard_D3" }, "osProfile": { "computerName": "MyTestVM", "adminUsername": "azureuser", "adminPassword": "MyP@ssw0rd" },
JSON 形式のファイルで複雑なリソース定義
仮想マシンの定義
#azurejp
オンプレミス
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイム
インフラストラクチャー(IaaS)
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイムユー
ザー
管理
プラットフォーム(PaaS)
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
アプリケーション
ランタイム
データ
ソフトウエア(SaaS)
ベン
ダー
管理
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
アプリケーション
ランタイム
データ
Microsoft Azure 仮想マシンWindows Server Hyper-VWindows Server Microsoft Azure
App ServicesOffice 365
Dynamics CRMベ
ンダ
ー管
理
ベン
ダー
管理
ユー
ザー
管理
ユー
ザー
管理
管理責任の境界線
#azurejpIaaS vs. PaaS• Application にフォーカス。 Infrastructure ではなく。
ビジネス上のメリット
技術的なメリット
市場投入の速さ
既存ツールやプロセスとの統合
低リスクでの採用
小さく始めて成長させやすい
機能ベースでの SLA
オンプレミス、ハイブリット、クラウドの選択肢
ソリューションのカスタム構築もしくはテンプレート化が容易
柔軟なスケール設定
ロードバランサーと広域災害対策
多言語サポート
バージョン管理とロールバック
セキュアなサービス
モニタリングと管理
#azurejpMicrosoft Azure PaaS の価値• IaaS から、 PaaSへ移行した顧客へのインタビューをも
とにした金銭的かつビジネス上のメリット
Based on five-year, risk-adjusted figures for a composite organization constructed from aggregated interviews with eight Microsoft Azure IaaS customers.Source: “The Total Economic Impact Of Microsoft Azure PaaS,” a commissioned study conducted by Forrester Consulting, June 2016
466%ROI
$5.91M Net Present
Value( 現在価値 )
80% 時間の削減
50% 市場投入の早さ
#azurejpPaaS を選択する理由
メンテナンスフリーベストプラクティスに
よる可用性向上
新技術の取り込み
差別化のための、サービス開発へリソース投入
#azurejpPaaS を選択する理由
メンテナンスフリーベストプラクティスに
よる可用性向上
新技術の取り込み
差別化のための、サービス開発へリソース投入
#azurejp
「製品のサポート切れ対応で手一杯なんですよ・・・」
#azurejp
オンプレミス
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイム
インフラストラクチャー(IaaS)
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイム
ユー
ザー
管理
プラットフォーム(PaaS)
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
アプリケーション
ランタイム
データ
ソフトウエア(SaaS)
ベン
ダー
管理
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
アプリケーション
ランタイム
データ
Microsoft Azure 仮想マシンWindows Server Hyper-VWindows Server Microsoft Azure
App ServicesOffice 365
Dynamics CRMベ
ンダ
ー管
理
ベン
ダー
管理
ユー
ザー
管理
ユー
ザー
管理
サポート切れ対応を誰がするのか !!!
#azurejpシステムの運用は本当に大変…
「そういえばサーバーの運用って大丈夫 ?」PaaSIaaS
「セキュリティ対策で、パッチ適用したいのです
が ?」
「必要最低限だけでいいですよ」
※ 極端な例です
「幾つかこちらで設定した項目が
あるので、関連するところは変えられないです ?」
パッチは適時適用されます
システム内部の依存関係については
自動的に処理されます
#azurejpまだまだ やることが …
IaaS
「新しい OS出たんですが、どうしま
す ?」
PaaS
「計画停止があるので、それだけ
了承してくださいね ?」
「クラスタ組みましたので、組んだエンジニアに聞いてみますね」
適時新しい OS に更新されます
計画停止はありません
低レイヤーの構成についてはベストプラクティスを採用して
いるので考慮する必要はありません
※ 極端な例です
#azurejpまだまだ、まだまだ やることが …
IaaS
DB のストレージ領域を監視しないと・・・
PaaS
「パフォーマンスが最適になるように構成しないと」
「どの仮想サーバーで、何のアプリが動いているか把握しておかないと」
実際のストレージの監視をして、
必要に応じて追加しています
ベストプラクティスに沿った構成を
しており、常に見直されます
アプリケーションは、最適なサーバー構成にて
自動配置されます※ 極端な例です
#azurejpIaaS を本番環境で使う上の必須知識…
障害ドメイン
Blob ストレージの単一ファイルのス
ループット
ディスクキャッシュ
ロードバランサー
IP Address 管理
可用性セット
バックアップ・リストア
監視項目と閾値。そのアクション
セキュリティ 監視用の別サーバー
設定済みで運用されているため、「殆ど」考慮する必要がない
#azurejp
Web appsWeb アプリケーション
Mobile appsモバイルのネイティブアプリ用のBaaSLogic
appsSaaS やオンプレミスも含めたビジネスロジックのワークフロー
API appsWeb APIFunctions
サーバーレスコンピューティング
Azure App Services
#azurejpついに来た ! App Services on Linux• Application
• Node.js• PHP
• Region• 日本は今後…• West US• West Europe• South Asia
https://azure.microsoft.com/ja-jp/documentation/articles/app-service-linux-intro/
<3
#azurejpPaaS を選択する理由
メンテナンスフリーベストプラクティスに
よる可用性向上
新技術の取り込み
差別化のための、サービス開発へリソース投入
#azurejp
「 24 x 365止まらなくて、セキュリティ対策ばっちりで、アプリは毎月機能強化したくて、でも開発費用は抑えたくて…」
開発も インフラも 両方熟知しているエンジニアって、滅多にいないのよ… .
#azurejpDB の可用性とデータの一貫性を上げる
複製
Your App
インフラの設計パターン
書き込み
書き込み
#azurejp
Microsoft Azure Storage
可能な限り無くさない
#azurejp
Microsoft Azure Storage
可能な限り無くさない
#azurejp
Microsoft Azure Storage
#azurejp
継続的なジオ・レプリケーショ
ン
WEST
DCEASTDC
> 500 miles
Microsoft Azure Storage
#azurejpエラスティック データベース設定した範囲で自動的に Scale
エラスティック プール
複数のデータベースで eDTU を共有
Customer 1 Customer 3Customer 2
プールに設定された eDTU の範囲で自動的に Scale するストレージもプール単位で管理可能プールに割り当てる eDTU でコストをコントロール可能個々のデータベースを管理する必要なし
#azurejpPaaS を選択する理由
メンテナンスフリーベストプラクティスに
よる可用性向上
新技術の取り込み
差別化のための、サービス開発へリソース投入
#azurejp
#azurejp#azurejp
#azurejp
OLTP
ERP LOB
… ETL Tool(SSIS, etc…)
Extract Transform Load
Original data
Transformed data
EDW BI Tools
Data Marts
Data Lake(s)
Dashboards
Apps
Original data
Ingest
Scale-out storage & compute(HDFS, Blob Storage, etc)
(SQL Server, Teradata, etc)
Streaming data
Transform and Load
データ処理。これまで と 今
#azurejp
ETL パイプライン
スキーマの定義Relational
LOB Applications
これまでの分析プロセス : Schema-on-Write• ユーザー の求める レポート と分析内容を事前に特定• 関連する データベース の スキーマ と クエリ を事前に定義
• ETL パイプライン を作成し、必要な データ を抽出• 対象の スキーマ に合わせて変換• レポート を作成し、データ を分析
直ちに必要でないデータは、別の場所に移動されているか、捨てられ
る
#azurejp
無限に保存 分析 結果の参照
あらゆるデータソースからの
データ収集
全てのデータに価値がある : Schema-on-Read
• ネイティブのフォーマットのまま保存• 将来、再利用できるように
• スキーマは必要だが、変換はクエリ実行時 • アプリケーションとユーザーは、自分にフィットする形で
データを解釈
#azurejp
取り込み
Modern Data Lifecycle
処理 保存 利用
キュレーション
#azurejp
取り込み
Modern Data Lifecycle
処理 保存 利用
Event HubsIoT Hubs
Service BusKafka
HDInsightData Lake Analytics
StormSpark
Stream Analytics
Data Lake Storage
Azure StorageAzure SQL DBAzure SQL DW
Data Lake Storage
Azure DWAzure SQL DB
HbaseCassandra
Azure StoragePower BI
キュレーションAzure Data Factory Azure ML
#azurejp
Dashboards
Interactive
Exploration
API も考慮する必要あり
可視化だけでは、不足する
#azurejp#azurejp
即、学べる
Cortana Intelligence Gallery• https://gallery.cortanaintelligence.com/solutionTempl
ates
#azurejp
取り込み
Modern Data Lifecycle
処理 保存 利用
Event HubsIoT Hubs
Service BusKafka
HDInsightData Lake Analytics
StormSpark
Stream Analytics
Data Lake Storage
Azure StorageAzure SQL DBAzure SQL DW
Data Lake Storage
Azure DWAzure SQL DB
HbaseCassandra
Azure StoragePower BI
キュレーションAzure Data Factory Azure ML
a
#azurejpAzure Event Hubs
数百万デバイスへの接続数百万イベント / 秒、 GB/ 秒 の受信能力AMQP / HTTP(S) のサポート
Azure 上でのスケーラブルなイベントの受信 送信・
#azurejpAzure IoT Hub のアーキテクチャ
• デバイスごとのセキュリティ資格情報とアクセス制御を使用した、通信のセキュリティ保護• スケーラビリティと信頼性に優れた、デバイスとクラウド間の双方向メッセージング• マルチ プラットフォーム *1 / マルチ ランゲージ *2 のデバイス ライブラリを使用した、簡単なデバイ
スの接続
参照: https://azure.microsoft.com/ja-jp/documentation/articles/iot-hub-devguide/
IoT HubmyIotHub.azure-devices.net
IoT Hub リソース プロバイダー
D2C メッセージ送信エンドポイント
C2D メッセージ受信エンドポイント
D2C メッセージ受信エンドポイント
C2D メッセージ送信 と ACK 受信エンドポイント
デバイス ID 管理エンドポイント
リソース プロバイダーエンドポイント
Detection Data ✅ 人検出
Recommendation Data ✅ お勧め商品
Apps
AMQP 、 MQTT 、 HTTPS
*1:Windows 、 RTOS 、 Linux etc.*2: .NET 、 C 、 Java 、 Node.js
Apps
アプリケーション
Or
Stream Analytics
#azurejpIoT Hub と Event Hubs の比較領域 Event Hubs IoT Hub通信パターン イベント イングレス ( 入力 ) のみを有効にする
(通常、デバイスからクラウドへのシナリオ )デバイスからクラウド、クラウドからデバイスへのメッセージ送信に対応
デバイスのプロトコルのサポート
AMQP 、 AMQP over WebSockets 、 HTTP/1 AMQP 、 AMQP over WebSocket 、 HTTP/1 、 MQTTさらに、 Azure IoT プロトコル ゲートウェイ ( カスタム プロトコルをサポートする、カスタマイズ可能なプロトコル ゲートウェイの実装 ) でも動作
セキュリティ Event Hubs 全体の共有アクセス ポリシーを提供発行元のポリシーによる取り消しが限定的にサポートされる(IoT ソリューションでは、一般的に、デバイスごとの資格情報となりすまし対策をサポートするため、カスタム ソリューションの実装が要求される )
デバイスごとの ID と取り消し可能なアクセス制御(IoT Hub 開発者ガイドの 「セキュリティ」 セクションを参照 )
操作の監視 集計メトリックが公開される IoT ソリューションでデバイス ID 管理、および接続の豊富なイベント (個々のデバイス認証エラー、スロットル、および不適切な形式の例外など ) をサブスクライブすることで、個々のデバイス レベルで接続の問題をすばやく識別可能
スケール Service Bus のクォータに基づき、最大 5,000 の AMQP 接続をサポート送信される各メッセージで、パーティション指定可能
同時接続された数百万のデバイスをサポートするように最適化されている
デバイスの SDK .NET と C がサポートされる(AMQP と HTTP の送信インターフェイスを提供 )
さまざまなプラットフォームと言語 (.NET 、 C 、 Java 、 Node.js) を対象としたデバイス SDK を提供
参照: https://azure.microsoft.com/ja-jp/documentation/articles/iot-hub-compare-event-hubs/
#azurejpStream Analytics - リアル タイム データ処理Azure 上でのストリーム データ処理
デバイス、機械、アプリケーションと接続した Azure Event Hubs から 数百万のリアル タイム イベントを取得する
タイム センンシティブ な コンピューティングを実行する
結果は永続的なストア、ダッシュボード、あるいは、再度デバイスに対して出力する
Point of Service Devices
Self CheckoutStations
Kiosks
Smart Phones
Slates/Tablets
PCs/Laptops
Servers
Digital Signs
DiagnosticEquipmentRemote Medical
MonitorsLogic
Controllers
SpecializedDevicesThin
Clients
Handhelds
Security
POS Terminals
AutomationDevices
VendingMachines
Kinect
ATM
Stream Analytics
#azurejpクエリによる 3 種類のウィンドウ設定• タンブリング ウィンドウ:重複しない固定化された時間間隔で集計 (Duration の値を指定 )
• ホッピング ウィンドウ:重複が許容された固定化された時間間隔で集計 (Duration と Hop の値を指定 )
• スライディング ウィンドウ:イベント時からさかのぼって指定された時間間隔で集計 (Duration の値を指定 ) SELECT system.timestamp AS OutTime ,deviceId AS deviceId
,AVG (windSpeed) AS Avg_windSpeed ,COUNT (*) AS Cnt_EventINTO [powerbi-output] FROM [iothub-input]GROUP BY deviceId,SlidingWindow(Duration(minute,3)) HAVING Count(*) > 3
SELECT system.timestamp AS OutTime ,deviceId AS deviceId ,AVG (windSpeed) AS Avg_windSpeed ,COUNT (*) AS Cnt_EventINTO [powerbi-output] FROM [iothub-input]GROUP BY deviceId,HoppingWindow(Duration(minute,5),Hop (minute, 5))
SELECT system.timestamp AS OutTime ,deviceId AS deviceId ,AVG (windSpeed) AS Avg_windSpeed ,COUNT (*) AS Cnt_EventINTO [powerbi-output] FROM [iothub-input]GROUP BY deviceId,TumblingWindow(Duration(minute,5))
#azurejp
取り込み
Modern Data Lifecycle
処理 保存 利用
Event HubsIoT Hubs
Service BusKafka
HDInsightData Lake Analytics
StormSpark
Stream Analytics
Data Lake Storage
Azure StorageAzure SQL DBAzure SQL DW
Data Lake Storage
Azure DWAzure SQL DB
HbaseCassandra
Azure StoragePower BI
キュレーションAzure Data Factory Azure ML
aa
#azurejpSQL Data Warehouse• Data Warehouse as a Services• SQL Server の機能が利用でき、迅速にスケールアウト ( スケールダウン ) できる
• 様々な容量のストレージ要件に適用可能
Elastic scale & performance
ペタバイト級データにまでスケール
超並列実行
数十秒でスケール変更
RDBMS 同様の SQL に加えて、非構造化データへのクエリも
Saas
Azure
PublicCloud
Office 365Office 365
数分で構築完了
Machine Learning / Data Factory / Power BIと連携できる
Powered by the Cloud
Market Leading Price & Performance
サーバーとストレージの単純な課金体系
必要な容量、必要なパフォーマンスに応じた課金
一時的な停止、再開が可能 (停止すれば課金されない )
AzureAzure
Public Preview
#azurejp100 DWU• 1 コンピュート ノード ( 最小構成 )
• コンピュート ノードが処理するディストリビューション数は 60
D36
D48
D42
D54
D60
D32
D44
D38
D50
D56
D33
D45
D39
D51
D57
D34
D46
D40
D52
D58
D35
D47
D41
D53
D59
D31
D43
D37
D49
D55
ディストリビューション(60 の非共有ストレージ )
コントロールノード
コンピュートノード
DMS
DMS
D12D6 D1
8D24
D30
D8D2 D14
D20
D26
D9D3 D15
D21
D27
D10D4 D1
6D22
D28
D11D5 D1
7D23
D29
D7D1 D13
D19
D25
Data Movement Services
Public Preview
#azurejp1000 DWU• 10 コンピュート ノードの構成
• 1 コンピュート ノードあたりのディストリビューション数は 6
D12D6 D1
8D24
D30
D8D2 D14
D20
D26
D9D3 D15
D21
D27
D10D4 D1
6D22
D28
D11D5 D1
7D23
D29
D7D1 D13
D19
D25
ディストリビューション(60 の非共有ストレージ )
コントロールノード DM
S
D36
D48
D42
D54
D60
D32
D44
D38
D50
D56
D33
D45
D39
D51
D57
D34
D46
D40
D52
D58
D35
D47
D41
D53
D59
D31
D43
D37
D49
D55
DMS DMS DMS DMS DMS DMS
コンピュート ノード
DMS DMS DMS DMS
Data Movement Services
Public Preview
#azurejpSQL Data Warehouse の概算 ( プレビュー料金 /月)
100 億行を 297 秒で処理
100 億行を 19 秒で処理
SQL Data Warehouse
\99.96/h * 6h * 20d = 11,995※1 日6時間使用、土日は不使用
\99.96/h * 6h * 20d *20= 239,904
※1 日6時間使用、土日は不使用
ストレージ \61,200( 5TB)
\61,200( 5TB)
合計 \73,195 \301,100※ SQL Data Warehouse は時間単位課金
Public Preview
#azurejp
HDInsight Analytics Store
Hadoop as a Services
Big Data Query as a Services
容量無制限Raw Data
アクセスコントロール
Azure Data Lake Services
#azurejpMicrosoft Azure HDInsightすぐに使えるクラウド上の Hadoop / Spark
豊富なクラスタータイプ Hadoop
2.6.0 / 2.7.0 / 2.7.1 HBase
0.98.4 / 1.1.1 / 1.1.2 Storm
0.9.3 / 0.10.0 Spark ( プレビュー )
1.5.2 / 1.6.0 / 1.3.1 R Server on Spark ( プレビュー )
1.6.0 など ..
#azurejpMapReduce と Spark の処理イメージ
MapReduce
SparkRDD
ディスク
インメモリ
RDD
#azurejpSpark のソフトウェアスタック
Spark コア
Spark SQL +
DataFramesSpark
Streaming MLlib GraphX
構造化データ ストリーム分析 機械学習 グラフ処理
使いやすい高レベルコンポーネント
#azurejp
スケールに制限なし
U-SQL, SQL のメリットに C# のパワーを加えた新しい言語
Data Lake Store に最適化
Azure データサービスへの FEDERATED QUERY
企業利用のためのセキュリティ、アクセス制御、暗号化など
ジョブ単位での課金とスケール設定
Azure Data Lake Analytics全てのどんなサイズのデータでも処理できるApache YARN ベースの分析サービス
#azurejp
REFERENCE ASSEMBLY WebLogExtASM;@rs = EXTRACT UserID string, Start DateTime, End DateTime, Region string, SitesVisited string, PagesVisited string FROM "swebhdfs://Logs/WebLogRecords.csv" USING WebLogExtractor ();
@result = SELECT UserID, (End.Subtract(Start)).TotalSeconds AS Duration FROM @rs ORDER BY Duration DESC FETCH 10;OUTPUT @result TO "swebhdfs://Logs/Results/top10.txt"USING Outputter.Tsv();
•型定義は C# の型定義と同じ•データをファイルから抽出・読み込みするときに、スキーマが必要
Data Lake Store のファイル独自形式を解析するカスタム
関数
C# の関数
行セット :(中間テーブルの概念に近い)
TSV形式で読み取る関数
#azurejp
スケールに制限なし
全てのデータの種類をそのネイティブ フォーマットで保存
クラウド上での WebHDFS
企業利用のためのセキュリティ、アクセス制御、暗号化など
分析用に最適化
Azure Data Lake StoreBig Data 分析のためのハイパースケールなデータリポジトリ
#azurejp
HDInsightJava, Eclipse, Hive, etc.フルマネージド のHadoop クラスタ
Data Lake AnalyticsC#, SQL & PowerShellフルマネージド の分散管理処理クラスタDryAd ベース
手段が違うだけ
Azure Data Lake Store
#azurejpAzure Data Lake と SQL Data Warehouse
XML
JSON
手続き型• 事前処理 • データ変換• フォーマット変換
TEXT宣言型• 読み込み• 変換• モデル• 集計• 直接利用
大容量のデータ
データサイズ不明
バッチクエリアドホッククエリ
バッチ
#azurejp
取り込み
Modern Data Lifecycle
処理 保存 利用
Event HubsIoT Hubs
Service BusKafka
HDInsightData Lake Analytics
StormSpark
Stream Analytics
Data Lake Storage
Azure StorageAzure SQL DBAzure SQL DW
Data Lake Storage
Azure DWAzure SQL DB
HbaseCassandra
Azure StoragePower BI
キュレーションAzure Data Factory Azure ML
a
#azurejpMachine Learning の適用領域数学的・統計学的手法を使い、データの関連性の解析や予測を行うニューラルネットワーク、クラスタリング等のテクニック(Source: IDC2003)」
レコメンデーション
広告効果分析
ビジネスへの気象情報活用
SNS 分析
IT インフラ ・Web アクセス解析
法的ドキュメントの検証
価格最適化 不正検知
顧客解約分析
機器予防保全
ロジスティクス最適化
カスタマイズ保険
#azurejp
ImageNet最大規模のイメージデータセット
– 120万の学習用イメージ、 10 のテスト用イメージ– 1000 クラス
深層学習が変える画像認識
http://image-net.org
1
28.2 25.8
16.411.7
7.3 6.7 5.1
3.5
Series1 Series2 Series3 Series4 Series5 Series6 Series7 Series8
#azurejpAzure Machine Learning (Azure ML)Azure Machine Learning は、未来を予測し「自立的」に判断するアプリケーションをコードを書かずに素早く開発でき、それを稼働させるスケーラブルなプラットフォームであるブラウザだけで開始できるAzure サブスクリプションにログインすれば、ブラウザだけで開発が可能。
誰とでも、どこからでも、簡単に共有が可能
オープンで優れた統合環境“ R” や “ Python” で利用される数百ものアルゴリズムやパッケージを利用可能。
Xbox や Bing で養われた優れたアルゴリズムを利用可能。
ソリューションを数分で展開できる1クリックで学習が完了したモデルをWeb サービスとして即時ディプロイ。あらゆる場所からスケーラブルに利用可能。
世界への展開グローバルな Azure Machine Learning Marketplace を介して、ソリューションを販売可能GA 済み (2015 年 2 月から )
Microsoft Azure Machine Learning StudioModeling environment (shown) Microsoft Azure Machine Learning API service Model in production as a web serviceMicrosoft AzureMachine Learning MarketplaceAPIs and solutions for broad use
#azurejpprocessdata
1
cleantransform
maths
2
model
3
predict
4
#azurejpdataClass Outlook Temp. WindyPlay Sunny Low Yes
No Play Sunny High YesNo Play Sunny High No
Play Overcast Low YesPlay Overcast High NoPlay Overcast Low No
No Play Rainy Low YesPlay Rainy Low No
? Sunny Low No
label (y)play / no play
featuresoutlook, temp, windy
values (x)[Sunny, Low, Yes]
Labeled dataset is a collection of (X, Y) pairs.Given a new x, how do we predict y?
#azurejpmodelClass Outlook Temp. WindyPlay Sunny Low Yes
No Play Sunny High YesNo Play Sunny High No
Play Overcast Low YesPlay Overcast High NoPlay Overcast Low No
No Play Rainy Low YesPlay Rainy Low No
? Sunny Low No
#azurejp機械学習のモデルを 作る <-> 使う
Azure Storage = クラウドストレージ
Azure Data Lake = 大規模分散処理
Azure Machine
Learning = 機械学習
Microsoft Cognitive Service
Azure Media Analytics
Project Cambridge
Storage
Compute
API
Application
HadoopAzure VM
Python / R,TensorFlow
,CNTK
(Microsoft)
ML Engine
Spark + MLLib Project Oxford
#azurejpCognitive Services がサポートVision Speech Languag
e SearchKnowledge
Face
ComputerVision
Emotion
Video
Speaker RecognitionCustomRecognition
Bing Speech
LinguisticAnalysisLanguageUnderstanding
BingSpell Check
Web LanguageModel
Text Analytics
KnowledgeExploration
Entity Linking
AcademicKnowledge
Recommendations
Bing Image SearchBing Video Search
Bing Web Search
Bing Autosuggest
Bing News Search
Preview
Private
#azurejpCognitive Services がサポートVision Speech Languag
e SearchKnowledge
Face
ComputerVision
Emotion
Video
Speaker RecognitionCustomRecognition
Bing Speech
LinguisticAnalysisLanguageUnderstanding
BingSpell Check
Web LanguageModel
Text Analytics
KnowledgeExploration
Entity Linking
AcademicKnowledge
Recommendations
Bing Image SearchBing Video Search
Bing Web Search
Bing Autosuggest
Bing News Search
Preview
Private
見る+
認知機能
聞く /話す+
認知機能
言語+
認知機能画像 / ビデオの
読解顔識別、感情判
別
話し手の識別文章の聞き取り & 理解
情報+
認知機能文章読解
文意、文脈の理解Web/学術情報 / ビックデー
タを集約
検索+
認知機能Bing検索エンジ
ンによる検索
#azurejp会話を補助するシナリオ例• 受付の例
音声⇒テキストデータ
テキストデータ⇒音声
顔認証
担当社員への連絡
こんにちは。○○株式会社の□□と申します。
本日△△さんと 11:00 からお約束しております。
返答テキストの作成
会議室予約との照合
自然言語分析
Intent: MTGEntities CompanyName:○○株式会社 VisitorName: □□ RequesterName: △△ MeetingDateTime: Today, 11:00
□□様、お待ちしておりました。××番の会議室までお越しください。
#azurejp
取り込み
Modern Data Lifecycle
処理 保存 利用
Event HubsIoT Hubs
Service BusKafka
HDInsightData Lake Analytics
StormSpark
Stream Analytics
Data Lake Storage
Azure StorageAzure SQL DBAzure SQL DW
Data Lake Storage
Azure DWAzure SQL DB
HbaseCassandra
Azure StoragePower BI
キュレーションAzure Data Factory Azure ML
a
#azurejpPower BI Dashboard~ Microsoft Azure 上で提供される SaaS 型 BI サービス~
• Azure AD の組織アカウントもしくは Office 365 のアカウントが必要
• オーサリングツール• Power BI Designer• Excel
#azurejp#azurejp
#azurejp
商品購入、レビュー書き込み
商品カタログ
更新
DocumentDB
SQL Database
Azure Search
Azure Table
Admin
Customer
AdventureWorksAzurewebsites.net
商品カタログ、
レビュー、レーティング
購買
商品カタログ検索
ショッピングカート
データ特性に応じた、ストレージの選択
#azurejpAzure DocumentDB• フル マネージドの NoSQL ドキュメント データベース サービス• スキーマレスなデータ• JavaScript サポート、 JSON に対する SQL クエリ、トランザクション• 東日本 /西日本リージョン
信頼性、パフォーマンス
高速で安定したパフォーマンス
構成可能な整合性レベル
エラスティックなスケーリング
セカンダリ インデックスなしで JSON をクエリ
ネイティブ JavaScript トランザクション処理
SQL ベースのクエリ言語
REST 、 JSON 、 JavaScript簡単、フル マネージド
エンタープライズ対応の Azure
JSON に対する高度なクエリ、トランザクション
開発
#azurejp基本構造
• リソース モデル• 論理 URI を持つ
• パーティション分割によるスケールアウト
• 複製による可用性
• JSON 形式で格納
• 通信モデル• HTTP 上の RESTful API• HTTP または TCP での接続
• 開発• .NET 、 Node.js 、 Python 、 Java 、 JavaScri
pt クライアント
• SQL クエリ、 .NET LINQ• JavaScript サーバー側ロジック
101010
DocumentDB
アカウントデータベース
ユーザー
アクセス許可
コレクションドキュメント 添付
ストアドプロシージャ
トリガー
ユーザー定義関数 (UDF)
JSONドキュメントの
格納先
{ }{ }
JS
JS
JS
#azurejp単純なクエリ
SQL SELECT * FROM company C WHERE C.headquarter = 'Belgium'
結果 [ { "locations": [{ "country": "Germany", "city": "Berlin" }, { "country": "France", "city": "Paris" }], "headquarter": "Belgium", "exports": [{ "city": "Moscow" },{ "city": "Athens" } ] }]
Var company1= { “locations” : [{“country”: “Germany”, “city”: “Berlin”},{“country”: “France”, “city”: “Paris”},], “headquarter”: “Belgium”, “exports”: [{ “city”; “Moscow” },{ “city: ”Athens” }]
};
Var company2= { “locations” : [{“country”: “Germany”, “city”: “Bonn”, revenue”: 200 } ], “headquarter”: “Italy”, “exports”: [ { “city”; “Berlin” },
{ “dealers”: [{“name”: “Hans”}] }, {city”: ”Athens” }]};
Locations Headquarter Exports
City CityDealersGermany Bonn 200 Berli
n Name Athens
0 Italy 0 1
Hans
Country City Revenue
Locations Headquarter
Belgium
Country City Country City
Germany Berlin France Paris
Exports
CityCity
Moscow Athens
0 10 1
#azurejpAzure Search とは ?• クラウドで提供するフルマネージド全文検索サービス
• Webおよびモバイルアプリケーション向けの強力な検索機能を短時間で容易に構築することができる• 検索・管理機能は REST API もしくは管理ポータルで操作可能。
API は HTTP プロトコルでシンプルな JSON フォーマット。
• フルマネージドサービスで運用管理の複雑さを軽減• インデックスサイズ、検索処理能力(QPS)ともに容易にスケール可
• 充実したテキスト解析、ランキング調整機能• Apache Lucene言語解析アナライザに加え
マイクロソフト独自アナライザを利用可能
• 他 Azure サービスと連携することで完全マネージドなリッチ検索エクスペリエンスを容易に導入可能
“Simplify the Search Experience”
#azurejp
1. 圧倒的な速度で2. 高い精度の検索結果を3. 関連性が高いもの順に
全文検索エンジンである理由
取得することができます
#azurejp1. 検索速度• とにかく爆速。データ量が多くなっても速い。
転置インデックス : トークンからドキュメントを引き当てるデータ構造
テキスト解析
インデクシング
Doc#
ドキュメント内容
1 Microsoft is introducing SQL Server
2 Windows Server on Azure
3 Microsoft is introducing Azure
4 Application programming on Microsoft Azure
単語(トークン)
含まれるドキュメント
microsoft 1, 3, 4
introducing 1, 3
sql 1
server 1, 2
Windows 2
azure 2, 3, 4
application 4
programming 4
#azurejp2. 検索結果の適合率• 適合率が高い≒精度が高い、キーワードに適したものがヒット
「キング」 ⇒ 「バーガーキング」 「ライオンキング」 「 Azure でのセキュアネットワーキング」
「京都」⇒ 「東京都庁」 「京都観光」
「ダイアモンド」 ⇒「ダイヤモンド」もヒット
• 語幹変化• 見出し語変化• 同義語展開• 正規化• ストップワード除去
• アンチフレージング
• スペルチェック• クエリサジェス
ト• ファセット
検索精度向上のための主要技術・ソリューション• N-gram• 形態素解析
#azurejp3. 検索結果の並び順• ORDER BY ではなく関連性(ランキング)によるソート
• クエリとドキュメントの関連性を評価して結果を並べる
• データベースの ORDER BY句による結果ソートとは全く異なる評価手法
#azurejp
商品マスター
Azure Search が提供するもの• Search のコア機能を API 提供• スケールアップするインフラ
Azure SearchInde
xFacet
sSuggestio
n
EC-Site
.png
moreLikeThisPublic Preview
一部
Public Preview
#azurejp
付加価値を提供する多くのパートナーソリューション
Streaming /CDN
コンテンツ保護
Processing取り込みと保管
メディア 配信の コア 機能を
API として提供
Azure Media Services
PlayerAnalytics
#azurejp
Multi-Bitrate mp4
Streaming Endpoint
HLS
Smooth Streaming
Encode パッケージング
Multi-Bitrate mp4
Streaming Endpoint
HLS
Smooth Streaming
Encode
従来
Dynamic Packaging
パッ
ケージ
ング
入力フォーマット : mp4, Smooth Streaming 出力フォーマット : Smooth Streaming, HLS (v4 and v3), MPEG-DASH占有ストリーミングユニット : 1 以上
DASH
Dynamic Packaging
#azurejp
Storage
事前に定義
Streaming Endpoint
HLS + AES (http)Smooth Streaming + PlayReady(http)
PlayReady/ AES Key ServicesToken
verificationPlayReady License/
AES Key Return License if token verified(https)
認証Login
Issue token
キー設定 認証設定(Token/IP/Open)
asset
暗号化設定(HLS with AES) / (DASH with PlayReady)
DASH + PlayReady (http)
Client SDK
Dynamic Encryption
Request License with token (https)
#azurejp
Express Route
Azure Storage
Asset
Prog
ram
Streaming EndpointChannel
Dyna
mic
Encr
yptio
n
Dyna
mic
Pack
agin
g
REST API
取り込みURL
PreviewURL
Encoder
Smooth/RTMP
DASH, HLS,
Smooth
Azure
CDNAzure Media Player
Live Streaming システムCamera Azure Media Services
#azurejpAzure Media Player• 1 つの動画。複数のプロトコル。 1 つの Player• Azure Media Services 専用
DASH
Smooth Streaming
HLSContent Protectio
n
Dynamic PackagingDynamic EncryptionDynamic Manifest
Azure Media Player
http://aka.ms/azuremediaplayer
#azurejpAzure Media analyticsSpeech-to-text話しているテキストを抽出現在、 8言語対応
Face & Emotion detection顔のカウントおよび性別・年齢・感情の判定
Hyperlapseスタビライザーとタイムラプス
Video summarizationハイライトシーンによるサマリービデオの自動作成
Motion detection動きのあった箇所の検知
Object/character recognition (OCR)ビデオ内の画像から、テキストを抽出
開発中Content moderation, face/object obfuscation, action tagging, and more
#azurejp新たな価値を生む、ワークフロー• 生徒たちが均等に映っているか ?
Face Detector
Media Encoder Standar
d
Cognitive
Services
Media Encoder Standar
d
AVCHD MP4 仮 ID と映っている時
間
仮 ID と画像
元の顔画像
誰が何回映っている
か ?
エンコード 顔認識
サムネイル作
成顔一致
ネットワーク越しのファイルコピーを最小化 !
#azurejpAzure CDN = マルチ CDN• On-Stop サービス• Akamai と Verizon • 地球規模のスケール、高パフォーマンス、高セキュリティ• キャパシティ管理の簡素化とコスト削減• 分析用ツール、 API と開発者ツール• Pop の場所
• https://azure.microsoft.com/en-us/documentation/articles/cdn-pop-locations/
#azurejp#azurejp
#azurejpPaaS を選択する理由
メンテナンスフリーベストプラクティスに
よる可用性向上
新技術の取り込み
差別化のための、サービス開発へリソース投入
#azurejp
さあ、始めましょう !azure.com
#azurejp
YouMicrosoft© 2015 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.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
#azurejp
ご参考情報
#azurejp開発に参加する!? ~ Azure Feedback
http://feedback.azure.com/forums/216843-virtual-machines
#azurejpMicrosoft Azure 公式 Web サイト
http://azure.microsoft.com/ja-jp/
#azurejp公式ブログ
http://azure.microsoft.com/blog/http://blogs.technet.com/b/mssvrpmj/http://blogs.technet.com/b/jpitpro/http://blogs.msdn.com/b/devamm/http://blogs.msdn.com/b/satonaoki/
#azurejp従量課金料金の確認
http://azure.microsoft.com/ja-jp/pricing/
#azurejpAzure のサポートオプション
http://azure.microsoft.com/ja-jp/support/options/ 注意: EA契約ではサポート契約は Standard 以上の契約が必要となります。
#azurejpラーニング パス (おすすめ! )
https://azure.microsoft.com/ja-jp/documentation/learning-paths/
#azurejpCloud Platform コンテンツ (日本語)
http://www.microsoft.com/ja-jp/server-cloud/local/documents/default.aspx
#azurejpAzure ウェビナー (Web セミナー )
https://azure.microsoft.com/ja-jp/community/events/?type=webinar
#azurejpAzure セミナー&ハンズオントレーニング
https://azure.microsoft.com/ja-jp/community/events/?type=onsiteevent
#azurejp過去のウェビナーやセミナー録画はこちらから
https://technet.microsoft.com/ja-jp/mt622143
#azurejpMicrosoft Virtual Academy
https://msdn.microsoft.com/ja-jp/dn376515.aspx
#azurejpMicrosoft Virtual Academy (2) 講座のイメージ
#azurejp開発チームの PM が魅せます Channel 9 - Azure
https://channel9.msdn.com/Azure https://channel9.msdn.com/Shows/Azure-Friday