Post on 28-Jan-2018
話者紹介
(C) Recruit Career Co., Ltd. All rights reserved.
リクルートキャリア
安 昌浩
ビジネス背景
ARMテンプレート
日本マイクロソフト
大田 昌幸
Azure Functions
Azure Storage
Office 365
日本マイクロソフト
土井 貴彦
Data Factory
SQL Database
Power BI
会社の目指す未来と果たす社会的使命
(C) Recruit Career Co., Ltd. All rights reserved.
ひとりでも多くの人たちが「働く喜び」を膨らませ、「働く喜び」の輪が、新たな活力を生み出している社会を創りたい
Our Vision
雇用を取り巻く環境変化
(C) Recruit Career Co., Ltd. All rights reserved.
5,900
6,000
6,100
6,200
6,300
6,400
6,500
1 2 3 4
0
500
1,000
1,500
2,000
2,500
3,000
3,500
1 2 3 4 5 6 7
万人
1995年 2000年 2005年 2010年2015年
①労働人口減少人口ボーナス期→人口オーナス期
②産業構造変化製造業中心 → サービス業中心
③テクノロジーの発展人や企業の力を最適化、極大化
0.2 1.43.2 4.4
9
13
18
24.3
31.5
0
5
10
15
20
25
30
35
CPUの処理速度推移
2 12 40 160
10001500
3000
4000
6000
0
1000
2000
3000
4000
5000
6000
7000
HDDの記憶密度の推移
サービス業従事者
製造業従事者
万人
1995年 2000年 2005年 2010年2015年
GHz
GB
出典:総務相「通信自由化意向の通信政策の評価とICT社会の未来像等に関する調査研究(平成27年)
新入社員・転職者が直面する「悲しみの谷」
(C) Recruit Career Co., Ltd. All rights reserved.
「悲しみの谷」本来の持ち味が発揮できない状況
t
Engagement
「悲しみの谷」の克服は日本にとって大きな命題
(C) Recruit Career Co., Ltd. All rights reserved.
いかに短くするか?
いかに浅くするか?t
「悲しみの谷」本来の持ち味が発揮できない状況
t
Engagement
(C) Recruit Career Co., Ltd. All rights reserved.
Communication(意思疎通)
Clear(自覚)
Choice(選択)
Evidence based HRM
働く環境の変化
企業におけるデータ
(C) Recruit Career Co., Ltd. All rights reserved.
Office 365
無自覚的 自覚的
定期健診性格検査
etc
期末評価コンピテンシー
資格等級etc
パルス・サーベイ社内アンケート
etc
会議
メール・チャット
低頻度
高頻度
Office 365 会議データの説明
(C) Recruit Career Co., Ltd. All rights reserved.
****
****************************
****************
*****************
**************
*********
招集した人オーナーシップ
招集された人仲間への貢献
(C) Recruit Career Co., Ltd. All rights reserved.
水澤さん
After活躍
(自分から他者へのつながりが増加)
Beforeもやもや
本人本人
支援者(同僚)
要件 対応内容
開発期間が短い12月開発開始、1月にPoC開始
ありものの機能は最大限活用する= IaaS ではなく PaaSを最大限使う
開発者は2-3名責任範囲を分けたい。仕事を極力少なくしたい
検証フェースの予算が5万円/月と限られているが、本番環境は同じ技術でスケールさせたい
基本的に PaaSを活用し、本番環境ではよりパワフルな構成にする(スケールアップ/スケールアウト/類似サービス活用)
IT管理部門の承認は時間がかかるので、一般ユーザーに予定表のアクセス権を付与し、一般ユーザーの権限で情報を取得したい
Office 365側ではユーザーコンテキストのAccess Tokenを利用してアプリを実装する
参加者は80名程度いて、できるだけ短時間で処理を終わらせたい
Server-lessな仕組みを使ってパラレルな処理で情報を収集する
データ解析担当者が分析するためにcsvも出力したい
Storageにデータを一度出力しそれを何らかのバッチでSQLに保存するフローにする
エンドユーザーも簡単に見れるBIツールが必要その情報は自動的に更新されてほしい
Power BI と Azureを組み合わせて実現する
https://graph.microsoft.com/v1.0/users/<user principal name>/calendarView?startDateTime=2017-01-01&endDateTime=2017-01-30
--Header--
Accept: application/json
Authorization: Bearer <Access Token>
以下のように予定データを jsonで取得可能。
取得対象データが多い場合には自動でページングし、
次のデータ取得用エンドポイントを@odata.nextlinkとして提示される
"https://graph.microsoft.com/v1.0/users/user@example.com/calendarView?startDateTime=2017-01-01&endDateTime=2017-01-30&$skip=10"
https://doc.co/urvZd5
https://blogs.msdn.microsoft.com/tsmatsuz/2013/07/11/native-application-mobile-app-azure-active-directory-login-authentication/
https://docs.microsoft.com/ja-jp/azure/active-directory/develop/active-directory-devhowto-multi-tenant-overview
Azure Functions概要
https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-overview
https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-reference-csharp#a-namereusing-csx-codeacsx-コードの再利用
https://docs.microsoft.com/ja-jp/azure/storage/storage-dotnet-how-to-use-tables
#load "..\Shared\token.csx"
public static void Run(バインド用の変数)
{
//CSVの列を定義
while (true)
{
Graph API をコール
try-catchして401を受け取ったら、Shared\token.csxの処理でAccessTokenをリフレッシュ。
イベントのデータをsting型の変数に繰り返し連結していく
@odatanextlinkがnullになったらbreak
}
バインドしていたBlobにcsvファイルとして出力
}
public static void Run(バインド用の変数)
{
Graph API をコール
@odatanextlinkがあればそのクエリをQueuenに投げる
try-catchして401を受け取ったら、Shared\token.csxの処理でAccessTokenをリフレッシュ。
バインドしていたTable Storageにデータを出力
}
参考 : クラウドによるデータ統合サービスである Azure Data Factory サービスの概要
本ソリューションにおける使いどころ・ Azure BLOB Storageに格納された csvファイルを SQL Database
に取り込む・毎日同じ処理を指定した時間帯に実行する・ csvファイルの退避・バックアップ
コピーウィザード
Azure Data Factory のデータセット
Data Factory のスケジュール設定と実行
参考 : SQL Database とは SQL Database の概要
本ソリューションにおける使いどころ・データの格納・データの加工 (ビューの作成、ストアドプロシージャの実行など)
SQL Database のオプションとパフォーマンス: 各サービスレベルで使用できる内容について理解する
参考 : Power BIとは ?
本ソリューションにおける使いどころ・ SQL Databaseに格納されたデータの可視化・ダッシュボードの共有・モバイルアプリからのアクセス
Power BI Desktop
Power BI Service
Power BI Embedded
行レベルアクセス制御
Microsoft Japan Data Platform Tech Sales Team
・Power BIコミュニティ勉強会https://powerbi.connpass.com/
ユーザコミュニティによる、無償の不定期開催の勉強会主催:Microsoft MVP for Data Platform
協力:日本マイクロソフトほか、協力会社様
過去開催の様子2016/10/01 Power BI 勉強会 –はじめの一歩が開催されました2016/11/26 Power BI 勉強会 –第二回が開催されました2017/02/18 Power BI 勉強会 –第 3 回が開催されました
次回開催は 2017年 5月を予定しています。
注)当コミュニティにおける当社社員の発言は日本マイクロソフトおよび Microsoft Corporation としての正式見解と異なる可能性がございます。
・Azure SQL Data Warehouse
Azure SQL Data Warehouse とは
クラウドで実現するスケーラブルなデータウェアハウス Azure SQL Data Warehouse
解説 (de:code2016)
Azure SQL Data Warehouse の概要
・Azure Analysis Services (Preview)Azure Analysis Services とは
Azure Analysis Services と Power BI on SSRS の発表
複数会社に外販する際の技術的課題
• 毎回人手でAzureの構築をするのは手間
• 細かい設定ミスを避けたい
• Infrastructure as Code 的なやり方はないのか?
(C) Recruit Career Co., Ltd. All rights reserved.
Azure Resource Manager (ARM) テンプレートの活用
Resource Group : アプリケーション/プロジェクト単位のコンテナ
• 複数リソースを内包可能
• アクセス権設定可能
• この単位で自動展開可能(ARM Templateを活用)
(C) Recruit Career Co., Ltd. All rights reserved.
RESOURCE GROUP
ARMテンプレート
• json形式でパラメータ追加・修正をし、Azureにデプロイ
• リソースグループ単位で簡単に環境を再現可能
• GUIでもcliでも操作可能
(C) Recruit Career Co., Ltd. All rights reserved.
# ARMテンプレートの基本
{"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#","contentVersion": "","parameters": { },"variables": { },"resources": [ ],"outputs": { }
}
ARM テンプレートの概要 : https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-authoring-templates
ARM テンプレートの構成イメージ (基本単位)
(C) Recruit Career Co., Ltd. All rights reserved.
parameter.jsontemplate.json
• テンプレートファイルとパラメタ用ファイルで構成(パラメタ用ファイルの利用は任意)
• azuredeploy.jsonは骨格をparameter.jsonは変数を定義するイメージ
ARM テンプレートの構成イメージ (複数リソース展開)
(C) Recruit Career Co., Ltd. All rights reserved.
azuredeploy.json parameter.json
[sqlserver]
sqldeploy.json
[webapps]
azuredeploy.json
親
子
parameter.json parameter.json
ARM テンプレートのメリット/デメリット
• ARMテンプレートの便利な点
–ほぼ全ての構築・デプロイを自動化できる
–手間がかからない
–誰がやっても同じ環境が再現できる
(C) Recruit Career Co., Ltd. All rights reserved.
当初の目的は達成
ARM テンプレートのメリット/デメリット
• ARMテンプレートの不便な点
–ドキュメントが少ないサービスもある
•そんな時に役立つテンプレート集は以下にあります
– https://github.com/Azure/azure-quickstart-templates
–リソースが増えるほどjsonが長くなる
•テンプレートは分割可能なので、分割前提で作成するべき以下のベストプラクティスを先に読むことをおすすめします
– https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-manager-template-best-practices
– jsonなのでコメントが書けない• metadata内のdescriptionに書くことはできる
(C) Recruit Career Co., Ltd. All rights reserved.
"metadata": {"description": "hogehoge"
}
開発者向けの最新情報はこちらhttps://blogs.msdn.microsoft.com/jpisvte/
Azure全般を学べる書籍はこちらhttps://www.amazon.co.jp/dp/B06X91FMZG