SlideShare a Scribd company logo
1 of 49
Download to read offline
Deep Dive – Amazon Kinesis
Guy Ernest, Solution Architect - Amazon Web Services
@guyernest
Motivation for Real Time Analytics
E*
BI
RT
ML
Analytics
Amazon Kinesis
Managed Service for Real Time Big Data Processing
Create Streams to Produce & Consume Data
Elastically Add and Remove Shards for Performance
Use Kinesis Worker Library, AWS Lambda, Apache Spark and
Apache Storm to Process Data
Integration with S3, Redshift and Dynamo DB
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & Administration
Networking
Analytics
Data
Sources
App.4
[Machine
Learning]
AWSEndpoint
App.1
[Aggregate &
De-Duplicate]
Data
Sources
Data Sources
Data
Sources
App.2
[Metric
Extraction]
S3
DynamoDB
Redshift
App.3
[Sliding
Window
Analysis]
Data
Sources
Shard 1
Shard 2
Shard N
Availability
Zone
Availability
Zone
Amazon Kinesis Dataflow
Availability
Zone
Billing Auditors
Incremental
Bill
Computation
Metering Archive
Billing
Management
Service
Example Architecture - Metering
Streams
Named Event Streams of Data
All data is stored for 24 hours
Shards
You scale Kinesis streams by adding or removing Shards
Each Shard ingests up to 1MB/sec of data and up to 1000 TPS
Partition Key
Identifier used for Ordered Delivery & Partitioning of Data across
Shards
Sequence
Number of an event as assigned by Kinesis
Amazon Kinesis Components
Getting Data In
Producers use a PUT call to store data
in a Stream
A Partition Key is used to distribute the
PUTs across Shards
A unique Sequence # is returned to the
Producer for each Event
Data can be ingested at 1MB/second
or 1000 Transactions/second per Shard
1MB / Event
Kinesis - Ingesting Fast Moving Data
Native Code Module to perform efficient writes to Multiple
Kinesis Streams
C++/Boost
Asynchronous Execution
Configurable Aggregation of Events
Introducing the Kinesis Producer Library
My Application KPL Daemon
PutRecord(s)
Kinesis Stream
Kinesis Stream
Kinesis Stream
Kinesis Stream
Async
KPL Aggregation
My Application KPL Daemon
PutRecord(s)
Kinesis Stream
Kinesis Stream
Kinesis Stream
Kinesis Stream
Async
1MB Max Event Size
Aggregate
100k 20k500k200k
40k 20k40k
500k100k 200k
20k
40k
40k
20k
Protobuf Header Protobuf Footer
Apache Flume
Source & Sink
https://github.com/pdeyhim/flume-
kinesis
FluentD
Dynamic Partitioning Support
https://github.com/awslabs/aws-
fluent-plugin-kinesis
Log4J & Log4Net
Included in Kinesis Samples
Kinesis Ecosystem - Ingest
Kinesis
Best Practices for Partition Key
• Random will give even distribution
• If events should be processed together, choose
a relevant high cardinality partition key and
monitor shard distribution
• If partial order is important use sequence
number
Getting Data Out
KCL Libraries available for Java, Ruby,
Node, Go, and a Multi-Lang
Implementation with Native Python
support
All State Management in Dynamo DB
Kinesis Client Library
DynamoDB
Client library for fault-tolerant, at least-once, real-time processing
Kinesis Client Library (KCL) simplifies
reading from the stream by abstracting
your code from individual shards
Automatically starts a Worker Thread for
each Shard
Increases and decreases Thread count
as number of Shards changes
Uses checkpoints to keep track of a
Thread’s location in the stream
Restarts Threads & Workers if they fail
Consuming Data - Kinesis Enabled Applications
Analytics Tooling Integration (github.com/awslabs/amazon-kinesis-connectors)
S3
Batch Write Files for Archive into
S3
Sequence Based File Naming
Redshift
Once Written to S3, Load to
Redshift
Manifest Support
User Defined Transformers
DynamoDB
BatchPut Append to Table
User Defined Transformers
ElasticSearch
Automatically index Stream
Kinesis Connectors
S3 Dynamo
DB
Redshift
Kinesis
ElasticSearch
Connectors Architecture
Apache Storm
Kinesis Spout
Automatic Checkpointing with
Zookeeper
https://github.com/awslabs/kinesis-
storm-spout
Kinesis Ecosystem - Storm
Storm
Kinesis
Apache Spark
DStream Receiver runs KCL
One DStream per Shard
Checkpointed via KCL
Spark Natively Available
on EMR
EMRFS overlay on HDFS
AMI 3.8.0
https://aws.amazon.com/elastic
mapreduce/details/spark
Kinesis Ecosystem - Spark
Distributed Event Processing Platform
Stateless JavaScript & Java functions
run against an Event Stream
AWS SDK Built In
Configure RAM and Execution
Timeout
Functions automatically invoked
against a Shard
Community libraries for Python & Go
Access to underlying filesystem for
read/write
Call other Lambda Functions
Consuming Data - AWS Lambda
Kinesis
Shard 1
Shard 2
Shard 3
Shard 4
Shard n
Why Kinesis? Durability
Regional Service
Synchronous Writes to Multiple
AZ’s
Extremely High Durability
?
May be in-memory for
Performance
Requirement to understand Disk
Sync Semantics
User Managed Replication
Replication Lag -> RPO
Why Kinesis? Performance
Perform continual processing on
streaming big data. Processing
latencies fall to a <1 second,
compared with the minutes or
hours associated with batch
processing
?
Processing latencies < 1
second
Based on CPU & Disk
Performance
Cluster Interruption ->
Processing Outage
Why Kinesis? Availability
Regional Service
Synchronous Writes to Multiple
AZ’s
Extremely High Durability
AZ, Networking, & Chain Server
Issues Transparent to Producers
& Consumers
?
Many Depend on a CP Database
Lost Quorum can result in
failure/inconsistency of the cluster
Highest Availability is determined
by Availability of Cross-AZ Links
or Availability of an AZ
Why Kinesis? Operations
Managed service for real-time
streaming data collection,
processing and analysis. Simply
create a new stream, set the
desired level of capacity, and let
the service handle the rest
?
Build Instances
Install Software
Operate Cluster
Manage Disk Space
Manage Replication
Migrate to new Stream on Scale
Up
Why Kinesis? Elasticity
Seamlessly scale to match your
data throughput rate and volume.
You can easily scale up to
gigabytes per second. The
service will scale up or down
based on your operational or
business needs
?
Fixed Partition Count up Front
Maximum Performance ~ 1
Partition/Core | Machine
Convert from 1 Stream to
Another to Scale
Application Reconfiguration
Scaling Streams
https://github.com/awslabs/amazon-kinesis-scaling-utils
Why Kinesis? Cost
Cost-efficient for workloads of any
scale. You can get started by
provisioning a small stream, and
pay low hourly rates only for what
you use.
Scale Up/Down Dynamically
$.015/Hour/1MB
?
Run your Own EC2 Instances
Multi-AZ Configuration for
increased Durability
Utilise Instance AutoScaling on
Worker Lag from HEAD with
Custom Metrics
Why Kinesis? Cost
Price Dropped on 2nd June 2015, Restructured to support KPL
Old Pricing: $.028 / 1M Records PUT
New Pricing: $.014/1M 25KB “Payload Units”
Units Cost Units Cost
Shards 50 $558 25 $279
PutRecords 4,320M
Records
$120.96 2,648M
Payload
Units
$37.50
$678.96 $316.50
Scenario: 50,000 Events / Second, 512B / Event = 24.4 MB/Second
Old Pricing New Pricing + KPL
Kinesis – Consumer Application Best Practices
Tolerate Failure of: Threads – Consider Data Serialisation issues and Lease Stealing;
Hardware – AutoScaling may add nodes as needed
Scale Consumers up and down as the number of Shards increase or decrease
Don’t store data in memory in the workers. Use an elastic data store such as Dynamo
DB for State
Elastic Beanstalk provides all Best Practices in a simple to
deploy, multi-version Application Container
KCL will automatically redistribute Workers to use new
Instances
Logic implemented in Lambda doesn’t
require any Servers at all!
Managing Application State
Consumer Local State Anti-Pattern
Consumer binds to a configured
number of Partitions
Consumer stores the ‘state’ of a
data structure, as defined by the
event stream, on local storage
Read API can access that local
storage as a ‘shard’ of the overall
database
?
Consumer Consumer
Partition 1
Partition …
Partition P/2
Partition P/2+1
Partition …
Partition P
Local Disk Local Disk
Local Storage
Partitions P1..P/2
Local Storage
Partitions P/2+1..P
Read API
Consumer Local State Anti-Pattern
But what happens when an instance
fails?
?
Consumer Consumer
Partition 1
Partition …
Partition P/2
Partition P/2+1
Partition …
Partition P
Local Disk Local Disk
Local Storage
Partitions P1..P/2
Local Storage
Partitions P/2+1..P
Read API
Consumer Local State Anti-Pattern
A new consumer process starts
up for the required Partitions
Consumer must read from the
beginning of the Stream to
rebuild local storage
Complex, error prone, user
constructed software
Long Startup Time
?
Consumer Consumer
Partition 1
Partition …
Partition P/2
Partition P/2+1
Partition …
Partition P
Local Disk Local Disk
Local Storage
Partitions P1..P/2
Local Storage
Partitions P/2+1..P
Read API
T0
THead
External Highly Available State – Best Practice
Consumer Consumer
Shard 1
Shard …
Shard S/2
Shard S/2+1
Shard…
Shard S
Read API
Consumer binds to a even number of
Shards based on number of
Consumers
Consumer stores the ‘state’ in
Dynamo DB
Dynamo DB is Highly Available,
Elastic & Durable
Read API can access Dynamo DB
DynamoDB
External Highly Available State – Best Practice
Consumer binds to a even number of
Shards based on number of
Consumers
Consumer stores the ‘state’ in
Dynamo DB
Dynamo DB is Highly Available,
Elastic & Durable
Read API can access Dynamo DB
Read API
DynamoDB
Shard 1
Shard …
Shard S/2
Shard S/2+1
Shard…
Shard S
Consumer Consumer
External Highly Available State – Best Practice
Read API
DynamoDB
AWS Lambda
Shard 1
Shard …
Shard S/2
Shard S/2+1
Shard…
Shard S
Consumer binds to a even number of
Shards based on number of
Consumers
Consumer stores the ‘state’ in
Dynamo DB
Dynamo DB is Highly Available,
Elastic & Durable
Read API can access Dynamo DB
Idempotency
Property of a system whereby the repeated application of a function on a single input
results in the same end state of the system
…
Exactly Once Processing
Idempotency – Writing Data
The Kinesis SDK & KPL may
retry PUT in certain
circumstances
Kinesis Record acknowledged
with a Sequence Number is
durable to Multiple Availability
Zones…
But there could be a duplicate
entry
My Application
PutRecord(s)
403 (Endpoint Redirect)
Storage
Idempotency – Writing Data
The Kinesis SDK & KPL may
retry PUT in certain
circumstances
Kinesis Record acknowledged
with a Sequence Number is
durable to Multiple Availability
Zones…
But there could be a duplicate
entry
My Application
PutRecord(s)
PutRecord(s)
200 (OK)
403 (Endpoint Redirect)
StorageStorage
Write
123
Write
123
Coming Soon…
Idempotency – Rolling Idempotency Check
Kinesis will manage a rolling time window of Record ID’s in Dynamo DB
Record ID’s are User Based
Duplicates in storage tier will be acknowledged as Successful
My Application
PutRecord(s)
Storage
DynamoDB
X Hour Rolling
Window
Idempotency – Rolling Idempotency Check
Kinesis will manage a rolling time window of Record ID’s in Dynamo DB
Record ID’s are User Based
Duplicates in storage tier will be acknowledged as Successful
My Application
PutRecord(s)
Storage
Write Record ID
OK
DynamoDB
X Hour Rolling
Window
Idempotency – Rolling Idempotency Check
Kinesis will manage a rolling time window of Record ID’s in Dynamo DB
Record ID’s are User Based
Duplicates in storage tier will be acknowledged as Successful
My Application
PutRecord(s)
403 (Endpoint Redirect)
Storage
Write Record ID
OK
DynamoDB
X Hour Rolling
Window
Idempotency – Rolling Idempotency Check
Kinesis will manage a rolling time window of Record ID’s in Dynamo DB
Record ID’s are User Based
Duplicates in storage tier will be acknowledged as Successful
My Application
PutRecord(s)
PutRecord(s)
403 (Endpoint Redirect)
StorageStorage
Write Record ID
OK
Write Record ID
DynamoDB
X Hour Rolling
Window
ConditionCheckFailedException
Idempotency – Rolling Idempotency Check
Kinesis will manage a rolling time window of Record ID’s in Dynamo DB
Record ID’s are User Based
Duplicates in storage tier will be acknowledged as Successful
My Application
PutRecord(s)
PutRecord(s)
200 (OK)
403 (Endpoint Redirect)
StorageStorage
Write Record ID
OK
Write Record ID
DynamoDB
X Hour Rolling
Window
ConditionCheckFailedException
Easy Administration
Real-time
Performance.
High Durability
High Throughput.
Elastic
S3, Redshift, &
DynamoDB
Integration
Large Ecosystem Low Cost
In Short…
Deep Dive into Amazon Kinesis Streaming Analytics

