SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Architecting for Real-Time Insights
with Amazon Kinesis
Vinayak Lokhande
Principal DevOps Engineer
Autodesk
A N T 3 1 0
Ryan Nienhuis
Senior Technical Product Manager
AWS, Amazon Kinesis
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is streaming data?
Typical characteristics
Low-latencyContinuous Ordered,
incremental
High volume
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why streaming data?
Get actionable insights quickly
Source: Perishable insights, Mike Gualtieri, Forrester
Real time Seconds Minutes Hours Days Months
Valueofdatatodecision-making
Preventive/Predictive
Actionable Reactive Historical
Time critical decisions Traditional “batch” business intelligence
Information half-life
in decision-making
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Streaming with Amazon Kinesis
Easily collect, process, and analyze video and data streams in real time
Capture, process,
and store video
streams
Load data streams
into AWS data
stores
Analyze data
streams in real time
Capture, process,
and store data
streams
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Kinesis Data Streams overview
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data ingestion from a variety of sources
Kinesis Data
Streams
Transactions
ERP
Web logs/
cookies
Connected
devices
AWS SDKs
• Publish directly from application code via APIs
• AWS Mobile SDK
• Managed AWS sources: CloudWatch Logs, AWS IoT, Kinesis Data
Analytics and more
• RDS Aurora via Lambda
Kinesis Agent
• Monitors log files and forwards lines as messages to Kinesis Data Streams
Kinesis Producer Library (KPL)
• Background process aggregates and batches messages
3rd party and open source
• Log4j appender
• Apache Kafka
• Flume, fluentd, and more …
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data processing from a variety of consumers
Fully managed service for real-time processing of streaming data
Cost-effective: $0.014 per 1,000,000 PUT Payload Units
Millions of sources
producing 100’s of
terabytes per hour
Amazon Web Services
Front
End
AZ AZ AZAuthentic
authorization
Durable, highly consistent storage replicas data
across three data centers (availability zones)
Ordered stream of
events supports
multiple readers
Amazon Kinesis
Client Library
on EC2
Amazon Kinesis
Data Firehose
Amazon Kinesis
Data Analytics
AWS Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Kinesis Data Firehose—How it works
Ingest Transform Deliver
Amazon S3
Amazon Redshift
Amazon Elasticsearch Service
AWS IoT
Amazon Kinesis Agent
Amazon Kinesis Streams
Amazon CloudWatch Logs
Amazon CloudWatch Events
Apache Kafka
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Elasticsearch with Kibana
Derive insights from logs
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Elasticsearch Service
Fully-managed service that is easy to deploy, manage, and scale
+
Fully managed
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Kinesis Firehose delivery architecture
Amazon
Elasticsearch Service
Transformed
records
Data transformation
function
• For public access domains
• Easily transform data
• Serverless with built-in batching,
index rollover, error handling
Data source
Source records
Firehose
delivery stream
Source records
Delivery failure
Transformation failure
Source records
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Kinesis Data Analytics
Continuously read, process, and deliver streaming data in real-time
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SQL on streaming data?
Aggregations (count, sum, min, … ) 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 stagger
Tumbling windows are fixed size and grouped keys do not overlap
Source
Time
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Writing streaming SQL
Pump (continuous query) using stagger window
CREATE OR REPLACE PUMP calls_per_ip_pump AS
INSERT INTO calls_per_ip_stream
SELECT STREAM source_ip_address,
COUNT(*)
FROM source_sql_stream_001
WINDOWED BY STAGGER(
PARTITION BY source_ip_address
RANGE INTERVAL '1' MINUTE);
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
1. Why instrumentation
2. Design principles
3. Architecture
4. Self service
5. Best practices
6. Summary
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What we do
Autodesk gives you the power to make anything!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How we are doing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Autodesk Forge platform
Forge is a Connected Developer Platform that powers the future of making things
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Customer workflow
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Support scenario
Customer experience really matters
“Hey Autodesk support, I am not sure why I cannot see the model I
uploaded in the viewer yet, I need to share this for review with my
contractors and this is holding up the project.”
“Why can't I see my model yet?”
“Failures in todays complex, distributed and
interconnected systems are not the
exception. They are normal cases, not
predictable, and not avoidable.”
Uwe Friedrichsen
https://www.slideshare.net/ufried/patterns-of-resilience
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why instrumentation?
• Trace transactions across interconnected Forge services
• Reduce MTTD, real time problem detection and notification
• Provide forensic and log analysis capabilities
• Provide analytics—derive insights to drive features, resiliency
A consistent way to collect and measure metrics of Forge services
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Design principles
Separation of
concerns
Minimize
maintenance cost
Highly scalable
system
Fault tolerant
system
Easy to use Extensible system
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Unified logging
Log data in different
formats
Cross-service tracing almost
impossible
Forensics, monitoring, and
analytics on log data hard
SLO/SLI metrics from log data
impossible
Unified logging via
standardized log data
model
Annotate log records with
distributed tracing states
Based on open tracing
specification:
http://opentracing.io
SDK supporting multiple
languages
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sample UL log record
{
"ul-ctx-caller-span-id": "d62f04051cc5f312",
"ul-ctx-head-span-id": "1-5af39328-7cf81c9c9f3ac30af7693a65",
"ul-operation": "Operation_name",
"ul-span-duration": 160,
"ul-span-id": "d62f04051cc5f312",
"ul-span-start": 1525912360890,
"ul-tag-status": "INFO",
"ul-tag-ul-version": "2.1.0",
"ul-timestamp-epoch": 1525912361050
"ul-log-data": {
"cur_service_id": “xxxxxxxxxxxxxxxxxxx",
"cur_service_name": "xxxxxxx",
"method_name": "xxxx",
"module_name": "xxxxx",
"provider_name": "oxygen",
"scope": "C",
"sdk_version": "java_unified-logging-2.1.0",
"server_id": "xxxxxxx",
"significance": "INFO",
"src_service_id": "xxxxxx",
}
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Architecture
SQL
Processor
S P
O G
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Trace transactions across services
5+ days of log search and analysis
Log search and analysis up to five days
Real-time analytics to feed CloudWatch and SPOG
Alerting on real time metrics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Onboarding
SQL
Processor
S P
O G
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Onboarding
SQL
Processor
1
2
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Config.yaml
predefined_templates:
- UL_p99_p95_p90_max_count200_count400_count500:
#Define variables for the template below
ul_operation_field: 'COL_uloperation'
ul_operation_duration_field: 'COL_ulspanduration'
ul_http_status_field: 'http_response_code'
ul_timestamp_field: 'COL_ultimestampepoch'
operations:
#List of operations on which you have to apply the above template
- api.method.v1
- api.method.v2
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kibana widely adopted
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example of x-ray
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Example: SPOG
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SPOG cont’d
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Performance testing—Lessons learned
• Identify and test your solutions limits
• We tested:
• 30 data producers
• 3 TB ingested and process per day
• 700 shards
• 200 queries per second
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ElasticSearch Service—Lessons learned
• Monitor additional metrics, including:
• per node CPU
• per node JVM heap
• _bulk queue
• Per index field count
• Per index field limit of 1000
• Shards to index to CPU ratio
• CPU utilization below 75%
• JVM memory below 75%
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kinesis Data Firehose—Lessons learned
• Using AWS Lambda with your deliver stream to transform your data
• Rate limiting mechanism
• Filtering data prior to delivery
• Setting up a Firehose per data producer
• Buffer sizing
• Kinesis Agent buffers on the client side
• AWS Lambda buffer
• Delivery stream configured buffer size
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kinesis Data Analytics—Lessons learned
• Monitor milliseconds behind latest
• Abstract SQL code using templates
• Size your KDA app correctly
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Summary
Separation of
concerns
Minimize
maintenance cost
Highly scalable
system
Fault tolerant
system
Easy to use
Extensible system
Sharding per data producer
AWS Managed Services
Rate limiting, shardingOnboarding, Self service
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Amazon Web Services
 
Using Amazon Kinesis Data Streams as a Low-Latency Message Bus (ANT361) - AWS...
Using Amazon Kinesis Data Streams as a Low-Latency Message Bus (ANT361) - AWS...Using Amazon Kinesis Data Streams as a Low-Latency Message Bus (ANT361) - AWS...
Using Amazon Kinesis Data Streams as a Low-Latency Message Bus (ANT361) - AWS...
Amazon 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
 
SaaS Analytics and Metrics: Capturing and Surfacing the Data That's Fundament...
SaaS Analytics and Metrics: Capturing and Surfacing the Data That's Fundament...SaaS Analytics and Metrics: Capturing and Surfacing the Data That's Fundament...
SaaS Analytics and Metrics: Capturing and Surfacing the Data That's Fundament...
Amazon Web Services
 
Redshift Advisor Quick Start: Recommendations on Tuning Your Data Warehouse (...
Redshift Advisor Quick Start: Recommendations on Tuning Your Data Warehouse (...Redshift Advisor Quick Start: Recommendations on Tuning Your Data Warehouse (...
Redshift Advisor Quick Start: Recommendations on Tuning Your Data Warehouse (...
Amazon Web Services
 
Amazon Athena: What's New and How SendGrid Innovates (ANT324) - AWS re:Invent...
Amazon Athena: What's New and How SendGrid Innovates (ANT324) - AWS re:Invent...Amazon Athena: What's New and How SendGrid Innovates (ANT324) - AWS re:Invent...
Amazon Athena: What's New and How SendGrid Innovates (ANT324) - AWS re:Invent...
Amazon Web Services
 
Scale Your SAP HANA In-Memory Database on Amazon EC2 High Memory Instances wi...
Scale Your SAP HANA In-Memory Database on Amazon EC2 High Memory Instances wi...Scale Your SAP HANA In-Memory Database on Amazon EC2 High Memory Instances wi...
Scale Your SAP HANA In-Memory Database on Amazon EC2 High Memory Instances wi...
Amazon Web Services
 
Security Challenges and Use Cases in the Modern Application Build-and-Deploy ...
Security Challenges and Use Cases in the Modern Application Build-and-Deploy ...Security Challenges and Use Cases in the Modern Application Build-and-Deploy ...
Security Challenges and Use Cases in the Modern Application Build-and-Deploy ...
Amazon Web Services
 
Edge Computing with AWS Greengrass
Edge Computing with AWS Greengrass Edge Computing with AWS Greengrass
Edge Computing with AWS Greengrass
Amazon Web Services
 
Shift-Left SRE: Self-Healing with AWS Lambda Functions (DEV313-S) - AWS re:In...
Shift-Left SRE: Self-Healing with AWS Lambda Functions (DEV313-S) - AWS re:In...Shift-Left SRE: Self-Healing with AWS Lambda Functions (DEV313-S) - AWS re:In...
Shift-Left SRE: Self-Healing with AWS Lambda Functions (DEV313-S) - AWS re:In...
Amazon Web Services
 
Managing Modern Infrastructure in Enterprises (ENT227-R1) - AWS re:Invent 2018
Managing Modern Infrastructure in Enterprises (ENT227-R1) - AWS re:Invent 2018Managing Modern Infrastructure in Enterprises (ENT227-R1) - AWS re:Invent 2018
Managing Modern Infrastructure in Enterprises (ENT227-R1) - AWS re:Invent 2018
Amazon Web Services
 
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Amazon Web Services
 
Overview of Redis with Search and Graph (DAT334) - AWS re:Invent 2018
Overview of Redis with Search and Graph (DAT334) - AWS re:Invent 2018Overview of Redis with Search and Graph (DAT334) - AWS re:Invent 2018
Overview of Redis with Search and Graph (DAT334) - AWS re:Invent 2018
Amazon Web Services
 
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
Amazon Web Services
 
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
Amazon Web Services
 
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Amazon Web Services
 
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Amazon Web Services
 
Operationalizing Your Analysis with AWS IoT Analytics (IOT358-R1) - AWS re:In...
Operationalizing Your Analysis with AWS IoT Analytics (IOT358-R1) - AWS re:In...Operationalizing Your Analysis with AWS IoT Analytics (IOT358-R1) - AWS re:In...
Operationalizing Your Analysis with AWS IoT Analytics (IOT358-R1) - AWS re:In...
Amazon Web Services
 
Leadership Session: AWS Semiconductor (MFG201-L) - AWS re:Invent 2018
Leadership Session: AWS Semiconductor (MFG201-L) - AWS re:Invent 2018Leadership Session: AWS Semiconductor (MFG201-L) - AWS re:Invent 2018
Leadership Session: AWS Semiconductor (MFG201-L) - AWS re:Invent 2018
Amazon Web Services
 
AIOps: Steps Towards Autonomous Operations (DEV301-R1) - AWS re:Invent 2018
AIOps: Steps Towards Autonomous Operations (DEV301-R1) - AWS re:Invent 2018AIOps: Steps Towards Autonomous Operations (DEV301-R1) - AWS re:Invent 2018
AIOps: Steps Towards Autonomous Operations (DEV301-R1) - AWS re:Invent 2018
Amazon Web Services
 

What's hot (20)

Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
 
Using Amazon Kinesis Data Streams as a Low-Latency Message Bus (ANT361) - AWS...
Using Amazon Kinesis Data Streams as a Low-Latency Message Bus (ANT361) - AWS...Using Amazon Kinesis Data Streams as a Low-Latency Message Bus (ANT361) - AWS...
Using Amazon Kinesis Data Streams as a Low-Latency Message Bus (ANT361) - AWS...
 
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...
 
SaaS Analytics and Metrics: Capturing and Surfacing the Data That's Fundament...
SaaS Analytics and Metrics: Capturing and Surfacing the Data That's Fundament...SaaS Analytics and Metrics: Capturing and Surfacing the Data That's Fundament...
SaaS Analytics and Metrics: Capturing and Surfacing the Data That's Fundament...
 
Redshift Advisor Quick Start: Recommendations on Tuning Your Data Warehouse (...
Redshift Advisor Quick Start: Recommendations on Tuning Your Data Warehouse (...Redshift Advisor Quick Start: Recommendations on Tuning Your Data Warehouse (...
Redshift Advisor Quick Start: Recommendations on Tuning Your Data Warehouse (...
 
Amazon Athena: What's New and How SendGrid Innovates (ANT324) - AWS re:Invent...
Amazon Athena: What's New and How SendGrid Innovates (ANT324) - AWS re:Invent...Amazon Athena: What's New and How SendGrid Innovates (ANT324) - AWS re:Invent...
Amazon Athena: What's New and How SendGrid Innovates (ANT324) - AWS re:Invent...
 
Scale Your SAP HANA In-Memory Database on Amazon EC2 High Memory Instances wi...
Scale Your SAP HANA In-Memory Database on Amazon EC2 High Memory Instances wi...Scale Your SAP HANA In-Memory Database on Amazon EC2 High Memory Instances wi...
Scale Your SAP HANA In-Memory Database on Amazon EC2 High Memory Instances wi...
 
Security Challenges and Use Cases in the Modern Application Build-and-Deploy ...
Security Challenges and Use Cases in the Modern Application Build-and-Deploy ...Security Challenges and Use Cases in the Modern Application Build-and-Deploy ...
Security Challenges and Use Cases in the Modern Application Build-and-Deploy ...
 
Edge Computing with AWS Greengrass
Edge Computing with AWS Greengrass Edge Computing with AWS Greengrass
Edge Computing with AWS Greengrass
 
Shift-Left SRE: Self-Healing with AWS Lambda Functions (DEV313-S) - AWS re:In...
Shift-Left SRE: Self-Healing with AWS Lambda Functions (DEV313-S) - AWS re:In...Shift-Left SRE: Self-Healing with AWS Lambda Functions (DEV313-S) - AWS re:In...
Shift-Left SRE: Self-Healing with AWS Lambda Functions (DEV313-S) - AWS re:In...
 
Managing Modern Infrastructure in Enterprises (ENT227-R1) - AWS re:Invent 2018
Managing Modern Infrastructure in Enterprises (ENT227-R1) - AWS re:Invent 2018Managing Modern Infrastructure in Enterprises (ENT227-R1) - AWS re:Invent 2018
Managing Modern Infrastructure in Enterprises (ENT227-R1) - AWS re:Invent 2018
 
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
 
Overview of Redis with Search and Graph (DAT334) - AWS re:Invent 2018
Overview of Redis with Search and Graph (DAT334) - AWS re:Invent 2018Overview of Redis with Search and Graph (DAT334) - AWS re:Invent 2018
Overview of Redis with Search and Graph (DAT334) - AWS re:Invent 2018
 
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
The Amazon.com Database Journey to AWS – Top 10 Lessons Learned (DAT326) - AW...
 
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
How Amazon Migrated Items & Offers for Retail, Marketplace, & Digital to Dyna...
 
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
Enabling a Digital Platform with Microservices Architecture (ARC218-S) - AWS ...
 
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
 
Operationalizing Your Analysis with AWS IoT Analytics (IOT358-R1) - AWS re:In...
Operationalizing Your Analysis with AWS IoT Analytics (IOT358-R1) - AWS re:In...Operationalizing Your Analysis with AWS IoT Analytics (IOT358-R1) - AWS re:In...
Operationalizing Your Analysis with AWS IoT Analytics (IOT358-R1) - AWS re:In...
 
Leadership Session: AWS Semiconductor (MFG201-L) - AWS re:Invent 2018
Leadership Session: AWS Semiconductor (MFG201-L) - AWS re:Invent 2018Leadership Session: AWS Semiconductor (MFG201-L) - AWS re:Invent 2018
Leadership Session: AWS Semiconductor (MFG201-L) - AWS re:Invent 2018
 
AIOps: Steps Towards Autonomous Operations (DEV301-R1) - AWS re:Invent 2018
AIOps: Steps Towards Autonomous Operations (DEV301-R1) - AWS re:Invent 2018AIOps: Steps Towards Autonomous Operations (DEV301-R1) - AWS re:Invent 2018
AIOps: Steps Towards Autonomous Operations (DEV301-R1) - AWS re:Invent 2018
 

Similar to Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Invent 2018

Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
Amazon Web Services
 
How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?
Adrian Hornsby
 
How can your business benefit from going Serverless
How can your business benefit from going ServerlessHow can your business benefit from going Serverless
How can your business benefit from going Serverless
Amazon Web Services
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWS
Amazon Web Services
 
Modern Cloud Data Warehousing ft. Equinox Fitness Clubs: Optimize Analytics P...
Modern Cloud Data Warehousing ft. Equinox Fitness Clubs: Optimize Analytics P...Modern Cloud Data Warehousing ft. Equinox Fitness Clubs: Optimize Analytics P...
Modern Cloud Data Warehousing ft. Equinox Fitness Clubs: Optimize Analytics P...
Amazon Web Services
 
Analyzing Streams: Data Analytics Week SF
Analyzing Streams: Data Analytics Week SFAnalyzing Streams: Data Analytics Week SF
Analyzing Streams: Data Analytics Week SF
Amazon Web Services
 
What Can Your Logs Tell You? (ANT215) - AWS re:Invent 2018
What Can Your Logs Tell You? (ANT215) - AWS re:Invent 2018What Can Your Logs Tell You? (ANT215) - AWS re:Invent 2018
What Can Your Logs Tell You? (ANT215) - AWS re:Invent 2018
Amazon Web Services
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
Amazon Web Services
 
BI & Analytics - A Datalake on AWS
BI & Analytics - A Datalake on AWSBI & Analytics - A Datalake on AWS
BI & Analytics - A Datalake on AWS
Amazon 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 Loft
Amazon 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
 
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
Amazon Web Services
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
Amazon Web Services
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWS
AWS Germany
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
Amazon Web Services
 
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
Amazon Web Services
 
New AWS Security Solutions to Protect Your Workload
New AWS Security Solutions to Protect Your WorkloadNew AWS Security Solutions to Protect Your Workload
New AWS Security Solutions to Protect Your Workload
Amazon Web Services
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWS
Amazon Web Services
 
雲上打造資料湖 (Data Lake):智能化駕馭商機 (Level 300)
雲上打造資料湖 (Data Lake):智能化駕馭商機 (Level 300)雲上打造資料湖 (Data Lake):智能化駕馭商機 (Level 300)
雲上打造資料湖 (Data Lake):智能化駕馭商機 (Level 300)
Amazon Web Services
 
Running Lean Architectures: How to Optimize for Cost Efficiency (ARC202-R2) -...
Running Lean Architectures: How to Optimize for Cost Efficiency (ARC202-R2) -...Running Lean Architectures: How to Optimize for Cost Efficiency (ARC202-R2) -...
Running Lean Architectures: How to Optimize for Cost Efficiency (ARC202-R2) -...
Amazon Web Services
 

Similar to Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Invent 2018 (20)

Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?
 
How can your business benefit from going Serverless
How can your business benefit from going ServerlessHow can your business benefit from going Serverless
How can your business benefit from going Serverless
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWS
 
Modern Cloud Data Warehousing ft. Equinox Fitness Clubs: Optimize Analytics P...
Modern Cloud Data Warehousing ft. Equinox Fitness Clubs: Optimize Analytics P...Modern Cloud Data Warehousing ft. Equinox Fitness Clubs: Optimize Analytics P...
Modern Cloud Data Warehousing ft. Equinox Fitness Clubs: Optimize Analytics P...
 
Analyzing Streams: Data Analytics Week SF
Analyzing Streams: Data Analytics Week SFAnalyzing Streams: Data Analytics Week SF
Analyzing Streams: Data Analytics Week SF
 
What Can Your Logs Tell You? (ANT215) - AWS re:Invent 2018
What Can Your Logs Tell You? (ANT215) - AWS re:Invent 2018What Can Your Logs Tell You? (ANT215) - AWS re:Invent 2018
What Can Your Logs Tell You? (ANT215) - AWS re:Invent 2018
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
BI & Analytics - A Datalake on AWS
BI & Analytics - A Datalake on AWSBI & Analytics - A Datalake on AWS
BI & Analytics - A Datalake on AWS
 
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
 
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...
 
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
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWS
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
How Nubank Automates Fine-Grained Security with IAM, AWS Lambda, and CI/CD (F...
 
New AWS Security Solutions to Protect Your Workload
New AWS Security Solutions to Protect Your WorkloadNew AWS Security Solutions to Protect Your Workload
New AWS Security Solutions to Protect Your Workload
 
Log Analytics with AWS
Log Analytics with AWSLog Analytics with AWS
Log Analytics with AWS
 
雲上打造資料湖 (Data Lake):智能化駕馭商機 (Level 300)
雲上打造資料湖 (Data Lake):智能化駕馭商機 (Level 300)雲上打造資料湖 (Data Lake):智能化駕馭商機 (Level 300)
雲上打造資料湖 (Data Lake):智能化駕馭商機 (Level 300)
 
Running Lean Architectures: How to Optimize for Cost Efficiency (ARC202-R2) -...
Running Lean Architectures: How to Optimize for Cost Efficiency (ARC202-R2) -...Running Lean Architectures: How to Optimize for Cost Efficiency (ARC202-R2) -...
Running Lean Architectures: How to Optimize for Cost Efficiency (ARC202-R2) -...
 

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 Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon 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
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
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 Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon 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 sfatare
Amazon 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 NodeJS
Amazon 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 web
Amazon 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 sfatare
Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
Amazon 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 Service
Amazon 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
 

Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Architecting for Real-Time Insights with Amazon Kinesis Vinayak Lokhande Principal DevOps Engineer Autodesk A N T 3 1 0 Ryan Nienhuis Senior Technical Product Manager AWS, Amazon Kinesis
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is streaming data? Typical characteristics Low-latencyContinuous Ordered, incremental High volume
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why streaming data? Get actionable insights quickly Source: Perishable insights, Mike Gualtieri, Forrester Real time Seconds Minutes Hours Days Months Valueofdatatodecision-making Preventive/Predictive Actionable Reactive Historical Time critical decisions Traditional “batch” business intelligence Information half-life in decision-making
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Streaming with Amazon Kinesis Easily collect, process, and analyze video and data streams in real time Capture, process, and store video streams Load data streams into AWS data stores Analyze data streams in real time Capture, process, and store data streams
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Kinesis Data Streams overview
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Data ingestion from a variety of sources Kinesis Data Streams Transactions ERP Web logs/ cookies Connected devices AWS SDKs • Publish directly from application code via APIs • AWS Mobile SDK • Managed AWS sources: CloudWatch Logs, AWS IoT, Kinesis Data Analytics and more • RDS Aurora via Lambda Kinesis Agent • Monitors log files and forwards lines as messages to Kinesis Data Streams Kinesis Producer Library (KPL) • Background process aggregates and batches messages 3rd party and open source • Log4j appender • Apache Kafka • Flume, fluentd, and more …
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Data processing from a variety of consumers Fully managed service for real-time processing of streaming data Cost-effective: $0.014 per 1,000,000 PUT Payload Units Millions of sources producing 100’s of terabytes per hour Amazon Web Services Front End AZ AZ AZAuthentic authorization Durable, highly consistent storage replicas data across three data centers (availability zones) Ordered stream of events supports multiple readers Amazon Kinesis Client Library on EC2 Amazon Kinesis Data Firehose Amazon Kinesis Data Analytics AWS Lambda
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Kinesis Data Firehose—How it works Ingest Transform Deliver Amazon S3 Amazon Redshift Amazon Elasticsearch Service AWS IoT Amazon Kinesis Agent Amazon Kinesis Streams Amazon CloudWatch Logs Amazon CloudWatch Events Apache Kafka
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Elasticsearch with Kibana Derive insights from logs
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Elasticsearch Service Fully-managed service that is easy to deploy, manage, and scale + Fully managed
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Kinesis Firehose delivery architecture Amazon Elasticsearch Service Transformed records Data transformation function • For public access domains • Easily transform data • Serverless with built-in batching, index rollover, error handling Data source Source records Firehose delivery stream Source records Delivery failure Transformation failure Source records
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Kinesis Data Analytics Continuously read, process, and deliver streaming data in real-time
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. SQL on streaming data? Aggregations (count, sum, min, … ) 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!
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Window types Sliding, tumbling, and stagger Tumbling windows are fixed size and grouped keys do not overlap Source Time t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Writing streaming SQL Pump (continuous query) using stagger window CREATE OR REPLACE PUMP calls_per_ip_pump AS INSERT INTO calls_per_ip_stream SELECT STREAM source_ip_address, COUNT(*) FROM source_sql_stream_001 WINDOWED BY STAGGER( PARTITION BY source_ip_address RANGE INTERVAL '1' MINUTE);
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda 1. Why instrumentation 2. Design principles 3. Architecture 4. Self service 5. Best practices 6. Summary
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What we do Autodesk gives you the power to make anything!
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How we are doing
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Autodesk Forge platform Forge is a Connected Developer Platform that powers the future of making things
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Customer workflow
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Support scenario Customer experience really matters “Hey Autodesk support, I am not sure why I cannot see the model I uploaded in the viewer yet, I need to share this for review with my contractors and this is holding up the project.” “Why can't I see my model yet?”
  • 24. “Failures in todays complex, distributed and interconnected systems are not the exception. They are normal cases, not predictable, and not avoidable.” Uwe Friedrichsen https://www.slideshare.net/ufried/patterns-of-resilience
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why instrumentation? • Trace transactions across interconnected Forge services • Reduce MTTD, real time problem detection and notification • Provide forensic and log analysis capabilities • Provide analytics—derive insights to drive features, resiliency A consistent way to collect and measure metrics of Forge services
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Design principles Separation of concerns Minimize maintenance cost Highly scalable system Fault tolerant system Easy to use Extensible system
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Unified logging Log data in different formats Cross-service tracing almost impossible Forensics, monitoring, and analytics on log data hard SLO/SLI metrics from log data impossible Unified logging via standardized log data model Annotate log records with distributed tracing states Based on open tracing specification: http://opentracing.io SDK supporting multiple languages
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sample UL log record { "ul-ctx-caller-span-id": "d62f04051cc5f312", "ul-ctx-head-span-id": "1-5af39328-7cf81c9c9f3ac30af7693a65", "ul-operation": "Operation_name", "ul-span-duration": 160, "ul-span-id": "d62f04051cc5f312", "ul-span-start": 1525912360890, "ul-tag-status": "INFO", "ul-tag-ul-version": "2.1.0", "ul-timestamp-epoch": 1525912361050 "ul-log-data": { "cur_service_id": “xxxxxxxxxxxxxxxxxxx", "cur_service_name": "xxxxxxx", "method_name": "xxxx", "module_name": "xxxxx", "provider_name": "oxygen", "scope": "C", "sdk_version": "java_unified-logging-2.1.0", "server_id": "xxxxxxx", "significance": "INFO", "src_service_id": "xxxxxx", } }
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Architecture SQL Processor S P O G
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Trace transactions across services 5+ days of log search and analysis Log search and analysis up to five days Real-time analytics to feed CloudWatch and SPOG Alerting on real time metrics
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Onboarding SQL Processor S P O G
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Onboarding SQL Processor 1 2
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Config.yaml predefined_templates: - UL_p99_p95_p90_max_count200_count400_count500: #Define variables for the template below ul_operation_field: 'COL_uloperation' ul_operation_duration_field: 'COL_ulspanduration' ul_http_status_field: 'http_response_code' ul_timestamp_field: 'COL_ultimestampepoch' operations: #List of operations on which you have to apply the above template - api.method.v1 - api.method.v2
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kibana widely adopted
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Example of x-ray
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Example: SPOG
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. SPOG cont’d
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Performance testing—Lessons learned • Identify and test your solutions limits • We tested: • 30 data producers • 3 TB ingested and process per day • 700 shards • 200 queries per second
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon ElasticSearch Service—Lessons learned • Monitor additional metrics, including: • per node CPU • per node JVM heap • _bulk queue • Per index field count • Per index field limit of 1000 • Shards to index to CPU ratio • CPU utilization below 75% • JVM memory below 75%
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kinesis Data Firehose—Lessons learned • Using AWS Lambda with your deliver stream to transform your data • Rate limiting mechanism • Filtering data prior to delivery • Setting up a Firehose per data producer • Buffer sizing • Kinesis Agent buffers on the client side • AWS Lambda buffer • Delivery stream configured buffer size
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kinesis Data Analytics—Lessons learned • Monitor milliseconds behind latest • Abstract SQL code using templates • Size your KDA app correctly
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Summary Separation of concerns Minimize maintenance cost Highly scalable system Fault tolerant system Easy to use Extensible system Sharding per data producer AWS Managed Services Rate limiting, shardingOnboarding, Self service
  • 43. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.