エンジニアのための Cloud 活用
-
Upload
daiyu-hatakeyama -
Category
Technology
-
view
117 -
download
7
Transcript of エンジニアのための Cloud 活用
#azurejp#azurejp
https://www.facebook.com/dahatake/https://twitter.com/dahatake/https://github.com/dahatake/https://daiyuhatakeyama.wordpress.com/
#azurejp
ビジネスのうねり
#azurejp
1
2
3
4
5
6
7
8
9
10
11
0 2 4 6 8 10 12 14 16 18 20 2222
33
44
566
820
時間(年)
驚異的に短縮
スマ
ート
フォ
ン
$499$10
2007
2015
単価
ドロ
ーン $100,000
$7002007
2013
単価
3D プ
リン
ター
$40,000$100
2007
2014
同程度の機能を実現する機器の単価
DNA
検査 $2.7BN
$10M$1,000
2000
2007
一回あたりの検査費用
2014
テクノロジーの製造コスト ビジネスが 10 億ドル規模に拡大するまでに要する時間
Source: World Economic Forum
3
#azurejpEvery company is a software company
#azurejp
Cloud とは ?
#azurejp
フロント UI
クエリー解析と処理
スケーラビリティインターネッ
ト
データストア
データ管理
自動化 高可用性
#azurejp
社内社外
オンデマンド
スケーラブル
マルチテナント
セルフサービス
場所
ビジネス
技術
インフラ
ビジネス モデル
所有権
システム管理
異種同種
事業運営費 資本的支出額
リース 自社
パートナー 自身
オンプレミス
クラウド
「ホスティング」と何が違うの ?ベストプラクティス
#azurejp
社内社外
オンデマンド
スケーラブル
マルチテナント
セルフサービス
場所
ビジネス
技術
インフラ
ビジネス モデル
所有権
システム管理
異種同種
事業運営費 資本的支出額
リース 自社
パートナー 自身
オンプレミス
クラウド
「ホスティング」と何が違うの ?
同じ
ベストプラクティス
新しい !
#azurejp
オンプレミス
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイム
インフラストラクチャー(IaaS)
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイム
ユー
ザー
管理
プラットフォーム(PaaS)
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
アプリケーション
ランタイム
データ
ソフトウエア(SaaS)
ベン
ダー
管理
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
アプリケーション
ランタイム
データ
Microsoft Azure 仮想マシンWindows Server Hyper-VWindows Server Microsoft Azure
クラウドサービスOffice 365
Dynamics CRMベ
ンダ
ー管
理
ベン
ダー
管理
ユー
ザー
管理
ユー
ザー
管理
管理責任の境界線
#azurejp
Azure が OS を管理
あなた自身で OS とアプリを管理
すべての言語!
.NET, node, PHP, Python, Java
全て管理されるOffice 365, Salesforce, HDInsight, etc.
Rental Carレンタカー
(PaaS)
Your First Car初めての自家用車
(IaaS)
Taxiタクシー
(SaaS)
#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% 市場投入の早さ
#azurejp
Datacenter
#azurejpMicrosoft Datacenter
サーバーキャパシティ20 年来のテクノロジー
2.0+ PUE
コロケーション
第1世代
高密度化ラック高密度化と展開資源影響最小化
1.4 – 1.6 PUE
第2世代
201220091989-2005 2007
コンテナー
1.2 – 1.5 PUE
コンテナー、 POD拡張性と持続可能性外気と水による経済的な冷却SLA の改善
第3世代
モジュラー
1.12 – 1.20 PUE
ITPAC(組み立て式コンポーネント)CO2 抑制、適正サイズ化早期運用屋外空冷式
第4世代
統合化
1.07 – 1.19 PUE
統合システム 耐障害性の高いソフト共通のインフラシンプルな運用柔軟性と拡張性
第5世代
Future
#azurejp
#azurejp
#azurejp
#azurejp
データセンターの面積は1 つのフットボール場に近い
#azurejp
それは、 2 機のジャンボジェット機が格納できる広さ
#azurejp
1 つの Region にデータセンターが16個
#azurejp
それぞれの Azure Region には、
600,000 サーバーが置ける
#azurejp
Security
#azurejp
「危なくて外部にデータおけないよ…」
#azurejp技術に関係なくアタックされる
#azurejp
#azurejp
コントロール
秘匿性とデータ保護
契約と SLA
標準的なセキュリティ
施策
コントロールできる
#azurejp
ID 管理とアクセス制御
データの統制 ホストの保護 Operations
Management Suite
Azure セキュリティ センター
Azure Marketplace
暗号化 安全なネットワーク通信
セキュリティの管理
Key Vault 保存データ暗号化オ
プション 通信データ暗号化オ
プション SQL の暗号化 ディスクの暗号化
パートナー ソリューション
ネットワーク セキュリティ グループ (NSG)
VPN ExpressRoute
自身でコントロールする
#azurejp
企業向けの建屋、ソフトウェアやサービスは、業界最高のセキュリティを維持
サイバーセキュリティ
業界標準や、コンプライアンスの準拠をお約束
コンプライアンス
プライバシーの保護のため、お客様のデータは、サービスの遂行のためだけに使用し、広告ビジネスには使用しない
プライバシー
トラストセンターにて、Software Development Lifecycle や 法的情報のレポートなどを公開
透過性
Trustworthy Cloud• Microsoft はお客様に対してオープンで透過的であること
をお約束いたします。プライバシーとセキュリティなどのデータ保護の手順なども公開しています。
#azurejpコンプライアンスへの適合状況①
CDSAContent Delivery and Security Association (CDSA) は、デジタル メディアに関わる著作権侵害防止手順のコンプライアンスについての Content Protection and Security (CPS) 標準を提供しています。 Azure はこの CDSA 監査に合格しており、コンテンツ開発と配信に関するワークフローのセキュリティが確保されています。
CJISFBI の刑事司法情報サービス (CJIS) データベースにクラウド ベースのソリューションを介してアクセスする米国連邦機関または地方機関は、 CJIS セキュリティ ポリシーに準拠したクラウド プロバイダーを利用する必要があります。 Azure は、 CJIS に準拠することが契約上明記されている唯一のメジャー クラウド プロバイダーです。
CSA CCMCloud Security Alliance (CSA) Cloud Control Matrix (CCM) には、 CCM バージョン 1.2 で定義されているセキュリティ、プライバシー、コンプライアンス、リスク管理の要件を Azure がどのように満たしているかについて詳細が記されています。
DIA CAP米国国防総省 (DoD) の Information Assurance Certification and Accreditation Process (DIACAP) は、企業と組織の情報システムのリスク管理を支援する米国国防総省のプロセスです。しかし、 2014 年 3 月、 DoD は DIACAP を NIST 800-37 Risk Management Framework と DoD 8510.01 に置き換えました。 Azure は、 FedRAMP 認定を通じてこれらの基準の適合性を実証しています。
ENISA IAFThe European Network and Information Security Agency (ENISA) Information Assurance Framework (IAF) is a set of criteria designed to help organizations assess the risk of adopting cloud services and gain assurance that CSPs are appropriately securing customer information. To evaluate Azure’s compliance with IAF criteria, customers can refer to Azure’s CSA CCM version 3.0.1 where the IAF requirements have been mapped against the CSA CCM’s control framework.DISA レベル 2Azure は、 FedRAMP JAB との互恵協定に基づき、クラウド セキュリティ モデル レベル 2 の DISA Provisional Authorization の認証を取得しました。この認定は、 DoD Instruction 8500.01 および 8510.01 、セキュリティ要件ガイド、 CDSSI 1253 、および NIST 800-37 / 53 で定められた必要な基準に Azure が適合していることを証明するものです。EU モデル契約条項Microsoft は、個人データの転送に関する契約上の保証を行う EU 標準契約条項をお客様に提供します。 Microsoft は、 EU の第 29 条作業部会 (契約上のコミットメントに関する作業部会 ) から認定を受けた最初の企業です。
FDA 21 CFR 第 11 部米国食品医薬品局 (FDA) 連邦規則集 (CFR) 第 21 編第 11 部は、米国内で製造または消費される食物および薬品を販売する企業の電子記録のセキュリティに関するコンプライアンス要件を定めています。規制要件を満たすために Microsoft とお客様の間で共有する責任について記されている Qualification Guideline for Microsoft Azure を用い、企業は Azure サービスと実行がそれらの要件を満たしていることを例証できます。
FedRAMPFederal Risk and Authorization Management Program (FedRAMP) は、米国政府で実施される必須プログラムであり、連邦機関が使用するクラウド サービスに対するセキュリティの評価、承認、および監視について標準化された手法を提供します。 Azure は、FIPS 199 分類に基づく Moderate (部分的な ) 影響レベルにおいて FedRAMP の Joint Authorization Board (JAB) から、 Provisional Authorities to Operate (P-ATO) を付与されています。
FERPAFamily Educational Rights and Privacy Act (FERPA) は、学生の教育記録のプライバシーを保護する米国連邦法です。 Azure は FERPA に準拠しているので、学生データの第三者への転送が制限されています。
FIPS 140-2Federal Information Processing Standard (FIPS) Publication 140-2 は米国政府のセキュリティ基準で、機密情報を守る暗号化モジュールのセキュリティ要件を指定します。 Azure は、 NIST によって公開された検証済みリストに掲載されている Microsoft の暗号化モジュールを使用しています。これにより、お客様は、情報の暗号化要件を満たす方法で Azure Virtual Network サービスを構成および使用できます。FISC日本の金融情報システム センター (FISC) とその会員は連携して、金融機関の情報システムにおける一連のセキュリティ対策推進ガイドラインを確立しました。 Azure は、 FISC の要件を満たすために評価を受けました。また、銀行のコンピューター システムのセキュリティ、情報システム監査、緊急時対応策、セキュリティ ポリシーの策定に関する推奨を含むガイダンスを提供しています。
GB18030GB18030 is the Chinese ideographic character set and encoding standard. It applies to the software processing of Chinese characters in the exchange, storage, transmission, display, input, and output of information. The government of China has mandated that all software and services shipped to China must provide the necessary level of support for Chinese character sets in order to ensure interoperability with appropriate Chinese languages. Microsoft Azure is certified as compliant with the mandatory part of this standard by the China Electronics Standardization Institute (CESI).IRS 1075Internal Revenue Service Publication 1075 (IRS 1075) は、関係機関が採用しているポリシー、プラクティス、管理、セーフガードにより、連邦税情報と関連する財務上の納税申告データの機密性が適切に保護されていることを確認するためのガイダンスを提供しています。 Microsoft Azure Government は、お客様が IRS 1075 の要件に準拠するためのセキュリティ機能をサポートします。
FISMA米国連邦情報セキュリティ マネジメント法 (FISMA) は、連邦政府機関内の情報システムをセキュリティ保護するための米国国立標準技術研究所 (NIST) が定義したガイドラインをよりどころとしています。 FedRAMP では、各機関に独自の情報セキュリティ プログラムを定義および実行するよう求めるのではなく、すべての当事者に対して一貫した査定を行います。これにより、クラウド ソリューションの承認プロセスが簡略化されます。
HIPAA / HITECHHealth Insurance Portability and Accountability Act (HIPAA) は、患者の保護された医療情報 (Protected Health Information: PHI) に関して規定した米国連邦法です。 Azure は、 HIPAA のセキュリティとプライバシーの条項への準拠を明記した HIPAA Business Associate Agreement (BAA) をお客様に提供しています。
CCSL (IRAP)Azure は、オーストラリア通信電子局 (ASD) によって認定済みで、未分類 (DLM) データの保存と処理に関して ASD Certified Cloud Services List (CCSL) に含まれています。この認定で、独立登録審査機関が行う包括的な評価の完了、見直し、および承認が正常に行われたことが認められました。
ISO/IEC 27001/27002:2013ISO/IEC 27001/27002:2013 認証は、この規格で定義されている、国際的に認められている情報セキュリティ統制 ( 組織内での情報セキュリティ管理の開始、実装、維持、および向上のガイドラインや一般原則など ) をマイクロソフトが実装していることを認証しています。
ISO/IEC 27018:2014Microsoft は、クラウド サービス プロバイダーによる個人情報の取り扱いについて規定している ISO/IEC 27018 実施基準に準拠する唯一のクラウド プロバイダーです。 ISO/IEC 27018 に含まれている規定では、お客様の同意を得ることなくお客様のデータを宣伝やマーケティングのために使用することを禁じています。
(2015 年 12月現在 )
#azurejpコンプライアンスへの適合状況②
MLPSマルチレベル保護スキーム (MLPS) は、中華人民共和国公安部によって発行された中国国家規格に基づきます。 Azure はこの規格に準拠する 21Vianet によって運用され、クラウド システムの管理と技術のセキュリティの両面が保証されています。
MTCS SS Tier 3Azure ( パブリック ) は、 Multi-Tier Cloud Security Standard for Singapore (MTCS SS) でレベル 3 の認定を取得しました。これは、シンガポールの Information Technology Standards Committee (ITSC) によって策定されたデータ保持とデータ主権などの分野を網羅する ISO 27001 ベースの基準です。レベル 3 は、 HBI データの最も厳しいセキュリティ要件で組織を規制するように設計されています。NZ GCIOニュージーランド (NZ) の Government Chief Information Officer (GCIO) は、基本的にデータ主権に関連する、クラウド サービスのセキュリティとプライバシーの面に焦点を当てた 105 の質問で構成される枠組みを公開しました。 Microsoft New Zealand は、 Microsoft Azure がこれらの要件をどのように満たしているかについての情報を積極的に発信しています。
PCI DSS レベル 1Azure は、ペイメント カード業界 (PCI) データ セキュリティ基準 (DSS) レベル 1 バージョン 3.0 に準拠しています。これは、ほとんどのペイメント カードを受け入れ、各種カードの所有者のデータを保存、処理、または送信する組織のための世界的な認証基準です。
Safe HarborMicrosoft abides by the US–EU Safe Harbor Framework and the US–Swiss Safe Harbor Program set forth by the US Department of Commerce regarding the collection, use, and retention of data from the EU as well as the European Economic Area (EEA)—Norway, Iceland, and Liechtenstein—and Switzerland.Shared Assessments ProgramThe Shared Assessments Program is a vendor risk management toolset that customers can use to assess and verify Azure’s IT, privacy and data security controls in support of cloud security. Azure demonstrates alignment with the Shared Assessments Program’s cloud security requirements through the CSA CCM version 3.0.1 where the SIG questionnaire and AUP requirements have been mapped against the CSA CCM’s control framework.SOC 1 Type 2 および SOC 2 Type 2Service Organization Controls (SOC) は、サービス組織の会計情報に関する制御を測定するための一連の会計基準です。Azure の SOC 1 および SOC 2 Type 2 監査レポートは、セキュリティ制御の設計と運用の効果性を検証します。
TCS CCCPPF21Vianet 社が運用する Azure は、オープン プラットフォームの、高品質なサービス レベル契約、強力なデータ復元機能を提供し、お客様に堅実なメリットをもたらすことで、 China Cloud Computing Promotion and Policy Forum (CCCPPF) が策定した Trusted Cloud Service Certification (信頼されたクラウド サービス認証 ) に最初に合格した中国のクラウド プロバイダーの 1 つに数えられてます。
英国 G-Cloud英国政府の G-Cloud は、英国内の政府機関が使用するサービスに関するクラウド コンピューティング認証です。Azure は、英国政府の Pan Government Accreditor から OFFICIAL 認証評価を受けています。
米国リハビリテーション法第 508 条 / VPATMicrosoft は、 Azure のコア サービスの多くについて詳細な Voluntary Product Accessibility Templates (VPAT) を提供して、米国リハビリテーション法第 508 条への Azure の適合レベルを実証しています。 Azure は多くのサービスで構成されているため、特定のコンポーネントと機能に個別の VPAT が提供されています。
(2015 年 12月現在 )
#azurejp共同責任Azure だけで、守れるわけではない。
皆様 Microsoft
On-Premises IaaS PaaS SaaS
StorageServers
Networking
O/SMiddleware
Virtualization
DataApplications
Runtime
#azurejp
データセンター側でどんなセーフガードが行われているの
か ?
クラウド上のアプリケーションのセキュリティを
向上させるためには、
自分達は何ができるのか ?
#azurejp
DevOps
#azurejp典型的な課題 – ユーザーのFeedback
“ フィードバックありがとうございます !頂戴したコメントは、数年後に予定しています次のリリー
スには反映させていただきます。”
The OLD way
ベータ
サービスイン
ベータ
サービスイン
#azurejp
#azurejp1. 自己組織化とビジネス連携
• 自己組織化• 1 Feature Team = Dev + QA + Ops + PM
• ビジネス連携• ビジョン - シーズン - Plan - 開発のレイヤー• スプリントの成果物はビデオで報告
#azurejp2. 技術的負債の管理
• テスト• 可能な限り最も低レベルテストを書く• Write once, run anywhere: 本番でも動く
• リポジトリ• 1 マスターブランチ• こまめに継続的に
マージ
#azurejp3. 顧客の価値をプロダクトに反映
• 少数意見にも耳を傾ける• アカウントごとの利用率を測定。悪い場合はアプローチして問題点を把握
• 顧客との会話• ユーザーフィードバックに対して回答
#azurejp4. & 5. ユーザーデータの収集と分析
• 仮説検証を繰り返す• アカウント作成率改善例• フィーチャーフラグを使用して検証を実施
• ユーザーデータは Power BI で可視化して分析
作成率 : 36% 作成率 : 54%
#azurejp6. プロダクション ファーストマインドセット• アラートを減らす
• アクション可能なアラートだけを通知• ヘルスモデルに基づいて疑わしき根本原因を自動分析
原因が同じコンポーネントこのコンポーネント開発
チームにアラート通知
#azurejp7. インフラを柔軟なリソースとして活用
• リリースワークフローを自動化• Visual Studio Team Services
リリース管理機能で実現
• カナリアテストも容易に• Azure Resource Manager テンプレートで
インフラ構築を速く・確実に実現
#azurejp典型的な障壁
• パフォーマンスと可用性のトラブルシューティングはいつも難しい
• 運用者は速度についていって、十分早くリリースができない
• アジャイル方法論が開発サイクルをスピードアップした
• 投資の優先順位付けが実際に使われるパターンに即していない
計画 モニタ + 学習
Development
リリース
Operations
開発 + テスト
#azurejpリリースサイクル改善の課題
迅速に 頻繁に 確実に
#azurejp一般的な開発
要求
分析・設計
開発
テスト
1~2年
OPS
リリース
DEV
#azurejpアジャイル
Development Development Development Development
1~2週
DEV
#azurejp実際のアジャイル
Development Development Development Development
6ヶ月
エンドゲーム
DEV
QA
#azurejp継続的デリバリ
Development Development Development Development
1週間? しかし・・
DEVQA
エンドゲームの自動化・分散
#azurejpインフラ構築・運用
Development Development Development Development
3ヶ月
インフラ引き渡し
DEVQA
OPS
#azurejpDevOps の誕生
AgileInfrastructure
DevOpsAgile
Agile
インフラ自動化技術
WebOperatio
n
Agile Infrastructu
re
#azurejpDevOps プラクティス
• Infrastructure as Code (IaC)• 継続的インテグレーション• 自動テスト• 継続的デプロイ• リリースマネジメント• アプリ パフォーマンスの監視• ロード テストと自動スケーリング
• 可用性監視• 変更 / 構成管理• 機能フラグ(フューチャーフラグ)• 環境へのプロビジョニングの自動解除• セルフサービス環境• 自動回復 ( ロールバックとロールフォ
ワード )• 仮説に基づく開発 • 運用環境でのテスト• フォールトインジェクション• 使用状況監視 / ユーザー テレメトリ
http://www.itproguy.com/devops-practices/
サブプラクティス主要なプラクティス
#azurejp
計画1 監視 + 学習
リリース開発 + テスト
2
開発 運用
4
3
DevOps
#azurejp
アイデアを生み出し、それをどのように具現化するかを計画する
作業の管理
開発 + テスト
1
計画プロジェクト開始
計画進捗の追跡
#azurejp
コードの記述
単体テスト
2
ビルド
バージョン管理
ビルドの検証
リリース
開発者が反復作業を開始して、機能にアイデアを実装する
開発 + テスト
#azurejp
クラウド ロード テスト
統合テスト環境
自動化された機能テスト環境
3
運用前環境
ステージング環境
監視 + 学習
すべてのテストに合格したら、ビルドをテスト環境にデプロイし、
リリース プロセスの各ステージでテストを行う
リリース
#azurejp
ユーザーがどのようにアプリを使用するか、どのようにアプリが応答するか、
問題やバグの修正にどのくらい時間がかかるかを把握する
監視 + 学習
4
監視
フィードバック
次の反復作業を計画
#azurejp
Server
Compute
Storage
Compute
Storage
サーバー から、コンピュート と ストレージ へ
#azurejp
Compute
Storage
Authentication
ID Store
Data Processing
Data Store
Query
Search Index
#azurejp
Compute
Storage
#azurejp
Immutable Infrastructure
#azurejp
パッチ適用よりはクリーンインストール
#azurejp
Customer #1
仮想マシンのバージョン管理自社で SaaS提供
IaaS 上で動作
Version 1.0
Customer #2
Version 1.0
Customer #3
Version 2.0
Version 1.0
Version 2.0
#azurejp“Infrastructure as a code”
Configuration IISWebsite { Node Server1, Server2 { WindowsFeature IIS { Ensure = “Present” Name = “Web-Server” }
WindowsFeature ASP { Ensure = “Present” Name = “Web-Asp-Net45” } } }
$Namespace = 'root/Microsoft/Windows/DesiredStateConfiguration'$ClassName = 'MSFT_DSCLocalConfigurationManager'$cimClass = Get-CimClass -Namespace $Namespace -ClassName $ClassName $mofData = Get-Content "$env:SystemDrive\FileResource.mof"$enc = [system.Text.Encoding]::UTF8$totalSize = [System.BitConverter]::GetBytes($mofData.Length + 4)$dataInUint8Format = $totalSize + $enc.GetBytes($mofData) $param = @{ ModuleName = 'PSDesiredStateConfiguration'; resourceProperty = $dataInUint8Format; ResourceType = 'MSFT_FileDirectoryConfiguration';} # Create Cim session$wsmanSession = New-CimSession -ComputerName localhost -SessionOption (New-CimSessionOption -Protocol Wsman) # Invoke DSC Resource Test methodInvoke-CimMethod -CimClass $cimClass -MethodName ResourceTest -Arguments $param -Verbose -CimSession $wsmanSession
#azurejp“Immutable Infrastructure”• Micro-services と相性の良い、使い捨ての出来るインフ
ラバージョンは増
える
テスト回数も増える
Infrastructure as a Code
Container / Services Fabric
パッチ適用をしないクリーンな
環境Infrastructure as a Code
継続した
デプロイ
#azurejp
Micro-services
#azurejp#azurejp
何年間
#azurejp
ユーザー資産業務ワークフロー
「ライフサイクルを分けたい」
顧客
商品
受注
EC サイト /App
商品検索
商品管理
配送 /請求
CRM5 年 ? 3ヵ
月 ?
#azurejp
サービス
サービス
サービス
従来型 と Microservices機能 1 機能 2 機能 3
Application
機能 1 機能 2 機能 3
Application再設計
自立したライフサイクル管理 バージョニング、デプロイ、スケー
ル 障害時にも整合性、可用性を維持 異なる言語 / フレームワーク
明確に定義されたインターフェース /プロトコルで他と連携 名前解決可能な固有の名前 (URI)
小規模な開発チーム
#azurejpいずれでも、 Microservices は実現可能
Service Fabric
Container Service
VM Scale Sets
マイクロサービス フレームワーク
オーケストレーションとコンポジション
柔軟なインフラ
#azurejpCompute リソースの使い方の違い仮想マシン Container / Services Fabric
• 各 VM に 1 つのサービス インスタンス
• 均一でないワークロード• コンピューティングの密度が低い• デプロイ /更新が遅い• スケーリング /DR ( 災害復旧 ) が遅い
• 各 VM に多数のマイクロサービス
• コンピューティングの密度が高い
• デプロイ /更新が速い• スケーリングが速い
#azurejpDocker イメージコンテナ実行時に必要なファイルシステムイメージ・レイヤ(層)の集合体。実体は tar アーカイブ
読み込み専用で変更できない
イメージはレイヤを共有できるレイヤには親子関係があり、イメージ構築時は差分を記録
無駄なディスク両々の増加を防ぎ、移動しやすく
コンテナ起動時、イメージを使うコンテナ内のファイルを隔離した状態で実行する
読み書き可能なレイヤをイメージの上に追加する
Docker イメージ
(Read Only) image layer image layer image layer image layer image layer image layer image layer image layer
base image (Ubuntu, Debian, etc)
#azurejpAzure Service Fabric• マイクロサービス フレームワーク• ステートフル / ステートレス / アクター• Windows Server 、 Linux• Docker コンテナー サポート (将来 )• .NET 、 Java API• Azure 、 Azure Stack 、
VMware 、 OpenStack 、 AWS…
#azurejp
物理コンピューター 仮想マシン
Process
Container
More isolated More efficient
ハードウェア Not shared Shared Shared Shared
カーネル Not shared Not shared Shared* Shared
システム リソース
(ex: File System)
Not shared Not shared Not shared Shared
* Windows Hyper-V コンテナは、カーネルを共有しません
分離レベルの違い
#azurejp
Compute
Storage
#azurejp
Internet of Things (IoT) Impact
#azurejp現在のデータの流れ
デバイス
データタブレット
スマートフォンウェアラブル
接続 蓄積 活用
Web API クラウド レポート
#azurejpInternet of Things (IoT) を実現
デバイス
接続 蓄積 分析 管理・活用・拡張
Web API
Event Hub
1010001
データベース
Blob / Queue /Table
機械学習
HDinsight
Stream Analytics
Power BI
#azurejp経験から AI による制御へ
温度センサー 湿度センサー
受動的空調制御
人による環境の安定化(補正)
室内温度
適応型空調制御
室内湿度 人数 空間
容量消費電力
日時室外温度
室外湿度 建材 照度
ソーシャル天気予報
センサー
学習モデル
機械学習
ビジネス ロジック
Big Data
#azurejp
New type ofData
#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
“Volume”膨大
“Velocity”スピード
“Variety”多様性
社内の資産
サーチやソーシャル
オープンデータ
コラボ可視化
Big Data の構成要素
#azurejp活用したいオープンデータ。その取り込み• 広く活用可能なものとして公開したデータ• 多様性を創造• ただし、スキーマ・鮮度・形式などのコントロールは出来
ない段階 公開の状態 データ形式
1段階 ★ オープンライセンスでデータを公開 PDF 、 JPG2段階 ★★ コンピュータで処理可能なデータを公開 XLS 、 DOC3段階 ★★★ オープンに利用できるフォーマットでデー
タを公開XML 、 CSV
4段階 ★★★★ Web標準( RDF等)のフォーマットでデータを公開
RDF
5段階 ★★★★★ 他へのリンクを入れたデータ( LOD )を公開
Linked-RDF
#azurejp無限のはずのクラウドストレージの現実サービス名 データの種
類単位 数値 メモ
Azure Blob ファイル ストレージアカウント
500 TB
Page Blob 1 TBAzure Document DB
JSON データベースアカウント
1 TB
ドキュメント 512 KB
SQL Database 構造化データ
データベース 1 TB “P11”
SQL Data Warehouse
構造化データ
データベース 60 TB Public Preview後に 240TB まで増加予定
ファイルサイズの上限がある以上、何らかの管理は必要
#azurejp
無制限 が変えるもの 不要な処理
を減らす
場所を考えなくて
いい
保存期間を考えなくて
いい
外のデータを積極的に取り込む
#azurejp
HDInsight Analytics Store
Hadoop as a Services
Big Data Query as a Services
容量無制限Raw Data
アクセスコントロール
Azure Data Lake Services
#azurejpLambda Architecture
Inbound Data
BufferedIngest
(message bus)
Event 処理 Logic
Event Decoration
Spooling/ArchivingHot Store
Analytical Store
Curation
取り込み
保存処理
Dashboards/Reports
Exploration
Interactive
Data Movement/ Sync
利用
#azurejp
取り込み
Modern Data Lifecycle
処理 保存 利用
キュレーション
#azurejp
取り込み
Modern Data Lifecycle
処理 保存 利用
Event HubsIoT Hubs
Service BusKafka
HDInsightADLAStormSpark
Stream Analytics
ADLSAzure StorageAzure SQL DBAzure SQL DW
ADLSAzure DW
Azure SQL DBHbase
CassandraAzure Storage
Power BI
キュレーションAzure Data Factory Azure ML
#azurejp
Dashboards
Interactive
Exploration
API も考慮する必要あり
可視化だけでは、不足する
#azurejp
Machine Learning
#azurejpMachine Learning の適用領域数学的・統計学的手法を使い、データの関連性の解析や予測を行うニューラルネットワーク、クラスタリング等のテクニック(Source: IDC2003) 」
レコメンデーション
広告効果分析
ビジネスへの気象情報活用
SNS 分析
IT インフラ ・Web アクセス解析
法的ドキュメントの検証
価格最適化 不正検知
顧客解約分析
機器予防保全
ロジスティクス最適化
カスタマイズ保険
#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?
#azurejpclean / transform / mathsClass Outlook Temp. WindyPlay Sunny Lowest Yes
No Play ? High YesNo Play Sunny High KindOf
Play Overcast Low YesPlay Turtle
CloudHigh No
Play Overcast ? NoNo Play Rainy Low 28%
Play Rainy Low No? Sunny Low No
yak shavingAny apparently useless activity which, by allowing you to overcome intermediate difficulties, allows you to solve a larger problem.
I was doing a bit of yak shaving this morning, and it looks like it might have paid off.
wikipedianeed to clean up dataneed to convert to model-able form (linear algebra)
#azurejp
Class 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
clean / transform / maths
#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
#azurejppredict
PLAY!!!
Class Outlook
Temp. Windy
? Sunny Low No
#azurejp
ImageNet最大規模のイメージデータセット
– 120万の学習用イメージ、 10 のテスト用イメージ– 1000 クラス
Deep Learning が変える画像認識
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
#azurejp
#azurejpDeep Learning Demands New Class of HPC
トレーニング 類推する
Data / Users
ScalablePerformance
Throughput+ Efficiency
1 度のトレーニングで、数十億
TFLOPSXeon CPU だと、 1 年がかり
GPU だと 1日
処理事に数十億 FLOPSXeon CPU だと数秒
GPU だと即座
#azurejp機械学習のモデルを 作る <-> 使う
Azure Storage = クラウドストレージ
Azure Data Lake = 大規模分散処理
Azure Machine Learning = 機械学習
Azure Cognitive Service
Azure Media Analytics
Storage
Compute
API
Application
HadoopAzure
VM
CNTK / TensorFlow
/Python / RML
Engine
Spark + MLLib
#azurejpMicrosoft Cognitive Services 一覧Vision Speech Languag
e SearchKnowledge
見る+
認知機能
聞く /話す+
認知機能
言語+
認知機能画像 / ビデオの
読解顔識別、感情判
別
話し手の識別文章の聞き取り & 理解
情報+
認知機能文章読解
文意、文脈の理解Web/学術情報 / ビックデー
タを集約
検索+
認知機能Bing 検索エンジ
ンによる検索
Preview
#azurejpCognitive Services のアプリケーション例 CaptionBot
#azurejp開発の現場への機械学習のインパクト
#azurejpアルゴリズム• 職人による新規性、進歩性を競える職人 (?) の世界
処理
入力 出力
アルゴリズムとして実装
#azurejp機械学習• 入力と教師データとしての出力のデータ
モデルの構築はデータ任せ
処理
機械学習によるモデル化
アルゴリズムの実装ではなく、適切なデータの選択とクレンジング、学習アルゴリズムの選択とチューニング、そして試行錯誤
入力 出力
#azurejp変わる開発コストのバランス
アルゴリズム プログラム
データ 機械学習
• 高額なコンピューターリソース• 草創期における人材の流入• 限られたデータ• 限られた相互運用
#azurejp
無限のコンピューターリソースクラウドサービスにより、コンピュテーションコスト、リソースはもはや問題ではない
アルゴリズム プログラム
データ機械学習
#azurejpデータ収集の変化
10~20 のデータソース1日に1回のデータ収集10~20 年前と変わらず
100~200 のデータソース1時間に1回のデータ収集サーバーを使用することで比較的多くのデータ収集
数十万を超えるデータソース1秒以下の間隔でデータ収集クラウドサービスによる制限
の無いデータ容量
1 2 3 4 5 6 7 8 9 10 11 12 13 140
10
20
30
40
50
60
Chart Title
より多くのソースからのより粒度の細かいデータ
爆発するデータサイズ 学習精度の大幅な向上
#azurejp
Connect to othersAPI world
#azurejpAPI アプリのアーキテクチャ例バックエンドは、ギャラリーの API やカスタム コードの API アプリ。 AAD によって保護。
SaaS へのログインには、コンセント サーバー、トークン ストアを活用したサーバー フロー。
リソース グループ
API アプ
リ ゲ
ート
ウェ
イ
他の Azureサービス…
クライアント• Web • モバイル• ロジック
アプリサード
パーティーSaaS
ギャラリーの API アプリ
Salesforceコネクター
Office 365コネクター
カスタム コード
モバイルアプリ
直接デプロイ
ロジック アプリ
オンプレミス
ロジック アプリ
ロジック アプリ定義
トークンストア
Azure AD
Twilioコネクター
コンセントサーバー
SaaS へのログインとトークン リフレッシュ
Azur
e AD
#azurejp常時稼働のサーバー費用が無い選択肢
コード イベント + データ
Azure Functions
Server less Compute
#azurejp
交通渋滞予測
○○線運行情報
△ △線運行情報
イベント開催情報
TV番組情報
物流
車両情報
道路工事情報
空調負荷予測
販売計画
混雑予測
駅員・警備計画
空調制御計画
故障予知
集荷予測
天候情報
保守計画
売上予測
混雑予測
#azurejp
交通渋滞予測
○○線運行情報
イベント開催情報
TV番組情報
物流
車両情報
道路工事情報
空調負荷予測
販売計画
空調制御計画
故障予知
集荷予測
天候情報
保守計画
売上予測
混雑予測
Cloud Platform
Big Data
Machine Learning
Micro-servicesImmutable Infrastructure
API
△ △線運行情報
混雑予測
駅員・警備計画
#azurejp
Conversation as a Platform
#azurejp
Skype SDK
対人間
Office 365Group
Connector
対人間
ルールベース
自動化
AI
BotFramework Cortana りんな
Connector
Directory SDK
Conversations as a Platform
#azurejp感情的な会話と「能力」
長く続く会話と能力で、ユーザの心をつかむ
#azurejp
EmotionalProductivity
明日の天気は晴れです。
どこか出かける予定でも
あるの?
明日晴れるかなぁ?
「りんな」のコンセプト – Emotional AI
#azurejp会話を補助するシナリオ例• 受付の例
音声⇒テキストデータ
テキストデータ⇒音声
顔認証
担当社員への連絡
こんにちは。○○株式会社の□□と申します。
本日△△さんと 11:00 からお約束しております。
返答テキストの作成
会議室予約との照合
自然言語分析
Intent: MTGEntities CompanyName:○○株式会社 VisitorName: □□ RequesterName: △△ MeetingDateTime: Today, 11:00
□□様、お待ちしておりました。××番の会議室までお越しください。
#azurejp
Bot がビジネスのための新しいチャネルとなる
Microsoft Confidential
様々なサービスやデバイスを横断して顧客へリーチ
より自然な会話型での、エンゲージメント
製品やサービスを、モバイルと相性の良い各種メッセージングサービスへ組み込む
顧客体験を向上させ、人間によるアシスタントを効率化
#azurejp会話を補助するダイアログの例• 受付の例
音声⇒テキストデータ
テキストデータ⇒音声
顔認証
担当社員への連絡
こんにちは。○○株式会社の□□と申します。
本日△△さんと 11:00 からお約束しております。
返答テキストの作成
会議室予約との照合
自然言語分析
Intent: MTGEntities CompanyName:○○株式会社 VisitorName: □□ RequesterName: △△ MeetingDateTime: Today, 11:00
□□様、お待ちしておりました。××番の会議室までお越しください。
#azurejp
旅行 BotConversational Agent
宿泊予約 飛行機の予約
ご挨拶 (Hello!) 会員確認Dialogs/Tasks
Parameters ( なし ) チェックイン日
チェックアウト日
人数 (部屋の種類 )
概算見積もり
出発場所
…..到着場所
認証
特別オファー
#azurejp
Cortana Intelligence
Conversations as a Platform
Bot Framework
Cortana Your personal
assistant
Cognitive Services
#azurejp
まとめ
#azurejp
燃料 3.7 リットル -> ¼ トンの荷物を 32 キロ運べる
燃料 3.7 リットル -> 1 トンの荷物を 697 キロ運べる
経済性Low High
コントロール / 責任High Low
でもA から B にしかいけない9:12 AM から 11:14PM までの間しか移動時間がとれない
でも道路があれば、どこにでもいける
維持費 =駐車場 +税金 + 車検 +ガソリン代
維持費 =0円使いたい時に利用しその分料金を払う
#azurejp
さあ、始めましょう !azure.com
#azurejpCall to ActionAzure を試したい クラウドを始めるなら Azure
aka.ms/startazure
Azure を使ってビジネスをしたい
ISV ビジネス支援プログラム事務局[email protected]
最新技術を意欲的に取り入れた
い
マイクロソフト先端技術対応支援事務局 aka.ms/ascappform
#azurejp
© 2016 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.