[WITH THE VISION 2017]
IoT/AI時代を生き抜くための
データ プラットフォーム
佐藤 直生 (@satonaoki)
Microsoft
IoT/AI時代を生き抜くための
データ プラットフォーム
Leveraging Azure Data Services
for App Development
July 21th, 2017
SATO Naoki (@satonaoki)
Microsoft
CORE INFRASTRUCTURE
Compute Storage Networking Security
ADVANCED WORKLOADS
Web + Mobile
Internet of Things
Microservices
Serverless
Identity Management
Data + Analytics
Cognitive Services
High Performance Compute
TOOLS
Visual Studio + Visual Studio Code + Visual Studio Team Services
What differentiates today’s
thriving organizations?
Data.
The opportunity
is bigger than
you may think
$1.6Tdata dividend available
to businesses that embrace data
over the next four years
speed
More
people
New
analytics
Diverse
data
How?
Data source: Microsoft and IDC, April 2014
The Microsoft data platform capabilities
Transform
+ analyze
Visualize
+ decide
Capture
+ manage
Data
✓
The Microsoft data platform capabilities
Transform
+ analyze
Visualize
+ decide
Capture
+ manage
Data
✓
Apps
Sensors
&
Devices
Information
Management
Big Data
Stores
Machine
Learning
Analytics
Intelligent
Action
Apps
What’s stopping
you from building
THE next great
business app?
• Having to build across all device types and platforms
• Getting to disparate data locked across public & private clouds
• Integrating data across SaaS & Enterprise systems
• Automating business processes
• Scaling the infrastructure for your application
• TIME!
API APPS
Easily build and consume
APIs in the cloud
WEB APPS
Web apps that scale with your
business
LOGIC APPS
Automate business process
across SaaS and on-premises
MOBILE APPS
Build Mobile apps for any
device
App Service
Serverless code
execution on Azure
HTTP Request
Timer
Storage change
IoT Event
CRM record update
Tweet on Twitter
+ 100’s more event sources…
Azure Functions
On-demand serverless code
Develop, debug, test, deploy in Visual Studio
CI/CD support in Visual Studio Team Services and Github
Azure Logic Apps
On-demand serverless workflows
100+ data and app connectors built-in
Integrated Visual Studio tooling
BatchService FabricContainer Service Web Apps
Why PaaS for
data stores?
If you host your database in an
Azure VM,
you are responsible for…
App Optimization
Scaling
High Availability
Disaster Recovery
Backup
Database Patches
OS Patches
Why PaaS for
data stores?
If you use a managed Data
Service,
you are responsible for…
App Optimization
Scaling
High Availability
Disaster Recovery
Backup
Database Patches
OS Patches
App Optimization
Focus on your app and your
business. Achieve a 406% ROI.
Let Azure Data Services
help you build, scale, and
innovate.
Request
Response
With Azure, you have many managed data store options
and you can use the right store for the job
AND not OR for App Developers
When you need…. Because… But not for… Use …
Relational store
Transactions, joins,
structured data,
familiar SQL query
Quickly changing
data schemas
SQL Database
NoSQL key-value
pair store
Low-cost, fast,
massive scale
Rich query Table Storage
NoSQL JSON
document store
Flexible schema,
familiar SQL query,
low latency
Complex joins Cosmos DB
NoSQL wide-
column store
Open-source,
integration with
Hadoop analytics
Operational
simplicity
HBase on
HDInsight
Cache
Increasing speed of
an app
Primary data store Redis Cache
Search service
Integrating search
into an app
Primary data store Azure Search
Options and combinations for different scenarios
More application scenarios
Application meta data Voting (high throughput)
E-commerce Social/user generated content
Marketing sites Gaming
Data exchange/preference/state …and many others
How we think about on-premises
applications today.
SQL
S2
SQL
P1
{ }
And how we think about
applications in the cloud.
SQL
S2
An app that lives in the cloud…
Web Front End Transactions Product Catalog Search Experience Shopping Cart Sentiment
Analysis
User
Profiles
Azure AD
• Hybrid Identity
• Stores user profile
thumbnails synced
from AD
Active Directory
• Simulated on-premises
environment
AADSync
• Sync identities to Azure
SQL Database
• Scale – active geo-replication
• Primary writes
• Load-balanced reads
• Data: Events + Registration
Azure Redis Cache
SQL Database
• Scale – active geo-replication
• Secondary for failover
• Load-balanced reads
• Data: Events + Registration
REGION A
REGION B
Client User
Organization Identity
Azure Websites
• autoscale enabled
• Authentication: Azure AD
Azure Websites (part of
App Service
• autoscale enabled
• Authentication: SQL,
Facebook, Twitter,
Microsoft, User/Pass
Cosmos DB
• Scale via add’l Collections
• Product Catalog
• Community Posts
SQL Database
• Scale via Elastic Database
• Product Orders
Media Services + Storage
• Uploaded Community Videos
• Secure upload and streaming
• Static and Dynamic Packaging
to all formats
Search
• Scale via Search Units
• Product Catalog
• Community Posts
Azure Redis Cache
+
Client User
Let’s dive in to the services
When you need…. Because… But not for…
Relational store
Transactions, joins,
structured data,
familiar SQL query
Quickly changing
data schemas
NoSQL key-value
pair store
Low-cost, fast,
massive scale
Rich query
NoSQL JSON
document store
Flexible schema,
familiar SQL query,
low latency
Complex joins
NoSQL wide-
column store
Open-source,
integration with
Hadoop analytics
Operational
simplicity
Cache
Increasing speed of
an app
Primary data store
Search service
Integrating search
into an app
Primary data store
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
Use …
SQL Database
Table Storage
Cosmos DB
HBase on
HDInsight
Redis Cache
Azure Search
• Two-dimensional rows/columns
• Strongly typed column data
• Declarative schema
Customer Table
CustomerName
Address
Telephone
Product Table
ProductName
Quantity
Color
Order Table
OrderNumber
CustomerName
ProductName
IaaSPaaS
Azure SQL Database
Azure Database for
MySQL/PostgreSQL
Azure SQL Database
• Built for SaaS and Enterprise applications
• Predictable performance & Pricing
• Elastic database pool for unpredictable SaaS workloads
• 99.99% availability built-in
• Geo-replication and restore services for data protection
• Secure and compliant for your sensitive data
• Fully compatible with SQL Server 2014 databases
Fully managed relational database service
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
“SQL Database is the heart of
our system that processes
billions of application metrics a
month.
“Elastic Database pools is
essential to our ability to
quickly provision new clients
and scale out as our business
rapidly grows.“
Matt Watson,
Founder and CEO, Stackify
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
PostgreSQL as a Service
MySQL as a Service
Built-in high-availability and security
Elastically scale up or down with no application downtime
100% compatible with all existing drivers, libraries, tools
Announcing new Azure Services
MySQL
PostgreSQL
Partition Key Row Key Value
Marketing 00001
Name Age
Bob 35
Marketing 00002
Name Age
Karen 42
Marketing Department
Name Count
MKTG 104
Sales 00010
Name Age
Sam 29
• Simple Map
• Semi-Structured
• De-normalized
IaaSPaaS
Azure Table Storage
Azure Redis Cache
For:
▪ Web app user data
▪ Address books
▪ Device information
▪ Other metadata
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
For:
▪ All apps
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
For:
▪ Interactive websites
▪ Sensor data
▪ Message systems
▪ Real-time query (using Phoenix)
▪ Writing transactional data to Azure Blobs
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
• No schema, no relationships
• Collections of documents
• Documents are JSON objects
{
"title": "Polo Long Sleeve Shirt",
"color": "red",
"material": "cotton"
}
{
"title": "NoSQL Distilled,
"author": [ "Martin Fowler", “P. Sadalage" ],
"isbn": "978-0321826626",
"pages": 192
}
IaaSPaaS
Azure Cosmos DB
MongoLabRavenHQ
Globally distributed database service
Scale to
any need
Comprehensive
SLAs
Globally
distributed
Multi model,
multi API
The first globally distributed, multi-model database service
Cosmos DB
A document store
Collections
Document 1 Document 2
Document 3 Document 4
Cosmos DB
Application
{
"name": "John",
"country": "Canada",
"age": 43,
"lastUse": "March 4, 2014"
}
{
"name": "Lou",
"country": "Australia",
"age": 51,
"firstUse": "May 8, 2013"
}
{
"docCount": 3,
"last": "May 1, 2014"
}
{
"name": "Eva",
"country": "Germany",
"age": 25
}
JSON
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
For:
▪ Catalog data
▪ Preferences and state
▪ Event store
▪ User generated content
▪ Data exchange
▪ IoT device registry
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
• Map-based
• Relationships of Edges and Nodes
IaaSPaaS
Azure Cosmos DB
Azure Search
high
high heels
high tops
high arch
Ecommerce and Online Retail
User Generated Content
Line of Business Applications
People use search as a natural, low friction way to interact with apps
Web search engines have set the bar high for search
Instant results, auto-complete, hit highlighting, great ranking, linguistics
Search is hard and rarely a core expertise area
From infrastructure standpoint: availability, durability, scale, operations
From the functionality standpoint: ranking, geo-spatial, input handling
SQL Database
Tables
Cosmos DB
HBase on HDInsight
Redis Cache
Azure Search
Reference Architecture for Managed Web App
https://docs.microsoft.com/
azure/architecture/reference-
architectures/managed-web-app/
FUJIFILM Software (富士フイルムソフトウエア) IMAGE WORKS
https://www.
microsoft.com/
ja-jp/casestudies/
ffs.fujifilm.aspx
https://channel9.
msdn.com/Events/
de-code/2017/AC08
https://docs.microsoft.com/azure/#pivot=architecture
To review
When you need…. Because… But not for…
Relational store
Transactions, joins,
structured data,
familiar SQL query
Quickly changing
data schemas
NoSQL key-value
pair store
Low-cost, fast,
massive scale
Rich query
NoSQL JSON
document store
Flexible schema,
familiar SQL query,
low latency
Complex joins
NoSQL wide-
column store
Open-source,
integration with
Hadoop analytics
Operational
simplicity
Cache
Increasing speed of
an app
Primary data store
Search service
Integrating search
into an app
Primary data store
Use …
SQL Database
Table Storage
Cosmos DB
HBase on
HDInsight
Redis Cache
Azure Search
Apps
Sensors
&
Devices
Information
Management
Big Data
Stores
Machine
Learning
Analytics
Intelligent
Action
Information
Management
Big Data
Stores
Machine
Learning
Analytics
Sensors &
Devices
Cortana Intelligence Suite
Machine Learning
Power BI
Data Lake
SQL Data Warehouse
IoT Suite
IoT Hub
The Microsoft data platform capabilities
Transform
+ analyze
Visualize
+ decide
Capture
+ manage
Data
✓
[WITH THE VISION 2017] IoT/AI時代を生き抜くためのデータ プラットフォーム (Leveraging Azure Data Services for App Development)
[WITH THE VISION 2017] IoT/AI時代を生き抜くためのデータ プラットフォーム (Leveraging Azure Data Services for App Development)

[WITH THE VISION 2017] IoT/AI時代を生き抜くためのデータ プラットフォーム (Leveraging Azure Data Services for App Development)

  • 1.
    [WITH THE VISION2017] IoT/AI時代を生き抜くための データ プラットフォーム 佐藤 直生 (@satonaoki) Microsoft
  • 2.
  • 3.
    Leveraging Azure DataServices for App Development July 21th, 2017 SATO Naoki (@satonaoki) Microsoft
  • 4.
    CORE INFRASTRUCTURE Compute StorageNetworking Security ADVANCED WORKLOADS Web + Mobile Internet of Things Microservices Serverless Identity Management Data + Analytics Cognitive Services High Performance Compute TOOLS Visual Studio + Visual Studio Code + Visual Studio Team Services
  • 5.
  • 6.
    The opportunity is biggerthan you may think $1.6Tdata dividend available to businesses that embrace data over the next four years speed More people New analytics Diverse data How? Data source: Microsoft and IDC, April 2014
  • 7.
    The Microsoft dataplatform capabilities Transform + analyze Visualize + decide Capture + manage Data ✓
  • 8.
    The Microsoft dataplatform capabilities Transform + analyze Visualize + decide Capture + manage Data ✓
  • 9.
  • 10.
    What’s stopping you frombuilding THE next great business app? • Having to build across all device types and platforms • Getting to disparate data locked across public & private clouds • Integrating data across SaaS & Enterprise systems • Automating business processes • Scaling the infrastructure for your application • TIME!
  • 11.
    API APPS Easily buildand consume APIs in the cloud WEB APPS Web apps that scale with your business LOGIC APPS Automate business process across SaaS and on-premises MOBILE APPS Build Mobile apps for any device App Service
  • 12.
    Serverless code execution onAzure HTTP Request Timer Storage change IoT Event CRM record update Tweet on Twitter + 100’s more event sources…
  • 13.
    Azure Functions On-demand serverlesscode Develop, debug, test, deploy in Visual Studio CI/CD support in Visual Studio Team Services and Github
  • 14.
    Azure Logic Apps On-demandserverless workflows 100+ data and app connectors built-in Integrated Visual Studio tooling
  • 15.
  • 16.
    Why PaaS for datastores? If you host your database in an Azure VM, you are responsible for… App Optimization Scaling High Availability Disaster Recovery Backup Database Patches OS Patches
  • 17.
    Why PaaS for datastores? If you use a managed Data Service, you are responsible for… App Optimization Scaling High Availability Disaster Recovery Backup Database Patches OS Patches App Optimization Focus on your app and your business. Achieve a 406% ROI. Let Azure Data Services help you build, scale, and innovate.
  • 18.
  • 22.
    With Azure, youhave many managed data store options and you can use the right store for the job AND not OR for App Developers When you need…. Because… But not for… Use … Relational store Transactions, joins, structured data, familiar SQL query Quickly changing data schemas SQL Database NoSQL key-value pair store Low-cost, fast, massive scale Rich query Table Storage NoSQL JSON document store Flexible schema, familiar SQL query, low latency Complex joins Cosmos DB NoSQL wide- column store Open-source, integration with Hadoop analytics Operational simplicity HBase on HDInsight Cache Increasing speed of an app Primary data store Redis Cache Search service Integrating search into an app Primary data store Azure Search
  • 23.
    Options and combinationsfor different scenarios
  • 24.
    More application scenarios Applicationmeta data Voting (high throughput) E-commerce Social/user generated content Marketing sites Gaming Data exchange/preference/state …and many others
  • 25.
    How we thinkabout on-premises applications today. SQL S2 SQL P1 { } And how we think about applications in the cloud. SQL S2
  • 26.
    An app thatlives in the cloud… Web Front End Transactions Product Catalog Search Experience Shopping Cart Sentiment Analysis User Profiles
  • 27.
    Azure AD • HybridIdentity • Stores user profile thumbnails synced from AD Active Directory • Simulated on-premises environment AADSync • Sync identities to Azure SQL Database • Scale – active geo-replication • Primary writes • Load-balanced reads • Data: Events + Registration Azure Redis Cache SQL Database • Scale – active geo-replication • Secondary for failover • Load-balanced reads • Data: Events + Registration REGION A REGION B Client User Organization Identity Azure Websites • autoscale enabled • Authentication: Azure AD
  • 28.
    Azure Websites (partof App Service • autoscale enabled • Authentication: SQL, Facebook, Twitter, Microsoft, User/Pass Cosmos DB • Scale via add’l Collections • Product Catalog • Community Posts SQL Database • Scale via Elastic Database • Product Orders Media Services + Storage • Uploaded Community Videos • Secure upload and streaming • Static and Dynamic Packaging to all formats Search • Scale via Search Units • Product Catalog • Community Posts Azure Redis Cache + Client User
  • 29.
    Let’s dive into the services When you need…. Because… But not for… Relational store Transactions, joins, structured data, familiar SQL query Quickly changing data schemas NoSQL key-value pair store Low-cost, fast, massive scale Rich query NoSQL JSON document store Flexible schema, familiar SQL query, low latency Complex joins NoSQL wide- column store Open-source, integration with Hadoop analytics Operational simplicity Cache Increasing speed of an app Primary data store Search service Integrating search into an app Primary data store SQL Database Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search Use … SQL Database Table Storage Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 30.
    • Two-dimensional rows/columns •Strongly typed column data • Declarative schema Customer Table CustomerName Address Telephone Product Table ProductName Quantity Color Order Table OrderNumber CustomerName ProductName
  • 31.
    IaaSPaaS Azure SQL Database AzureDatabase for MySQL/PostgreSQL
  • 32.
    Azure SQL Database •Built for SaaS and Enterprise applications • Predictable performance & Pricing • Elastic database pool for unpredictable SaaS workloads • 99.99% availability built-in • Geo-replication and restore services for data protection • Secure and compliant for your sensitive data • Fully compatible with SQL Server 2014 databases Fully managed relational database service SQL Database Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 33.
    “SQL Database isthe heart of our system that processes billions of application metrics a month. “Elastic Database pools is essential to our ability to quickly provision new clients and scale out as our business rapidly grows.“ Matt Watson, Founder and CEO, Stackify SQL Database Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 34.
    PostgreSQL as aService MySQL as a Service Built-in high-availability and security Elastically scale up or down with no application downtime 100% compatible with all existing drivers, libraries, tools Announcing new Azure Services MySQL PostgreSQL
  • 35.
    Partition Key RowKey Value Marketing 00001 Name Age Bob 35 Marketing 00002 Name Age Karen 42 Marketing Department Name Count MKTG 104 Sales 00010 Name Age Sam 29 • Simple Map • Semi-Structured • De-normalized
  • 36.
  • 37.
    For: ▪ Web appuser data ▪ Address books ▪ Device information ▪ Other metadata SQL Database Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 38.
    For: ▪ All apps SQLDatabase Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 39.
    For: ▪ Interactive websites ▪Sensor data ▪ Message systems ▪ Real-time query (using Phoenix) ▪ Writing transactional data to Azure Blobs SQL Database Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 40.
    SQL Database Tables Cosmos DB HBaseon HDInsight Redis Cache Azure Search
  • 41.
    • No schema,no relationships • Collections of documents • Documents are JSON objects { "title": "Polo Long Sleeve Shirt", "color": "red", "material": "cotton" } { "title": "NoSQL Distilled, "author": [ "Martin Fowler", “P. Sadalage" ], "isbn": "978-0321826626", "pages": 192 }
  • 42.
  • 43.
  • 44.
    Scale to any need Comprehensive SLAs Globally distributed Multimodel, multi API The first globally distributed, multi-model database service
  • 45.
    Cosmos DB A documentstore Collections Document 1 Document 2 Document 3 Document 4 Cosmos DB Application { "name": "John", "country": "Canada", "age": 43, "lastUse": "March 4, 2014" } { "name": "Lou", "country": "Australia", "age": 51, "firstUse": "May 8, 2013" } { "docCount": 3, "last": "May 1, 2014" } { "name": "Eva", "country": "Germany", "age": 25 } JSON SQL Database Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 46.
    For: ▪ Catalog data ▪Preferences and state ▪ Event store ▪ User generated content ▪ Data exchange ▪ IoT device registry SQL Database Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 47.
  • 48.
  • 49.
    Azure Search high high heels hightops high arch Ecommerce and Online Retail User Generated Content Line of Business Applications People use search as a natural, low friction way to interact with apps Web search engines have set the bar high for search Instant results, auto-complete, hit highlighting, great ranking, linguistics Search is hard and rarely a core expertise area From infrastructure standpoint: availability, durability, scale, operations From the functionality standpoint: ranking, geo-spatial, input handling SQL Database Tables Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 52.
    Reference Architecture forManaged Web App https://docs.microsoft.com/ azure/architecture/reference- architectures/managed-web-app/
  • 55.
    FUJIFILM Software (富士フイルムソフトウエア)IMAGE WORKS https://www. microsoft.com/ ja-jp/casestudies/ ffs.fujifilm.aspx https://channel9. msdn.com/Events/ de-code/2017/AC08
  • 56.
  • 57.
    To review When youneed…. Because… But not for… Relational store Transactions, joins, structured data, familiar SQL query Quickly changing data schemas NoSQL key-value pair store Low-cost, fast, massive scale Rich query NoSQL JSON document store Flexible schema, familiar SQL query, low latency Complex joins NoSQL wide- column store Open-source, integration with Hadoop analytics Operational simplicity Cache Increasing speed of an app Primary data store Search service Integrating search into an app Primary data store Use … SQL Database Table Storage Cosmos DB HBase on HDInsight Redis Cache Azure Search
  • 58.
  • 59.
    The Microsoft dataplatform capabilities Transform + analyze Visualize + decide Capture + manage Data ✓