More Related Content

What's hot

Real-Time Streaming: Intro to Amazon Kinesis
Real-Time Streaming: Intro to Amazon KinesisReal-Time Streaming: Intro to Amazon Kinesis
Real-Time Streaming: Intro to Amazon KinesisAmazon Web Services
 
Building Serverless ETL Pipelines with AWS Glue
Building Serverless ETL Pipelines with AWS GlueBuilding Serverless ETL Pipelines with AWS Glue
Building Serverless ETL Pipelines with AWS GlueAmazon Web Services
 
Building Data Lakes in the AWS Cloud
Building Data Lakes in the AWS CloudBuilding Data Lakes in the AWS Cloud
Building Data Lakes in the AWS CloudAmazon Web Services
 
ABD301-Analyzing Streaming Data in Real Time with Amazon Kinesis
ABD301-Analyzing Streaming Data in Real Time with Amazon KinesisABD301-Analyzing Streaming Data in Real Time with Amazon Kinesis
ABD301-Analyzing Streaming Data in Real Time with Amazon KinesisAmazon Web Services
 
Introduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceAmazon Web Services
 
(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon RedshiftAmazon Web Services
 
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...Amazon Web Services
 
ABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueAmazon Web Services
 
AWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveAWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveCobus Bernard
 
Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Apigee | Google Cloud
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon Web Services
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessAmazon Web Services
 

What's hot (20)

AWS glue technical enablement training
AWS glue technical enablement trainingAWS glue technical enablement training
AWS glue technical enablement training
 
Real-Time Streaming: Intro to Amazon Kinesis
Real-Time Streaming: Intro to Amazon KinesisReal-Time Streaming: Intro to Amazon Kinesis
Real-Time Streaming: Intro to Amazon Kinesis
 
Intro to AWS: Database Services
Intro to AWS: Database ServicesIntro to AWS: Database Services
Intro to AWS: Database Services
 
Building Serverless ETL Pipelines with AWS Glue
Building Serverless ETL Pipelines with AWS GlueBuilding Serverless ETL Pipelines with AWS Glue
Building Serverless ETL Pipelines with AWS Glue
 
Building Data Lakes in the AWS Cloud
Building Data Lakes in the AWS CloudBuilding Data Lakes in the AWS Cloud
Building Data Lakes in the AWS Cloud
 
ABD301-Analyzing Streaming Data in Real Time with Amazon Kinesis
ABD301-Analyzing Streaming Data in Real Time with Amazon KinesisABD301-Analyzing Streaming Data in Real Time with Amazon Kinesis
ABD301-Analyzing Streaming Data in Real Time with Amazon Kinesis
 
Introduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database Service
 
(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift
 
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
Build a Real-time Streaming Data Visualization System with Amazon Kinesis Ana...
 
ABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS Glue
 
AWS Lake Formation Deep Dive
AWS Lake Formation Deep DiveAWS Lake Formation Deep Dive
AWS Lake Formation Deep Dive
 
Introduction to Amazon Aurora
Introduction to Amazon AuroraIntroduction to Amazon Aurora
Introduction to Amazon Aurora
 
Amazon SQS overview
Amazon SQS overviewAmazon SQS overview
Amazon SQS overview
 
AWS Lambda Features and Uses
AWS Lambda Features and UsesAWS Lambda Features and Uses
AWS Lambda Features and Uses
 
Introduction to Amazon Athena
Introduction to Amazon AthenaIntroduction to Amazon Athena
Introduction to Amazon Athena
 
Deep Dive on AWS Lambda
Deep Dive on AWS LambdaDeep Dive on AWS Lambda
Deep Dive on AWS Lambda
 
Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Serverless computing with AWS Lambda
Serverless computing with AWS Lambda
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best Practices
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and Serverless
 
Introduction of AWS KMS
Introduction of AWS KMSIntroduction of AWS KMS
Introduction of AWS KMS
 

Viewers also liked

Introducing Amazon Kinesis: Real-time Processing of Streaming Big Data (BDT10...
Introducing Amazon Kinesis: Real-time Processing of Streaming Big Data (BDT10...Introducing Amazon Kinesis: Real-time Processing of Streaming Big Data (BDT10...
Introducing Amazon Kinesis: Real-time Processing of Streaming Big Data (BDT10...Amazon Web Services
 
Kinesis vs-kafka-and-kafka-deep-dive
Kinesis vs-kafka-and-kafka-deep-diveKinesis vs-kafka-and-kafka-deep-dive
Kinesis vs-kafka-and-kafka-deep-diveYifeng Jiang
 
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...Amazon Web Services
 
Hive present-and-feature-shanghai
Hive present-and-feature-shanghaiHive present-and-feature-shanghai
Hive present-and-feature-shanghaiYifeng Jiang
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Amazon Web Services
 
Amazon Kinesis: Real-time Streaming Big data Processing Applications (BDT311)...
Amazon Kinesis: Real-time Streaming Big data Processing Applications (BDT311)...Amazon Kinesis: Real-time Streaming Big data Processing Applications (BDT311)...
Amazon Kinesis: Real-time Streaming Big data Processing Applications (BDT311)...Amazon Web Services
 
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014Chris Fregly
 
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv Amazon Web Services
 
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...Amazon Web Services
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Amazon Web Services
 
AWS re:Invent 2016: Analyzing Streaming Data in Real-time with Amazon Kinesis...
AWS re:Invent 2016: Analyzing Streaming Data in Real-time with Amazon Kinesis...AWS re:Invent 2016: Analyzing Streaming Data in Real-time with Amazon Kinesis...
AWS re:Invent 2016: Analyzing Streaming Data in Real-time with Amazon Kinesis...Amazon Web Services
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015Amazon Web Services Korea
 
Bridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and KafkaBridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and KafkaPengfei (Jason) Li
 
Building prediction models with Amazon Redshift and Amazon ML
Building prediction models with  Amazon Redshift and Amazon MLBuilding prediction models with  Amazon Redshift and Amazon ML
Building prediction models with Amazon Redshift and Amazon MLJulien SIMON
 
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016Amazon Web Services
 
Real-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormReal-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormNati Shalom
 
(BDT310) Big Data Architectural Patterns and Best Practices on AWS | AWS re:I...
(BDT310) Big Data Architectural Patterns and Best Practices on AWS | AWS re:I...(BDT310) Big Data Architectural Patterns and Best Practices on AWS | AWS re:I...
(BDT310) Big Data Architectural Patterns and Best Practices on AWS | AWS re:I...Amazon Web Services
 
(MBL314) Build World-Class Cloud-Connected Products: Sonos
(MBL314) Build World-Class Cloud-Connected Products: Sonos(MBL314) Build World-Class Cloud-Connected Products: Sonos
(MBL314) Build World-Class Cloud-Connected Products: SonosAmazon Web Services
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time ApplicationsDataWorks Summit
 
Ghost in the shell
Ghost in the shellGhost in the shell
Ghost in the shellMaciej Lasyk
 

Viewers also liked (20)

Introducing Amazon Kinesis: Real-time Processing of Streaming Big Data (BDT10...
Introducing Amazon Kinesis: Real-time Processing of Streaming Big Data (BDT10...Introducing Amazon Kinesis: Real-time Processing of Streaming Big Data (BDT10...
Introducing Amazon Kinesis: Real-time Processing of Streaming Big Data (BDT10...
 
Kinesis vs-kafka-and-kafka-deep-dive
Kinesis vs-kafka-and-kafka-deep-diveKinesis vs-kafka-and-kafka-deep-dive
Kinesis vs-kafka-and-kafka-deep-dive
 
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
 
Hive present-and-feature-shanghai
Hive present-and-feature-shanghaiHive present-and-feature-shanghai
Hive present-and-feature-shanghai
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
 
Amazon Kinesis: Real-time Streaming Big data Processing Applications (BDT311)...
Amazon Kinesis: Real-time Streaming Big data Processing Applications (BDT311)...Amazon Kinesis: Real-time Streaming Big data Processing Applications (BDT311)...
Amazon Kinesis: Real-time Streaming Big data Processing Applications (BDT311)...
 
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
 
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
 
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
 
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
Real-time Streaming and Querying with Amazon Kinesis and Amazon Elastic MapRe...
 
AWS re:Invent 2016: Analyzing Streaming Data in Real-time with Amazon Kinesis...
AWS re:Invent 2016: Analyzing Streaming Data in Real-time with Amazon Kinesis...AWS re:Invent 2016: Analyzing Streaming Data in Real-time with Amazon Kinesis...
AWS re:Invent 2016: Analyzing Streaming Data in Real-time with Amazon Kinesis...
 
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
AWS IoT 및 Mobile Hub 서비스 소개 (김일호) :: re:Invent re:Cap Webinar 2015
 
Bridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and KafkaBridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and Kafka
 
Building prediction models with Amazon Redshift and Amazon ML
Building prediction models with  Amazon Redshift and Amazon MLBuilding prediction models with  Amazon Redshift and Amazon ML
Building prediction models with Amazon Redshift and Amazon ML
 
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
Getting Started with Amazon Kinesis | AWS Public Sector Summit 2016
 
Real-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using StormReal-Time Big Data at In-Memory Speed, Using Storm
Real-Time Big Data at In-Memory Speed, Using Storm
 
(BDT310) Big Data Architectural Patterns and Best Practices on AWS | AWS re:I...
(BDT310) Big Data Architectural Patterns and Best Practices on AWS | AWS re:I...(BDT310) Big Data Architectural Patterns and Best Practices on AWS | AWS re:I...
(BDT310) Big Data Architectural Patterns and Best Practices on AWS | AWS re:I...
 
(MBL314) Build World-Class Cloud-Connected Products: Sonos
(MBL314) Build World-Class Cloud-Connected Products: Sonos(MBL314) Build World-Class Cloud-Connected Products: Sonos
(MBL314) Build World-Class Cloud-Connected Products: Sonos
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time Applications
 
Ghost in the shell
Ghost in the shellGhost in the shell
Ghost in the shell
 

Similar to Deep Dive into Amazon Kinesis Streaming Analytics

AWS를 활용한 첫 빅데이터 프로젝트 시작하기(김일호)- AWS 웨비나 시리즈 2015
AWS를 활용한 첫 빅데이터 프로젝트 시작하기(김일호)- AWS 웨비나 시리즈 2015AWS를 활용한 첫 빅데이터 프로젝트 시작하기(김일호)- AWS 웨비나 시리즈 2015
AWS를 활용한 첫 빅데이터 프로젝트 시작하기(김일호)- AWS 웨비나 시리즈 2015Amazon Web Services Korea
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)Amazon Web Services Korea
 
AWS Webcast - AWS Kinesis Webinar
AWS Webcast - AWS Kinesis WebinarAWS Webcast - AWS Kinesis Webinar
AWS Webcast - AWS Kinesis WebinarAmazon Web Services
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
Raleigh DevDay 2017: Real time data processing using AWS Lambda
Raleigh DevDay 2017: Real time data processing using AWS LambdaRaleigh DevDay 2017: Real time data processing using AWS Lambda
Raleigh DevDay 2017: Real time data processing using AWS LambdaAmazon Web Services
 
AWS June Webinar Series - Getting Started: Amazon Redshift
AWS June Webinar Series - Getting Started: Amazon RedshiftAWS June Webinar Series - Getting Started: Amazon Redshift
AWS June Webinar Series - Getting Started: Amazon RedshiftAmazon Web Services
 
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924Amazon Web Services
 
Real Time Data Processing Using AWS Lambda - DevDay Austin 2017
Real Time Data Processing Using AWS Lambda - DevDay Austin 2017Real Time Data Processing Using AWS Lambda - DevDay Austin 2017
Real Time Data Processing Using AWS Lambda - DevDay Austin 2017Amazon Web Services
 
Day 4 - Big Data on AWS - RedShift, EMR & the Internet of Things
Day 4 - Big Data on AWS - RedShift, EMR & the Internet of ThingsDay 4 - Big Data on AWS - RedShift, EMR & the Internet of Things
Day 4 - Big Data on AWS - RedShift, EMR & the Internet of ThingsAmazon Web Services
 
Real Time Data Processing Using AWS Lambda
Real Time Data Processing Using AWS LambdaReal Time Data Processing Using AWS Lambda
Real Time Data Processing Using AWS LambdaAmazon Web Services
 
Deep Dive and Best Practices for Real Time Streaming Applications
Deep Dive and Best Practices for Real Time Streaming ApplicationsDeep Dive and Best Practices for Real Time Streaming Applications
Deep Dive and Best Practices for Real Time Streaming ApplicationsAmazon Web Services
 
Amazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian MeyersAmazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian Meyershuguk
 
[よくわかるAmazon Redshift]Amazon Redshift最新情報と導入事例のご紹介
[よくわかるAmazon Redshift]Amazon Redshift最新情報と導入事例のご紹介[よくわかるAmazon Redshift]Amazon Redshift最新情報と導入事例のご紹介
[よくわかるAmazon Redshift]Amazon Redshift最新情報と導入事例のご紹介Amazon Web Services Japan
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
AWS April 2016 Webinar Series - Getting Started with Real-Time Data Analytics...
AWS April 2016 Webinar Series - Getting Started with Real-Time Data Analytics...AWS April 2016 Webinar Series - Getting Started with Real-Time Data Analytics...
AWS April 2016 Webinar Series - Getting Started with Real-Time Data Analytics...Amazon Web Services
 
Deep dive and best practices on real time streaming applications nyc-loft_oct...
Deep dive and best practices on real time streaming applications nyc-loft_oct...Deep dive and best practices on real time streaming applications nyc-loft_oct...
Deep dive and best practices on real time streaming applications nyc-loft_oct...Amazon Web Services
 
Realtime Analytics on AWS
Realtime Analytics on AWSRealtime Analytics on AWS
Realtime Analytics on AWSSungmin Kim
 
Real-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS LambdaReal-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS LambdaAmazon Web Services
 

Similar to Deep Dive into Amazon Kinesis Streaming Analytics (20)

AWS를 활용한 첫 빅데이터 프로젝트 시작하기(김일호)- AWS 웨비나 시리즈 2015
AWS를 활용한 첫 빅데이터 프로젝트 시작하기(김일호)- AWS 웨비나 시리즈 2015AWS를 활용한 첫 빅데이터 프로젝트 시작하기(김일호)- AWS 웨비나 시리즈 2015
AWS를 활용한 첫 빅데이터 프로젝트 시작하기(김일호)- AWS 웨비나 시리즈 2015
 
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
찾아가는 AWS 세미나(구로,가산,판교) - AWS 기반 빅데이터 활용 방법 (김일호 솔루션즈 아키텍트)
 
AWS Webcast - AWS Kinesis Webinar
AWS Webcast - AWS Kinesis WebinarAWS Webcast - AWS Kinesis Webinar
AWS Webcast - AWS Kinesis Webinar
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Raleigh DevDay 2017: Real time data processing using AWS Lambda
Raleigh DevDay 2017: Real time data processing using AWS LambdaRaleigh DevDay 2017: Real time data processing using AWS Lambda
Raleigh DevDay 2017: Real time data processing using AWS Lambda
 
AWS June Webinar Series - Getting Started: Amazon Redshift
AWS June Webinar Series - Getting Started: Amazon RedshiftAWS June Webinar Series - Getting Started: Amazon Redshift
AWS June Webinar Series - Getting Started: Amazon Redshift
 
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
 
Real Time Data Processing Using AWS Lambda - DevDay Austin 2017
Real Time Data Processing Using AWS Lambda - DevDay Austin 2017Real Time Data Processing Using AWS Lambda - DevDay Austin 2017
Real Time Data Processing Using AWS Lambda - DevDay Austin 2017
 
Day 4 - Big Data on AWS - RedShift, EMR & the Internet of Things
Day 4 - Big Data on AWS - RedShift, EMR & the Internet of ThingsDay 4 - Big Data on AWS - RedShift, EMR & the Internet of Things
Day 4 - Big Data on AWS - RedShift, EMR & the Internet of Things
 
Real Time Data Processing Using AWS Lambda
Real Time Data Processing Using AWS LambdaReal Time Data Processing Using AWS Lambda
Real Time Data Processing Using AWS Lambda
 
Deep Dive and Best Practices for Real Time Streaming Applications
Deep Dive and Best Practices for Real Time Streaming ApplicationsDeep Dive and Best Practices for Real Time Streaming Applications
Deep Dive and Best Practices for Real Time Streaming Applications
 
Amazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian MeyersAmazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian Meyers
 
[よくわかるAmazon Redshift]Amazon Redshift最新情報と導入事例のご紹介
[よくわかるAmazon Redshift]Amazon Redshift最新情報と導入事例のご紹介[よくわかるAmazon Redshift]Amazon Redshift最新情報と導入事例のご紹介
[よくわかるAmazon Redshift]Amazon Redshift最新情報と導入事例のご紹介
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
AWS April 2016 Webinar Series - Getting Started with Real-Time Data Analytics...
AWS April 2016 Webinar Series - Getting Started with Real-Time Data Analytics...AWS April 2016 Webinar Series - Getting Started with Real-Time Data Analytics...
AWS April 2016 Webinar Series - Getting Started with Real-Time Data Analytics...
 
Deep dive and best practices on real time streaming applications nyc-loft_oct...
Deep dive and best practices on real time streaming applications nyc-loft_oct...Deep dive and best practices on real time streaming applications nyc-loft_oct...
Deep dive and best practices on real time streaming applications nyc-loft_oct...
 
Realtime Analytics on AWS
Realtime Analytics on AWSRealtime Analytics on AWS
Realtime Analytics on AWS
 
Real-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS LambdaReal-time Data Processing Using AWS Lambda
Real-time Data Processing Using AWS Lambda
 

More from 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
 

More from 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
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Deep Dive into Amazon Kinesis Streaming Analytics

  • 1. Deep Dive – Amazon Kinesis Guy Ernest, Solution Architect - Amazon Web Services @guyernest
  • 2. Motivation for Real Time Analytics E* BI RT ML
  • 3. Analytics Amazon Kinesis Managed Service for Real Time Big Data Processing Create Streams to Produce & Consume Data Elastically Add and Remove Shards for Performance Use Kinesis Worker Library, AWS Lambda, Apache Spark and Apache Storm to Process Data Integration with S3, Redshift and Dynamo DB Compute Storage AWS Global Infrastructure Database App Services Deployment & Administration Networking Analytics
  • 6. Streams Named Event Streams of Data All data is stored for 24 hours Shards You scale Kinesis streams by adding or removing Shards Each Shard ingests up to 1MB/sec of data and up to 1000 TPS Partition Key Identifier used for Ordered Delivery & Partitioning of Data across Shards Sequence Number of an event as assigned by Kinesis Amazon Kinesis Components
  • 8. Producers use a PUT call to store data in a Stream A Partition Key is used to distribute the PUTs across Shards A unique Sequence # is returned to the Producer for each Event Data can be ingested at 1MB/second or 1000 Transactions/second per Shard 1MB / Event Kinesis - Ingesting Fast Moving Data
  • 9. Native Code Module to perform efficient writes to Multiple Kinesis Streams C++/Boost Asynchronous Execution Configurable Aggregation of Events Introducing the Kinesis Producer Library My Application KPL Daemon PutRecord(s) Kinesis Stream Kinesis Stream Kinesis Stream Kinesis Stream Async
  • 10. KPL Aggregation My Application KPL Daemon PutRecord(s) Kinesis Stream Kinesis Stream Kinesis Stream Kinesis Stream Async 1MB Max Event Size Aggregate 100k 20k500k200k 40k 20k40k 500k100k 200k 20k 40k 40k 20k Protobuf Header Protobuf Footer
  • 11. Apache Flume Source & Sink https://github.com/pdeyhim/flume- kinesis FluentD Dynamic Partitioning Support https://github.com/awslabs/aws- fluent-plugin-kinesis Log4J & Log4Net Included in Kinesis Samples Kinesis Ecosystem - Ingest Kinesis
  • 12. Best Practices for Partition Key • Random will give even distribution • If events should be processed together, choose a relevant high cardinality partition key and monitor shard distribution • If partial order is important use sequence number
  • 14. KCL Libraries available for Java, Ruby, Node, Go, and a Multi-Lang Implementation with Native Python support All State Management in Dynamo DB Kinesis Client Library DynamoDB
  • 15. Client library for fault-tolerant, at least-once, real-time processing Kinesis Client Library (KCL) simplifies reading from the stream by abstracting your code from individual shards Automatically starts a Worker Thread for each Shard Increases and decreases Thread count as number of Shards changes Uses checkpoints to keep track of a Thread’s location in the stream Restarts Threads & Workers if they fail Consuming Data - Kinesis Enabled Applications
  • 16. Analytics Tooling Integration (github.com/awslabs/amazon-kinesis-connectors) S3 Batch Write Files for Archive into S3 Sequence Based File Naming Redshift Once Written to S3, Load to Redshift Manifest Support User Defined Transformers DynamoDB BatchPut Append to Table User Defined Transformers ElasticSearch Automatically index Stream Kinesis Connectors S3 Dynamo DB Redshift Kinesis ElasticSearch
  • 18. Apache Storm Kinesis Spout Automatic Checkpointing with Zookeeper https://github.com/awslabs/kinesis- storm-spout Kinesis Ecosystem - Storm Storm Kinesis
  • 19. Apache Spark DStream Receiver runs KCL One DStream per Shard Checkpointed via KCL Spark Natively Available on EMR EMRFS overlay on HDFS AMI 3.8.0 https://aws.amazon.com/elastic mapreduce/details/spark Kinesis Ecosystem - Spark
  • 20. Distributed Event Processing Platform Stateless JavaScript & Java functions run against an Event Stream AWS SDK Built In Configure RAM and Execution Timeout Functions automatically invoked against a Shard Community libraries for Python & Go Access to underlying filesystem for read/write Call other Lambda Functions Consuming Data - AWS Lambda Kinesis Shard 1 Shard 2 Shard 3 Shard 4 Shard n
  • 21. Why Kinesis? Durability Regional Service Synchronous Writes to Multiple AZ’s Extremely High Durability ? May be in-memory for Performance Requirement to understand Disk Sync Semantics User Managed Replication Replication Lag -> RPO
  • 22. Why Kinesis? Performance Perform continual processing on streaming big data. Processing latencies fall to a <1 second, compared with the minutes or hours associated with batch processing ? Processing latencies < 1 second Based on CPU & Disk Performance Cluster Interruption -> Processing Outage
  • 23. Why Kinesis? Availability Regional Service Synchronous Writes to Multiple AZ’s Extremely High Durability AZ, Networking, & Chain Server Issues Transparent to Producers & Consumers ? Many Depend on a CP Database Lost Quorum can result in failure/inconsistency of the cluster Highest Availability is determined by Availability of Cross-AZ Links or Availability of an AZ
  • 24. Why Kinesis? Operations Managed service for real-time streaming data collection, processing and analysis. Simply create a new stream, set the desired level of capacity, and let the service handle the rest ? Build Instances Install Software Operate Cluster Manage Disk Space Manage Replication Migrate to new Stream on Scale Up
  • 25. Why Kinesis? Elasticity Seamlessly scale to match your data throughput rate and volume. You can easily scale up to gigabytes per second. The service will scale up or down based on your operational or business needs ? Fixed Partition Count up Front Maximum Performance ~ 1 Partition/Core | Machine Convert from 1 Stream to Another to Scale Application Reconfiguration
  • 27. Why Kinesis? Cost Cost-efficient for workloads of any scale. You can get started by provisioning a small stream, and pay low hourly rates only for what you use. Scale Up/Down Dynamically $.015/Hour/1MB ? Run your Own EC2 Instances Multi-AZ Configuration for increased Durability Utilise Instance AutoScaling on Worker Lag from HEAD with Custom Metrics
  • 28. Why Kinesis? Cost Price Dropped on 2nd June 2015, Restructured to support KPL Old Pricing: $.028 / 1M Records PUT New Pricing: $.014/1M 25KB “Payload Units” Units Cost Units Cost Shards 50 $558 25 $279 PutRecords 4,320M Records $120.96 2,648M Payload Units $37.50 $678.96 $316.50 Scenario: 50,000 Events / Second, 512B / Event = 24.4 MB/Second Old Pricing New Pricing + KPL
  • 29.
  • 30. Kinesis – Consumer Application Best Practices Tolerate Failure of: Threads – Consider Data Serialisation issues and Lease Stealing; Hardware – AutoScaling may add nodes as needed Scale Consumers up and down as the number of Shards increase or decrease Don’t store data in memory in the workers. Use an elastic data store such as Dynamo DB for State Elastic Beanstalk provides all Best Practices in a simple to deploy, multi-version Application Container KCL will automatically redistribute Workers to use new Instances Logic implemented in Lambda doesn’t require any Servers at all!
  • 32. Consumer Local State Anti-Pattern Consumer binds to a configured number of Partitions Consumer stores the ‘state’ of a data structure, as defined by the event stream, on local storage Read API can access that local storage as a ‘shard’ of the overall database ? Consumer Consumer Partition 1 Partition … Partition P/2 Partition P/2+1 Partition … Partition P Local Disk Local Disk Local Storage Partitions P1..P/2 Local Storage Partitions P/2+1..P Read API
  • 33. Consumer Local State Anti-Pattern But what happens when an instance fails? ? Consumer Consumer Partition 1 Partition … Partition P/2 Partition P/2+1 Partition … Partition P Local Disk Local Disk Local Storage Partitions P1..P/2 Local Storage Partitions P/2+1..P Read API
  • 34. Consumer Local State Anti-Pattern A new consumer process starts up for the required Partitions Consumer must read from the beginning of the Stream to rebuild local storage Complex, error prone, user constructed software Long Startup Time ? Consumer Consumer Partition 1 Partition … Partition P/2 Partition P/2+1 Partition … Partition P Local Disk Local Disk Local Storage Partitions P1..P/2 Local Storage Partitions P/2+1..P Read API T0 THead
  • 35. External Highly Available State – Best Practice Consumer Consumer Shard 1 Shard … Shard S/2 Shard S/2+1 Shard… Shard S Read API Consumer binds to a even number of Shards based on number of Consumers Consumer stores the ‘state’ in Dynamo DB Dynamo DB is Highly Available, Elastic & Durable Read API can access Dynamo DB DynamoDB
  • 36. External Highly Available State – Best Practice Consumer binds to a even number of Shards based on number of Consumers Consumer stores the ‘state’ in Dynamo DB Dynamo DB is Highly Available, Elastic & Durable Read API can access Dynamo DB Read API DynamoDB Shard 1 Shard … Shard S/2 Shard S/2+1 Shard… Shard S Consumer Consumer
  • 37. External Highly Available State – Best Practice Read API DynamoDB AWS Lambda Shard 1 Shard … Shard S/2 Shard S/2+1 Shard… Shard S Consumer binds to a even number of Shards based on number of Consumers Consumer stores the ‘state’ in Dynamo DB Dynamo DB is Highly Available, Elastic & Durable Read API can access Dynamo DB
  • 39. Property of a system whereby the repeated application of a function on a single input results in the same end state of the system … Exactly Once Processing
  • 40. Idempotency – Writing Data The Kinesis SDK & KPL may retry PUT in certain circumstances Kinesis Record acknowledged with a Sequence Number is durable to Multiple Availability Zones… But there could be a duplicate entry My Application PutRecord(s) 403 (Endpoint Redirect) Storage
  • 41. Idempotency – Writing Data The Kinesis SDK & KPL may retry PUT in certain circumstances Kinesis Record acknowledged with a Sequence Number is durable to Multiple Availability Zones… But there could be a duplicate entry My Application PutRecord(s) PutRecord(s) 200 (OK) 403 (Endpoint Redirect) StorageStorage Write 123 Write 123
  • 43. Idempotency – Rolling Idempotency Check Kinesis will manage a rolling time window of Record ID’s in Dynamo DB Record ID’s are User Based Duplicates in storage tier will be acknowledged as Successful My Application PutRecord(s) Storage DynamoDB X Hour Rolling Window
  • 44. Idempotency – Rolling Idempotency Check Kinesis will manage a rolling time window of Record ID’s in Dynamo DB Record ID’s are User Based Duplicates in storage tier will be acknowledged as Successful My Application PutRecord(s) Storage Write Record ID OK DynamoDB X Hour Rolling Window
  • 45. Idempotency – Rolling Idempotency Check Kinesis will manage a rolling time window of Record ID’s in Dynamo DB Record ID’s are User Based Duplicates in storage tier will be acknowledged as Successful My Application PutRecord(s) 403 (Endpoint Redirect) Storage Write Record ID OK DynamoDB X Hour Rolling Window
  • 46. Idempotency – Rolling Idempotency Check Kinesis will manage a rolling time window of Record ID’s in Dynamo DB Record ID’s are User Based Duplicates in storage tier will be acknowledged as Successful My Application PutRecord(s) PutRecord(s) 403 (Endpoint Redirect) StorageStorage Write Record ID OK Write Record ID DynamoDB X Hour Rolling Window ConditionCheckFailedException
  • 47. Idempotency – Rolling Idempotency Check Kinesis will manage a rolling time window of Record ID’s in Dynamo DB Record ID’s are User Based Duplicates in storage tier will be acknowledged as Successful My Application PutRecord(s) PutRecord(s) 200 (OK) 403 (Endpoint Redirect) StorageStorage Write Record ID OK Write Record ID DynamoDB X Hour Rolling Window ConditionCheckFailedException
  • 48. Easy Administration Real-time Performance. High Durability High Throughput. Elastic S3, Redshift, & DynamoDB Integration Large Ecosystem Low Cost In Short…