SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Allan MacInnis
Principal Solutions Architect, Amazon Web Services
Milan Brahmbhatt
Zynga
BDA307
Analyzing Data Streams in Real Time
with Amazon Kinesis
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Timely Decisions Require New Data in Minutes
Source: Perishable Insights, Mike Gualtieri, Forrester
Data loses value quickly over time
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Stream New Data in Seconds
Get actionable insights quickly
Streaming
Ingest video
& data as it’s
generated
Process data
on the fly
Real-time
analytics/ML,
alerts, actions
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Most Common Uses of Streaming
Security
monitoring
Industrial
automation
Data
lakes
IoT device
monitoring
Log
analytics
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Streaming with Amazon Kinesis
Easily collect, process, and analyze data and video streams in real time
Capture, process, and
store video streams
Kinesis Video Streams
Load data streams into
AWS data stores
Analyze data streams
with SQL
Capture, process, and
store data streams
Kinesis Data Streams Kinesis Data Firehose Kinesis Data Analytics
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Kinesis Data Streaming
Collect, process, and analyze data streams in real time
EMR/Spark
Custom code
on EC2
Amazon S3
Amazon
Redshift
Splunk
Ingest,
store data
streams
Kinesis
Data
Streams
Kinesis
Data
Analytics
Aggregate,
filter, enrich
data
Kinesis
Data
Firehose
Egress
data
streams
AWS Lambda
Real time
Fully managed
Scalable
Secure
Cost-effective
Amazon
Elasticsearch
Service
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Use Case 1: Clickstream Analytics
Example: Website content recommendations
Streams website
clickstreams for
analytics
Aggregates
clickstreams based on
user sessions and
calculates site metrics
Loads aggregated
metrics to Amazon
Redshift
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Use Case 2: Real-Time Analytics
Example: Analyze streaming social media data
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Use Case 3: IoT Stream Processing
Example: Sensors in tractor detect need for a spare part and automatically
place order
Finds tractors that need
maintenance and orders
replacement parts
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kinesis Data Analytics Overview
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
It’s All about the Pace
Hourly server logs
Weekly or monthly bills
Daily website clickstream
Daily fraud reports
Real-time metrics
Real-time spending alerts & caps
Real-time clickstream analysis
Real-time detection
Batch processing Stream processing
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Kinesis Data Analytics
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Simple Pattern for Streaming Data
Continuously creates
data
Continuously writes
data to a stream
Can be almost anything
Data producer
Durably stores data
Provides temporary
buffer that preps data
Supports very high-
throughput
Streaming service
Continuously processes
data
Cleans, prepares, &
aggregates
Transforms data to
information
Data consumer
Mobile client Kinesis Amazon Kinesis app
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kinesis Data Analytics Applications
Easily write SQL code to process streaming data
Connect to streaming source
Continuously deliver SQL results
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
How do I write streaming SQL? Easy!
Streams (in memory tables)
CREATE STREAM calls_per_ip_stream(
eventTimeStamp TIMESTAMP,
computationType VARCHAR(256),
category VARCHAR(1024),
subCategory VARCHAR(1024),
unit VARCHAR(256),
unitValue BIGINT
);
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
How do I write streaming SQL? Easy!
Pumps (continuous query)
CREATE OR REPLACE PUMP calls_per_ip_pump AS
INSERT INTO calls_per_ip_stream
SELECT STREAM "eventTimestamp",
COUNT(*),
"sourceIPAddress"
FROM source_sql_stream_001 ctrail
GROUP BY "sourceIPAddress",
STEP(ctrail.ROWTIME BY INTERVAL '1' MINUTE),
STEP(ctrail."eventTimestamp" BY INTERVAL '1' MINUTE);
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
How do we aggregate streaming data?
• Aggregations (count, sum, min, etc.) take granular, real-
time data and turn it into insights
• Data is continuously processed so you need to tell the
application when you want results
Windows!
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Window Types
• Sliding, tumbling, and custom windows
• Tumbling windows are fixed size and grouped keys do not
overlap
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Event, Ingest, and Processing Time
• Event time is the time stamp assigned when the event
occurred, also called client-side time.
• Processing time is when your application reads and
analyzes the data (ROWTIME).
…
GROUP BY "sourceIPAddress",
/* Trigger for results */
STEP(ctrail.ROWTIME BY INTERVAL '1' MINUTE),
/* A time stamp grouping key */
STEP(ctrail."eventTimestamp" BY INTERVAL '1' MINUTE);
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Late Results
• An event is late if it arrives after the computation to which
it logically belongs has been completed
• Your Kinesis Analytics application will produce an
amendment
…
GROUP BY "sourceIPAddress",
/* Trigger for results */
STEP(ctrail.ROWTIME BY INTERVAL '1' MINUTE),
/* A time stamp grouping key */
STEP(ctrail."eventTimestamp" BY INTERVAL '1' MINUTE);
Amazon Kinesis Data Analytics – Pricing
• Pay only for what you use.
• Charged an hourly rate, based on the average
number of Kinesis Processing Units (KPU)
used to run your application.
• A single KPU provides one vCPU, and 4 GB of
memory.
• $0.11 per KPU-hour (US East).
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Customer Examples
1 billion events per
week from
connected devices
Near-real-time home
valuation
(Zestimates)
Live clickstream
dashboards refreshed
under 10 sec.
100 GB/day
clickstreams from
250+ sites
50 billion daily ad
impressions, sub-
50-ms responses
Online stylist
processing 10 million
events/day
Facilitate
communications
between 100+
microservices
Analyze billions of
network flows in
real time
IoT predictive
analytics
Analyze game
events in near
real time
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Zynga Example
Milan Brahmbhatt, Zynga
Motivation
1. What are Game Events @ Zynga ?
2. When does Zynga need a Stream Processing System?
3. When does Zynga NOT need a Stream Processing
System?
4. Amazon Kinesis Data Analytics Implementation @
Zynga
5. Implementation Scorecard
6. Best Practices
Agenda
What are Game Events?
Visit (daily active users)
Installs
Session
Social
Goods
Messages
Message Clicks
When does
need a
stream processing service?
How many
installs
does have on
the iMessage platform
in the last 10 minutes?
Data store
Tracking Installs
Amazon Kinesis
Data Streams
Amazon Kinesis
Data Analytics
When does
NOT need a
stream processing service?
What is ‘s
day7 install date
retention?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Design Principles
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Design Principles
Managed
service
Stateless
design
Loose
coupling
Extensible
system
Empower
customers
Scalable
system
Fault
tolerant
Performant
system
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Kinesis @
All data
producers
Kinesis Data
Streams
Lambda
preprocessor
Kinesis Data
Analytics
Aggregated
Data Kinesis
Stream
AWS
Lambda
readers
Streaming
consumers
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Example Aggregation Metric Configuration
{
"data": {
"counter": "GameX_Counter",
"game_id": "game_x_id"
},
"metric": "GameX-Output-Metric|cnt"
}
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Example Incoming Records
"game_x_id,2018-04-04,05:39:02,GameX_Counter"
"game_x_id,2018-04-04,05:39:03,GameX_Counter"
"game_x_id,2018-04-04,05:39:04,GameX_Message_Click"
"game_x_id,2018-04-04,05:40:02,GameX_Counter",
"game_x_id,2018-04-04,05:55:02,GameX_Counter”,
Want to aggregate and get this result:
At 2018-04-04, 05:39:00 – the count is 3
At 2018-04-04, 05:55:00 – the count is 1
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Lambda Preprocessor
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Our Preprocessor Lambda
To transform the input, we have into aggregation friendly input. We use the
preprocessor Lambda to perform the following functions:
1. Parse the Kinesis Producer Library-formatted batches
2. Match data records to relevant (subscribed and user-defined) metrics
3. Map the input taxonomy to (sometimes multiple) output taxonomies
Kinesis Data Analytics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Our Preprocessor Lambda - Mapping
Kinesis Data Analytics
• We want to avoid restarts on updates (a disruptive operation)
• Use Kinesis Data Analytics to aggregate on meaningful numeric values
• Preprocessor Lambda Exactly-Once invocation
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Preprocessor Output to Kinesis Data Analytics
{
"time": "2018-04-04 05:39:02.0",
"source": ”consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"value": 1
}
{
"time": "2018-04-04 05:39:03.0",
"source": "consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"value": 1
}
{
"time": "2018-04-04 05:40:02.0",
"source": ”consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"value": 1
}
{
"time": "2018-04-04 05:55:02.0",
"source": ”consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"value": 1
}
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kinesis Data Analytics SQL
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Streaming Data Preprocessor
Output
Calculated SQL
Stream
Merged Destination
SQL Stream
Destination SQL
Stream
Kinesis Stream
Transform raw data to output taxonomy
1st window
(tumbling)
Group by rowtime, record time,
source, metric, and detail. FLOOR
rowtime, time to minute granularity
Merge multiple input streams
to allow GROUP BY rowtime,
time, source, metric, and detail
2nd window
(tumbling)
Calculate count, sum, average, min,
max over 10 min. sliding window3rd window
(sliding)
Aggregated data consumed by
metric consumers
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kinesis Data Analytics Processing
{
"time": "2018-04-04 05:39:00",
"source": ”consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"cnt": 2,
"sum": 2,
"min": 1,
"max": 1
}
{
"time": "2018-04-04 05:40:00",
"source": ”consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"cnt": 1,
"sum": 1,
"min": 1,
"max": 1
}
{
"time": "2018-04-04 05:55:00",
"source": ”consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"cnt": 1,
"sum": 1,
"min": 1,
"max": 1
}
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Scenario
12:00–12:01
1000 800 190 10
12:00–2:01 12:01–12:02 12:02–12:03
Input Processing
Output
?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Tumbling Window Output
12:00–12:01
1000 800 190 10
12:00–12:01 12:01–12:02 12:02–12:03
Input Processing
Output
12:01 - 800
12:02 - 190
12:03 - 10
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Sliding Window Output
12:00–12:01
1000 800 190 10
12:00–12:01 12:01–12:02 12:02–12:03
Input
Output
12:00:00 - 1
12:00:01 - 2
12:00:01 - 3
…
12:03:30 - 999
12:03:32 - 1000
Processing
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Multi-Window Chain
12:00–12:01
1000 800 190 10
12:00–12:01 12:01–12:02 12:02–12:03
Input Processing Output
12:01 - 800
12:02 - 990
12:03 - 1000
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Multi-Window Chain SQL
…
GROUP BY
FLOOR((”SOME_DESTINATION_SQL_STREAM"."ROWTIME" - TIMESTAMP '1970-
01-01 00:00:00') MINUTE / 1 TO MINUTE),
"time", "source", "metric", "detail";
…
WINDOW W1 AS (
PARTITION BY "time", "source", "metric", "detail"
RANGE INTERVAL '10' MINUTE PRECEDING);
• 1-minute tumbling window outputs are fed into a 10-min sliding
window.
• Data records can take up to ~10 mins to propagate through our data
pipeline (but on average they take ~ 3 mins).
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kinesis Data Analytics Output
{
"time": "2018-04-04 05:39:00",
"source": ”consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"cnt": 3,
"sum": 3,
"avg": 1,
"min": 1,
"max": 1
}
{
"time": "2018-04-04 05:55:00",
"source": ”consumer_x",
"metric": "GameX-Output-Metric|cnt",
"detail": "",
"cnt": 1,
"sum": 1,
"avg": 1,
"min": 1,
"max": 1
}
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Non-Disruptive Updates
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Another Aggregation Metric
{
"data": {
”client_id": ”iMessage",
"game_id": "game_x_id"
},
"metric": "GameX-Install-Output-Metric|cnt"
}
Configured by GameX for consumer_x
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Non-Disruptive Updates
When game teams upload new metrics in Amazon S3, this triggers the self-
service AWS Lambda updater to generate preprocessor metric configurations.
Kinesis Data
Analytics
AWS
AWS
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Monitoring
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
MillisBehindLatest
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Heartbeat Monitoring
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Kinesis Data Analytics @
tier0 injector
tier1 injector
All data
producers
Kinesis Data
Streams
Lambda
preprocessor
Kinesis Data
Analytics
Aggregated
Data Kinesis
Stream
AWS
Lambda
readers
Streaming
consumers
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Heartbeat Injector
”tier0": {
"appId": ”123456",
"clientId": "1",
"data": {
"counter": "StreamHeartbeatV0.1",
"kingdom": "Tier0API",
"phylum": "<injector_hash>",
”event": ”some_game_event"
},
},
Both injectors send 100 artificial game events per minute
using a configurable taxonomy that lives in Amazon S3. The
taxonomy between the two injectors slightly differ to
compare results between the two later.
”tier1": {
"appId": ”123456",
"clientId": "1",
"data": {
"counter": "StreamHeartbeatV0.1",
"kingdom": "Tier1SDK",
"phylum": "<injector_hash>",
”event": "some_game_event"
},
},
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Heartbeat Metrics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Heartbeat Metrics
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Scorecard
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Design Principles
Managed
service
Stateless
design
Loose
coupling
Extensible
System
Empower
customers
Scalable
system
Fault-
tolerant
Performant
system
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Best Practices
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Best Practices
Don’t over engineer
Exactly-once semantics of
the preprocessor Lambda
Transform to aggregation
friendly records
Design with the
consumers in mind
Opt-in based aggregation
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Please complete the session
survey in the summit mobile app.
Submit Session Feedback
1. Tap the Schedule icon. 2. Select the session
you attended.
3. Tap Session
Evaluation to submit your
feedback.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Thank you!

Mais conteúdo relacionado

Mais procurados

SRV207 Orchestrating AWS Lambda with Step Functions
 SRV207 Orchestrating AWS Lambda with Step Functions SRV207 Orchestrating AWS Lambda with Step Functions
SRV207 Orchestrating AWS Lambda with Step FunctionsAmazon Web Services
 
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...Amazon Web Services
 
SRV208 S3 One Zone-IA and S3 Select GA
SRV208 S3 One Zone-IA and S3 Select GASRV208 S3 One Zone-IA and S3 Select GA
SRV208 S3 One Zone-IA and S3 Select GAAmazon Web Services
 
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Amazon Web Services
 
SRV309 AWS Purpose-Built Database Strategy: The Right Tool for the Right Job
 SRV309 AWS Purpose-Built Database Strategy: The Right Tool for the Right Job SRV309 AWS Purpose-Built Database Strategy: The Right Tool for the Right Job
SRV309 AWS Purpose-Built Database Strategy: The Right Tool for the Right JobAmazon Web Services
 
SRV310 Optimizing Relational Databases on AWS: Deep Dive on Amazon RDS
 SRV310 Optimizing Relational Databases on AWS: Deep Dive on Amazon RDS SRV310 Optimizing Relational Databases on AWS: Deep Dive on Amazon RDS
SRV310 Optimizing Relational Databases on AWS: Deep Dive on Amazon RDSAmazon Web Services
 
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...Amazon Web Services
 
Serverless Video Ingestion & Analytics with Amazon Kinesis Video Streams (ANT...
Serverless Video Ingestion & Analytics with Amazon Kinesis Video Streams (ANT...Serverless Video Ingestion & Analytics with Amazon Kinesis Video Streams (ANT...
Serverless Video Ingestion & Analytics with Amazon Kinesis Video Streams (ANT...Amazon Web Services
 
Digital Transformation | AWS Webinar
Digital Transformation | AWS WebinarDigital Transformation | AWS Webinar
Digital Transformation | AWS WebinarAmazon Web Services
 
IoT Building Blocks_ From Edge Devices to Analytics in the Cloud
IoT Building Blocks_ From Edge Devices to Analytics in the Cloud IoT Building Blocks_ From Edge Devices to Analytics in the Cloud
IoT Building Blocks_ From Edge Devices to Analytics in the Cloud Amazon Web Services
 
DEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceDEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceAmazon Web Services
 
SID303 Navigating GDPR Compliance on AWS
 SID303 Navigating GDPR Compliance on AWS SID303 Navigating GDPR Compliance on AWS
SID303 Navigating GDPR Compliance on AWSAmazon Web Services
 
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud Amazon Web Services
 
Building Highly Scalable Retail Order Management Systems with Serverless
Building Highly Scalable Retail Order Management Systems with ServerlessBuilding Highly Scalable Retail Order Management Systems with Serverless
Building Highly Scalable Retail Order Management Systems with ServerlessAmazon Web Services
 
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018Amazon Web Services
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Amazon Web Services
 
Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Amazon Web Services
 
Serverless Stream Processing Pipeline Best Practices (SRV316-R1) - AWS re:Inv...
Serverless Stream Processing Pipeline Best Practices (SRV316-R1) - AWS re:Inv...Serverless Stream Processing Pipeline Best Practices (SRV316-R1) - AWS re:Inv...
Serverless Stream Processing Pipeline Best Practices (SRV316-R1) - AWS re:Inv...Amazon Web Services
 
Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Ama...
Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Ama...Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Ama...
Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Ama...Amazon Web Services
 

Mais procurados (20)

SRV207 Orchestrating AWS Lambda with Step Functions
 SRV207 Orchestrating AWS Lambda with Step Functions SRV207 Orchestrating AWS Lambda with Step Functions
SRV207 Orchestrating AWS Lambda with Step Functions
 
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
Building Serverless Applications with Amazon DynamoDB & AWS Lambda - Workshop...
 
SRV208 S3 One Zone-IA and S3 Select GA
SRV208 S3 One Zone-IA and S3 Select GASRV208 S3 One Zone-IA and S3 Select GA
SRV208 S3 One Zone-IA and S3 Select GA
 
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
 
SRV309 AWS Purpose-Built Database Strategy: The Right Tool for the Right Job
 SRV309 AWS Purpose-Built Database Strategy: The Right Tool for the Right Job SRV309 AWS Purpose-Built Database Strategy: The Right Tool for the Right Job
SRV309 AWS Purpose-Built Database Strategy: The Right Tool for the Right Job
 
SRV310 Optimizing Relational Databases on AWS: Deep Dive on Amazon RDS
 SRV310 Optimizing Relational Databases on AWS: Deep Dive on Amazon RDS SRV310 Optimizing Relational Databases on AWS: Deep Dive on Amazon RDS
SRV310 Optimizing Relational Databases on AWS: Deep Dive on Amazon RDS
 
SRV319 Amazon EC2 Foundations
SRV319 Amazon EC2 FoundationsSRV319 Amazon EC2 Foundations
SRV319 Amazon EC2 Foundations
 
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
 
Serverless Video Ingestion & Analytics with Amazon Kinesis Video Streams (ANT...
Serverless Video Ingestion & Analytics with Amazon Kinesis Video Streams (ANT...Serverless Video Ingestion & Analytics with Amazon Kinesis Video Streams (ANT...
Serverless Video Ingestion & Analytics with Amazon Kinesis Video Streams (ANT...
 
Digital Transformation | AWS Webinar
Digital Transformation | AWS WebinarDigital Transformation | AWS Webinar
Digital Transformation | AWS Webinar
 
IoT Building Blocks_ From Edge Devices to Analytics in the Cloud
IoT Building Blocks_ From Edge Devices to Analytics in the Cloud IoT Building Blocks_ From Edge Devices to Analytics in the Cloud
IoT Building Blocks_ From Edge Devices to Analytics in the Cloud
 
DEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceDEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with Dynatrace
 
SID303 Navigating GDPR Compliance on AWS
 SID303 Navigating GDPR Compliance on AWS SID303 Navigating GDPR Compliance on AWS
SID303 Navigating GDPR Compliance on AWS
 
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
SRV304 IoT Building Blocks From Edge Devices to Analytics in the Cloud
 
Building Highly Scalable Retail Order Management Systems with Serverless
Building Highly Scalable Retail Order Management Systems with ServerlessBuilding Highly Scalable Retail Order Management Systems with Serverless
Building Highly Scalable Retail Order Management Systems with Serverless
 
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
 
Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS
 
Serverless Stream Processing Pipeline Best Practices (SRV316-R1) - AWS re:Inv...
Serverless Stream Processing Pipeline Best Practices (SRV316-R1) - AWS re:Inv...Serverless Stream Processing Pipeline Best Practices (SRV316-R1) - AWS re:Inv...
Serverless Stream Processing Pipeline Best Practices (SRV316-R1) - AWS re:Inv...
 
Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Ama...
Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Ama...Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Ama...
Game On! Building Hulu’s Real-Time Notification Platform for Live TV with Ama...
 

Semelhante a BDA307 Analyzing Data Streams in Real Time with Amazon Kinesis

Analyzing Streaming Data in Real Time
Analyzing Streaming Data in Real TimeAnalyzing Streaming Data in Real Time
Analyzing Streaming Data in Real TimeAmazon Web Services
 
Analyzing Streams: Data Analytics Week at the SF Loft
Analyzing Streams: Data Analytics Week at the SF LoftAnalyzing Streams: Data Analytics Week at the SF Loft
Analyzing Streams: Data Analytics Week at the SF LoftAmazon Web Services
 
Analyzing Streams: Data Analytics Week SF
Analyzing Streams: Data Analytics Week SFAnalyzing Streams: Data Analytics Week SF
Analyzing Streams: Data Analytics Week SFAmazon Web Services
 
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018Amazon Web Services
 
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...Amazon Web Services
 
Amazon Kinesis - Building Serverless real-time solution - Tel Aviv Summit 2018
Amazon Kinesis - Building Serverless real-time solution - Tel Aviv Summit 2018Amazon Kinesis - Building Serverless real-time solution - Tel Aviv Summit 2018
Amazon Kinesis - Building Serverless real-time solution - Tel Aviv Summit 2018Amazon Web Services
 
Keeping the Pace with Data Ingestion (GPSCT402) - AWS re:Invent 2018
Keeping the Pace with Data Ingestion (GPSCT402) - AWS re:Invent 2018Keeping the Pace with Data Ingestion (GPSCT402) - AWS re:Invent 2018
Keeping the Pace with Data Ingestion (GPSCT402) - AWS re:Invent 2018Amazon Web Services
 
Get to Know Your Customers - Build and Innovate with a Modern Data Architecture
Get to Know Your Customers - Build and Innovate with a Modern Data ArchitectureGet to Know Your Customers - Build and Innovate with a Modern Data Architecture
Get to Know Your Customers - Build and Innovate with a Modern Data ArchitectureAmazon Web Services
 
Using Apache Flink with Amazon Kinesis (ANT395) - AWS re:Invent 2018
Using Apache Flink with Amazon Kinesis (ANT395) - AWS re:Invent 2018Using Apache Flink with Amazon Kinesis (ANT395) - AWS re:Invent 2018
Using Apache Flink with Amazon Kinesis (ANT395) - AWS re:Invent 2018Amazon Web Services
 
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...Amazon Web Services
 
NFL and Forwood Safety Deploy Business Analytics at Scale with Amazon QuickSi...
NFL and Forwood Safety Deploy Business Analytics at Scale with Amazon QuickSi...NFL and Forwood Safety Deploy Business Analytics at Scale with Amazon QuickSi...
NFL and Forwood Safety Deploy Business Analytics at Scale with Amazon QuickSi...Amazon Web Services
 
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...Amazon Web Services
 
Real Time Data Ingestion & Analysis - AWS Summit Sydney 2018
Real Time Data Ingestion & Analysis - AWS Summit Sydney 2018Real Time Data Ingestion & Analysis - AWS Summit Sydney 2018
Real Time Data Ingestion & Analysis - AWS Summit Sydney 2018Amazon Web Services
 
Running Your SQL Server Database on Amazon RDS (DAT329) - AWS re:Invent 2018
Running Your SQL Server Database on Amazon RDS (DAT329) - AWS re:Invent 2018Running Your SQL Server Database on Amazon RDS (DAT329) - AWS re:Invent 2018
Running Your SQL Server Database on Amazon RDS (DAT329) - AWS re:Invent 2018Amazon Web Services
 
Considerations for Building Your First Streaming Application (ANT359) - AWS r...
Considerations for Building Your First Streaming Application (ANT359) - AWS r...Considerations for Building Your First Streaming Application (ANT359) - AWS r...
Considerations for Building Your First Streaming Application (ANT359) - AWS r...Amazon Web Services
 

Semelhante a BDA307 Analyzing Data Streams in Real Time with Amazon Kinesis (20)

Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
Analyzing Streaming Data in Real Time
Analyzing Streaming Data in Real TimeAnalyzing Streaming Data in Real Time
Analyzing Streaming Data in Real Time
 
Analyzing Streams: Data Analytics Week at the SF Loft
Analyzing Streams: Data Analytics Week at the SF LoftAnalyzing Streams: Data Analytics Week at the SF Loft
Analyzing Streams: Data Analytics Week at the SF Loft
 
Analyzing Streams: Data Analytics Week SF
Analyzing Streams: Data Analytics Week SFAnalyzing Streams: Data Analytics Week SF
Analyzing Streams: Data Analytics Week SF
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
 
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
 
Amazon Kinesis - Building Serverless real-time solution - Tel Aviv Summit 2018
Amazon Kinesis - Building Serverless real-time solution - Tel Aviv Summit 2018Amazon Kinesis - Building Serverless real-time solution - Tel Aviv Summit 2018
Amazon Kinesis - Building Serverless real-time solution - Tel Aviv Summit 2018
 
Keeping the Pace with Data Ingestion (GPSCT402) - AWS re:Invent 2018
Keeping the Pace with Data Ingestion (GPSCT402) - AWS re:Invent 2018Keeping the Pace with Data Ingestion (GPSCT402) - AWS re:Invent 2018
Keeping the Pace with Data Ingestion (GPSCT402) - AWS re:Invent 2018
 
Get to Know Your Customers - Build and Innovate with a Modern Data Architecture
Get to Know Your Customers - Build and Innovate with a Modern Data ArchitectureGet to Know Your Customers - Build and Innovate with a Modern Data Architecture
Get to Know Your Customers - Build and Innovate with a Modern Data Architecture
 
Using Apache Flink with Amazon Kinesis (ANT395) - AWS re:Invent 2018
Using Apache Flink with Amazon Kinesis (ANT395) - AWS re:Invent 2018Using Apache Flink with Amazon Kinesis (ANT395) - AWS re:Invent 2018
Using Apache Flink with Amazon Kinesis (ANT395) - AWS re:Invent 2018
 
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
High Performance Data Streaming with Amazon Kinesis: Best Practices (ANT322-R...
 
NFL and Forwood Safety Deploy Business Analytics at Scale with Amazon QuickSi...
NFL and Forwood Safety Deploy Business Analytics at Scale with Amazon QuickSi...NFL and Forwood Safety Deploy Business Analytics at Scale with Amazon QuickSi...
NFL and Forwood Safety Deploy Business Analytics at Scale with Amazon QuickSi...
 
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
Build an AWS Analytics Solution to Monitor the Video Streaming Experience (MA...
 
Real Time Data Ingestion & Analysis - AWS Summit Sydney 2018
Real Time Data Ingestion & Analysis - AWS Summit Sydney 2018Real Time Data Ingestion & Analysis - AWS Summit Sydney 2018
Real Time Data Ingestion & Analysis - AWS Summit Sydney 2018
 
Running Your SQL Server Database on Amazon RDS (DAT329) - AWS re:Invent 2018
Running Your SQL Server Database on Amazon RDS (DAT329) - AWS re:Invent 2018Running Your SQL Server Database on Amazon RDS (DAT329) - AWS re:Invent 2018
Running Your SQL Server Database on Amazon RDS (DAT329) - AWS re:Invent 2018
 
Considerations for Building Your First Streaming Application (ANT359) - AWS r...
Considerations for Building Your First Streaming Application (ANT359) - AWS r...Considerations for Building Your First Streaming Application (ANT359) - AWS r...
Considerations for Building Your First Streaming Application (ANT359) - AWS r...
 

Mais de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mais de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

BDA307 Analyzing Data Streams in Real Time with Amazon Kinesis

  • 1. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Allan MacInnis Principal Solutions Architect, Amazon Web Services Milan Brahmbhatt Zynga BDA307 Analyzing Data Streams in Real Time with Amazon Kinesis
  • 2. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Timely Decisions Require New Data in Minutes Source: Perishable Insights, Mike Gualtieri, Forrester Data loses value quickly over time
  • 3. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Stream New Data in Seconds Get actionable insights quickly Streaming Ingest video & data as it’s generated Process data on the fly Real-time analytics/ML, alerts, actions
  • 4. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Most Common Uses of Streaming Security monitoring Industrial automation Data lakes IoT device monitoring Log analytics
  • 5. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Streaming with Amazon Kinesis Easily collect, process, and analyze data and video streams in real time Capture, process, and store video streams Kinesis Video Streams Load data streams into AWS data stores Analyze data streams with SQL Capture, process, and store data streams Kinesis Data Streams Kinesis Data Firehose Kinesis Data Analytics
  • 6. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Kinesis Data Streaming Collect, process, and analyze data streams in real time EMR/Spark Custom code on EC2 Amazon S3 Amazon Redshift Splunk Ingest, store data streams Kinesis Data Streams Kinesis Data Analytics Aggregate, filter, enrich data Kinesis Data Firehose Egress data streams AWS Lambda Real time Fully managed Scalable Secure Cost-effective Amazon Elasticsearch Service
  • 7. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Use Case 1: Clickstream Analytics Example: Website content recommendations Streams website clickstreams for analytics Aggregates clickstreams based on user sessions and calculates site metrics Loads aggregated metrics to Amazon Redshift
  • 8. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Use Case 2: Real-Time Analytics Example: Analyze streaming social media data
  • 9. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Use Case 3: IoT Stream Processing Example: Sensors in tractor detect need for a spare part and automatically place order Finds tractors that need maintenance and orders replacement parts
  • 10. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kinesis Data Analytics Overview
  • 11. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. It’s All about the Pace Hourly server logs Weekly or monthly bills Daily website clickstream Daily fraud reports Real-time metrics Real-time spending alerts & caps Real-time clickstream analysis Real-time detection Batch processing Stream processing
  • 12. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Kinesis Data Analytics
  • 13. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Simple Pattern for Streaming Data Continuously creates data Continuously writes data to a stream Can be almost anything Data producer Durably stores data Provides temporary buffer that preps data Supports very high- throughput Streaming service Continuously processes data Cleans, prepares, & aggregates Transforms data to information Data consumer Mobile client Kinesis Amazon Kinesis app
  • 14. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kinesis Data Analytics Applications Easily write SQL code to process streaming data Connect to streaming source Continuously deliver SQL results
  • 15. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. How do I write streaming SQL? Easy! Streams (in memory tables) CREATE STREAM calls_per_ip_stream( eventTimeStamp TIMESTAMP, computationType VARCHAR(256), category VARCHAR(1024), subCategory VARCHAR(1024), unit VARCHAR(256), unitValue BIGINT );
  • 16. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. How do I write streaming SQL? Easy! Pumps (continuous query) CREATE OR REPLACE PUMP calls_per_ip_pump AS INSERT INTO calls_per_ip_stream SELECT STREAM "eventTimestamp", COUNT(*), "sourceIPAddress" FROM source_sql_stream_001 ctrail GROUP BY "sourceIPAddress", STEP(ctrail.ROWTIME BY INTERVAL '1' MINUTE), STEP(ctrail."eventTimestamp" BY INTERVAL '1' MINUTE);
  • 17. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. How do we aggregate streaming data? • Aggregations (count, sum, min, etc.) take granular, real- time data and turn it into insights • Data is continuously processed so you need to tell the application when you want results Windows!
  • 18. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Window Types • Sliding, tumbling, and custom windows • Tumbling windows are fixed size and grouped keys do not overlap
  • 19. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Event, Ingest, and Processing Time • Event time is the time stamp assigned when the event occurred, also called client-side time. • Processing time is when your application reads and analyzes the data (ROWTIME). … GROUP BY "sourceIPAddress", /* Trigger for results */ STEP(ctrail.ROWTIME BY INTERVAL '1' MINUTE), /* A time stamp grouping key */ STEP(ctrail."eventTimestamp" BY INTERVAL '1' MINUTE);
  • 20. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Late Results • An event is late if it arrives after the computation to which it logically belongs has been completed • Your Kinesis Analytics application will produce an amendment … GROUP BY "sourceIPAddress", /* Trigger for results */ STEP(ctrail.ROWTIME BY INTERVAL '1' MINUTE), /* A time stamp grouping key */ STEP(ctrail."eventTimestamp" BY INTERVAL '1' MINUTE);
  • 21. Amazon Kinesis Data Analytics – Pricing • Pay only for what you use. • Charged an hourly rate, based on the average number of Kinesis Processing Units (KPU) used to run your application. • A single KPU provides one vCPU, and 4 GB of memory. • $0.11 per KPU-hour (US East).
  • 22. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Customer Examples 1 billion events per week from connected devices Near-real-time home valuation (Zestimates) Live clickstream dashboards refreshed under 10 sec. 100 GB/day clickstreams from 250+ sites 50 billion daily ad impressions, sub- 50-ms responses Online stylist processing 10 million events/day Facilitate communications between 100+ microservices Analyze billions of network flows in real time IoT predictive analytics Analyze game events in near real time
  • 23. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Zynga Example Milan Brahmbhatt, Zynga
  • 25. 1. What are Game Events @ Zynga ? 2. When does Zynga need a Stream Processing System? 3. When does Zynga NOT need a Stream Processing System? 4. Amazon Kinesis Data Analytics Implementation @ Zynga 5. Implementation Scorecard 6. Best Practices Agenda
  • 26. What are Game Events? Visit (daily active users) Installs Session Social Goods Messages Message Clicks
  • 27. When does need a stream processing service?
  • 28.
  • 29. How many installs does have on the iMessage platform in the last 10 minutes?
  • 30. Data store Tracking Installs Amazon Kinesis Data Streams Amazon Kinesis Data Analytics
  • 31. When does NOT need a stream processing service?
  • 32. What is ‘s day7 install date retention?
  • 33. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Design Principles
  • 34. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Design Principles Managed service Stateless design Loose coupling Extensible system Empower customers Scalable system Fault tolerant Performant system
  • 35. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Kinesis @ All data producers Kinesis Data Streams Lambda preprocessor Kinesis Data Analytics Aggregated Data Kinesis Stream AWS Lambda readers Streaming consumers
  • 36. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Example Aggregation Metric Configuration { "data": { "counter": "GameX_Counter", "game_id": "game_x_id" }, "metric": "GameX-Output-Metric|cnt" }
  • 37. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Example Incoming Records "game_x_id,2018-04-04,05:39:02,GameX_Counter" "game_x_id,2018-04-04,05:39:03,GameX_Counter" "game_x_id,2018-04-04,05:39:04,GameX_Message_Click" "game_x_id,2018-04-04,05:40:02,GameX_Counter", "game_x_id,2018-04-04,05:55:02,GameX_Counter”, Want to aggregate and get this result: At 2018-04-04, 05:39:00 – the count is 3 At 2018-04-04, 05:55:00 – the count is 1
  • 38. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Lambda Preprocessor
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Our Preprocessor Lambda To transform the input, we have into aggregation friendly input. We use the preprocessor Lambda to perform the following functions: 1. Parse the Kinesis Producer Library-formatted batches 2. Match data records to relevant (subscribed and user-defined) metrics 3. Map the input taxonomy to (sometimes multiple) output taxonomies Kinesis Data Analytics
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Our Preprocessor Lambda - Mapping Kinesis Data Analytics • We want to avoid restarts on updates (a disruptive operation) • Use Kinesis Data Analytics to aggregate on meaningful numeric values • Preprocessor Lambda Exactly-Once invocation
  • 41. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Preprocessor Output to Kinesis Data Analytics { "time": "2018-04-04 05:39:02.0", "source": ”consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "value": 1 } { "time": "2018-04-04 05:39:03.0", "source": "consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "value": 1 } { "time": "2018-04-04 05:40:02.0", "source": ”consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "value": 1 } { "time": "2018-04-04 05:55:02.0", "source": ”consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "value": 1 }
  • 42. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kinesis Data Analytics SQL
  • 43. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Streaming Data Preprocessor Output Calculated SQL Stream Merged Destination SQL Stream Destination SQL Stream Kinesis Stream Transform raw data to output taxonomy 1st window (tumbling) Group by rowtime, record time, source, metric, and detail. FLOOR rowtime, time to minute granularity Merge multiple input streams to allow GROUP BY rowtime, time, source, metric, and detail 2nd window (tumbling) Calculate count, sum, average, min, max over 10 min. sliding window3rd window (sliding) Aggregated data consumed by metric consumers
  • 44. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kinesis Data Analytics Processing { "time": "2018-04-04 05:39:00", "source": ”consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "cnt": 2, "sum": 2, "min": 1, "max": 1 } { "time": "2018-04-04 05:40:00", "source": ”consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "cnt": 1, "sum": 1, "min": 1, "max": 1 } { "time": "2018-04-04 05:55:00", "source": ”consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "cnt": 1, "sum": 1, "min": 1, "max": 1 }
  • 45. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Scenario 12:00–12:01 1000 800 190 10 12:00–2:01 12:01–12:02 12:02–12:03 Input Processing Output ?
  • 46. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Tumbling Window Output 12:00–12:01 1000 800 190 10 12:00–12:01 12:01–12:02 12:02–12:03 Input Processing Output 12:01 - 800 12:02 - 190 12:03 - 10
  • 47. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Sliding Window Output 12:00–12:01 1000 800 190 10 12:00–12:01 12:01–12:02 12:02–12:03 Input Output 12:00:00 - 1 12:00:01 - 2 12:00:01 - 3 … 12:03:30 - 999 12:03:32 - 1000 Processing
  • 48. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Multi-Window Chain 12:00–12:01 1000 800 190 10 12:00–12:01 12:01–12:02 12:02–12:03 Input Processing Output 12:01 - 800 12:02 - 990 12:03 - 1000
  • 49. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Multi-Window Chain SQL … GROUP BY FLOOR((”SOME_DESTINATION_SQL_STREAM"."ROWTIME" - TIMESTAMP '1970- 01-01 00:00:00') MINUTE / 1 TO MINUTE), "time", "source", "metric", "detail"; … WINDOW W1 AS ( PARTITION BY "time", "source", "metric", "detail" RANGE INTERVAL '10' MINUTE PRECEDING); • 1-minute tumbling window outputs are fed into a 10-min sliding window. • Data records can take up to ~10 mins to propagate through our data pipeline (but on average they take ~ 3 mins).
  • 50. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kinesis Data Analytics Output { "time": "2018-04-04 05:39:00", "source": ”consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "cnt": 3, "sum": 3, "avg": 1, "min": 1, "max": 1 } { "time": "2018-04-04 05:55:00", "source": ”consumer_x", "metric": "GameX-Output-Metric|cnt", "detail": "", "cnt": 1, "sum": 1, "avg": 1, "min": 1, "max": 1 }
  • 51. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Non-Disruptive Updates
  • 52. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Another Aggregation Metric { "data": { ”client_id": ”iMessage", "game_id": "game_x_id" }, "metric": "GameX-Install-Output-Metric|cnt" } Configured by GameX for consumer_x
  • 53. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Non-Disruptive Updates When game teams upload new metrics in Amazon S3, this triggers the self- service AWS Lambda updater to generate preprocessor metric configurations. Kinesis Data Analytics AWS AWS
  • 54. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Monitoring
  • 55. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. MillisBehindLatest
  • 56. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Heartbeat Monitoring
  • 57. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Kinesis Data Analytics @ tier0 injector tier1 injector All data producers Kinesis Data Streams Lambda preprocessor Kinesis Data Analytics Aggregated Data Kinesis Stream AWS Lambda readers Streaming consumers
  • 58. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Heartbeat Injector ”tier0": { "appId": ”123456", "clientId": "1", "data": { "counter": "StreamHeartbeatV0.1", "kingdom": "Tier0API", "phylum": "<injector_hash>", ”event": ”some_game_event" }, }, Both injectors send 100 artificial game events per minute using a configurable taxonomy that lives in Amazon S3. The taxonomy between the two injectors slightly differ to compare results between the two later. ”tier1": { "appId": ”123456", "clientId": "1", "data": { "counter": "StreamHeartbeatV0.1", "kingdom": "Tier1SDK", "phylum": "<injector_hash>", ”event": "some_game_event" }, },
  • 59. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Heartbeat Metrics
  • 60. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Heartbeat Metrics
  • 61. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Scorecard
  • 62. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Design Principles Managed service Stateless design Loose coupling Extensible System Empower customers Scalable system Fault- tolerant Performant system
  • 63. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Best Practices
  • 64. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Best Practices Don’t over engineer Exactly-once semantics of the preprocessor Lambda Transform to aggregation friendly records Design with the consumers in mind Opt-in based aggregation
  • 65. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Please complete the session survey in the summit mobile app.
  • 66. Submit Session Feedback 1. Tap the Schedule icon. 2. Select the session you attended. 3. Tap Session Evaluation to submit your feedback.
  • 67. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Thank you!