SlideShare une entreprise Scribd logo
1  sur  60
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Abhishek Singh, Sr. Manager Product Management (AWS)
Ivonne Roberts, Software Architect (Financial Engines)
Debug your Container and
Serverless Applications with
AWS X-Ray in 5 Minutes or less
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What to Expect from the Session
 What is X-Ray and how does it help?
 Concepts
 Demo - Debug an app in < 5 mins
 How can you instrument your own app?
 Customer Story
 Q&A
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is X-Ray and how does it help?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Traditional Debugging
Developer Local Test
Developer
Add
Breakpoints
Add Log
Statements
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Log-Centric Approach
service 1 logs
service 2 logs
service 3 logs
user
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Challenges for microservices apps
• Cross-service interactions
• Varying log formats across services
• Collecting, aggregating, and collating logs from services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Challenges for serverless apps
• Resources typically only exist during execution.
• Unlike traditional hosts, can’t install agents for monitoring.
• Collecting, aggregating, and collating logs in real-time without latency overhead.
• Events need to be correlated across services.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The traditional process of debugging doesn’t scale well for
production applications or those built using a service-
oriented, microservice, or serverless architecture.
It’s tedious, repetitive, and time consuming.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
User-Centric Approach
user
Amazon
DynamoDB
Table
Amazon
SQS Queue
Frontend API
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How does AWS X-Ray help?
• Analyze and debug performance of your distributed applications.
• View latency distribution and pinpoint performance bottlenecks.
• Identify specific user impact across your applications.
• Works across different AWS and non-AWS services.
• Ready to use in production with low latency in real-time.
Enables you to get started quickly without having to manually
instrument your application code to log metadata about requests
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Visualize service call graph
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Identify performance bottlenecks
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Identify performance bottlenecks
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Identify performance bottlenecks
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Pinpoint issues
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Identify errors
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Identify errors
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Identify impact to users
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda + X-Ray
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Benefits of using AWS X-Ray with Lambda
• X-Ray agent is natively built into Lambda.
• Identify initialization and cold starts in Lambda
• Pinpoint issues in downstream services called from your AWS
Lambda function.
• Happens with low latency in real-time. Can see traces in seconds.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Visualize Service Call Graph (Lambda)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Identify initialization & cold starts (Lambda)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Pinpoint errors (Lambda)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Additional Use Cases
Use Off-
Cloud
Custom
Payload
Deep
Linking
Custom
Apps via
APIs
Filter
Expressions
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray Service
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
App & X-Ray
SDK
EC2 Instance
X-Ray
Daemon
Localhost
UDP
X-Ray API
HTTPS
HTTPS
X-Ray Console
App & X-Ray
SDK
Server
X-Ray
Daemon
Localhost
UDP
EC2 Role
AWS
Credentials
DevOps Team
HTTPS
X-Ray Workflow
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray Concepts
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray Concepts
user
Amazon
DynamoDB
Table
Amazon
SQS Queue
Frontend API
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray Concepts
Trace End-to-end data related a single request across services
Segments Portions of the trace that correspond to a single service
Sub-segments Remote call or local compute sections within a service
Annotations Business data that can be used to filter traces
Metadata Business data that can be added to the trace but not used for filtering traces
Errors Normalized error message and stack trace
Sampling Percentage of requests to your application to capture as traces
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Let’s debug an app in <5 minutes!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How can you instrument your app?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray SDK
Enables you to get started quickly without having to manually instrument your
application code to log metadata about requests
Source on GitHub under https://www.github.com/aws/
Available for Java, .NET, .NET Core, Ruby, Python, Go, and Node.js.
Adds filters to automatically captures metadata for calls to:
• AWS services using the AWS SDK
• Non-AWS services over HTTP and HTTPS (3rd party APIs)
• Databases (MySQL, PostgreSQL, and Amazon DynamoDB)
• Queues (Amazon SQS)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
App Instrumentation (Node.js)
//Add aws-xray-sdk package to package.json
var XRay = require('aws-xray-sdk');
var AWS = captureAWS(require('aws-sdk'));
…
XRay.config([XRay.plugins.EC2]);
XRay.captureHTTPs(http);
XRay.setDefaultName('myfrontend-dev');
…
app.use(XRay.express.openSegment());
app.get('/', function(req, res)
…
app.get('/blog', function(req, res)
…
app.use(XRay.express.closeSegment());
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Adding Business Data (Node.js)
//Example showing how to add business data to traces
app.post('/signup', function(req, res) {
var item = {
'email': {'S': req.body.email},
'name': {'S': req.body.name},
'preview': {'S': req.body.previewAccess},
'theme': {'S': req.body.theme}
};
var seg = XRay.getSegment();
seg.addAnnotation('email', req.body.email);
seg.addAnnotation('theme', req.body.theme);
seg.addAnnotation('previewAccess', req.body.previewAccess);
//Store item to DB
//Send sign-up notification to user
}
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sampling Configuration
{
"rules": {
“payment": {
"id": 1,
"service_name": "*",
"http_method": "*",
"url_path": "/api/payment/*",
"fixed_target": 0,
"rate": 1.00
},
"base": {
"id": 2,
"service_name": "*",
"http_method": "*",
"url_path": "*",
"fixed_target": 1,
"rate": 0.1
}
}
}
This example defines two rules:
The first rule applies a 100% sampling rate with
no minimum number of requests to trace to
requests with paths under /api/payment
The second overrides the default sampling rule
with a rule that traces the first request each
second and 10% of additional requests
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray Daemon
Receives data from the SDK over UDP and acts as a local buffer.
Data is flushed to the backend every second or when the local
buffer fills.
Available for Amazon Linux AMI, RHEL, Ubuntu, OS X, and Windows.
Pre-installed on AWS Lambda.
Can be run anywhere as long as AWS credentials are provided (for
example, EC2, ECS, Kubernetes, on-premise, developer machine,
and others).
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray API
X-Ray provides a set of APIs to enable you to send, filter, and
retrieve trace data
You can send trace data directly to the service without having to use
our SDKs (that is, you can write your own SDKs for languages not
currently supported)
Raw trace data is available using batch get APIs
You can build your own data analysis applications on top of the data
collected by X-Ray
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray API
PutTraceSegments Uploads segment documents to AWS X-Ray
BatchGetTraces Retrieves a list of traces specified by ID
GetServiceGraph Retrieves a document that describes services in your application and
their connections
GetTraceSummaries Retrieves IDs and metadata for traces available for a specified time
frame using an optional filter
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How-to guides, blogs, and samples
Lambda:
o https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html
o https://aws.amazon.com/blogs/compute/analyzing-performance-for-amazon-rekognition-apps-written-on-
aws-lambda-using-aws-x-ray/
o https://github.com/aws-samples/aws-xray-rekognition-lambda-sample
o https://github.com/aws-samples/eb-java-scorekeep/tree/lambda
Containers:
o https://docs.aws.amazon.com/xray/latest/devguide/scorekeep-ecs.html
o https://docs.aws.amazon.com/xray/latest/devguide/xray-daemon-ecs.html
o https://aws.amazon.com/blogs/compute/application-tracing-on-kubernetes-with-aws-x-ray/
o https://github.com/aws-samples/aws-xray-kubernetes
o https://github.com/aws-samples/aws-workshop-for-kubernetes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trace ID & Propagation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Customer Story
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ivonne Roberts
Software Architect, Office of CTO
Financial Engines, Inc.
Twitter: @ivlo11
LinkedIn: https://www.linkedin.com/in/ivonneroberts/
With roots in Silicon Valley, Financial Engines is the nation’s largest independent investment
advisor1. We believe that all Americans—not just the wealthy—should have access to high-quality,
unbiased financial help, and our clients’ best interests should always come first.
We offer financial help to more than 9 million people across over 700
companies
1 For independence methodology and ranking, see InvestmentNews RIA Data Center. (http://data.investmentnews.com/ria/).
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Architecture
• Migrating from a monolith codebase on premise
• First with a lift-and-shift hybrid approach
• And then breaking pieces off into microservices in a serverless architecture with a high bar for using
non-managed services
• 15 microservices in production in AWS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monitoring Journey
Use Cases:
• Measure performance improvement as we move to the cloud
• Ongoing measurement of performance during updates and changes
• Able to identify and resolve issues fast
Monitoring Implementations:
• Instrument code with timing calculations and writing that to the end of the log
• Stress test applications in dev that scraped Lambda’s log using LogType.TAIL
• CloudWatch and Splunk dashboards and alerts
Monitoring Customer Experience:
• AWS X-Ray instrumentation and monitoring
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS X-Ray + Lambda
Quick Wins:
• Able to instrument our applications with very little effort
• Able to see a sampling of user traffic
• Average transactions per minute
• Average latency
• Response distribution
• Able to quickly find and address performance concerns
• Increased granularity with annotations
• Slice and dice based on type of computation, company, number of accounts, etc.
Couple of Notes:
• You won’t get all errors sampled unless you add: forceSamplingOfCurrentSegment()
• Can’t annotate root segment so you need to add a “root” sub-segment with annotation and metadata
• Inferred Segment based off of sub-segments with services that don’t issue their own segments
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Highlights
Able to instrument our applications with very little effort
Latency across different resources in a microservice
Slice and dice reports with annotations
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Additional Information
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Quick Recap
• Serverless Apps have built in logging & monitoring capabilities
• Easy to extend with CloudWatch Metrics, Amazon ES, and third-
party tools
• AWS X-Ray is powerful tool to visualize and troubleshoot issues
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X-Ray Pricing
Free tier
o The first 100,000 traces recorded are free
o The first 1,000,000 traces retrieved or scanned are free
Additional charges
o Beyond the free tier, traces recorded cost $5.00 per million traces
o Beyond the free tier, traces retrieved or scanned cost $0.50 per million traces
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Helpful Links
Go to https://aws.amazon.com/xray to learn more
Documentation: http://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html
Samples:
o .NET: https://github.com/awslabs/aws-xray-dotnet-webapp
o Java: https://github.com/awslabs/eb-java-scorekeep/tree/xray
o Node.js: https://github.com/awslabs/eb-node-express-sample/tree/xray
o Python: https://github.com/awslabs/eb-py-flask-signup/tree/xray
o Lambda: https://github.com/awslabs/aws-xray-rekognition-lambda-sample
o Alarms & Alerts: https://github.com/aws-samples/aws-xray-cloudwatch-event
o Heatmap & Trends: https://github.com/aws-samples/aws-xray-scatter-sample
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Contenu connexe

Tendances

Coordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfCoordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfAmazon Web Services
 
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesApache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesShivji Kumar Jha
 
Deep Dive on AWS Single Sign-On - AWS Online Tech Talks
Deep Dive on AWS Single Sign-On - AWS Online Tech TalksDeep Dive on AWS Single Sign-On - AWS Online Tech Talks
Deep Dive on AWS Single Sign-On - AWS Online Tech TalksAmazon Web Services
 
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...Simplilearn
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityAmazon Web Services
 
[2017 Windows on AWS] AWS 를 활용한 Active Directory 연동 및 이관 방안
[2017 Windows on AWS] AWS 를 활용한 Active Directory 연동 및 이관 방안[2017 Windows on AWS] AWS 를 활용한 Active Directory 연동 및 이관 방안
[2017 Windows on AWS] AWS 를 활용한 Active Directory 연동 및 이관 방안Amazon Web Services Korea
 
Azure role based access control (rbac)
Azure role based access control (rbac)Azure role based access control (rbac)
Azure role based access control (rbac)Srikanth Kappagantula
 
devops 2년차 이직 성공기.pptx
devops 2년차 이직 성공기.pptxdevops 2년차 이직 성공기.pptx
devops 2년차 이직 성공기.pptxByungho Lee
 
AWS Summit Seoul 2023 | AWS 마이그레이션을 통한 엔카닷컴의 DT 전략
AWS Summit Seoul 2023 | AWS 마이그레이션을 통한 엔카닷컴의 DT 전략AWS Summit Seoul 2023 | AWS 마이그레이션을 통한 엔카닷컴의 DT 전략
AWS Summit Seoul 2023 | AWS 마이그레이션을 통한 엔카닷컴의 DT 전략Amazon Web Services Korea
 
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Amazon Web Services
 
SaaS Architecture.pdf
SaaS Architecture.pdfSaaS Architecture.pdf
SaaS Architecture.pdfSimform
 
Building a well-engaged and secure AWS account access management - FND207-R ...
 Building a well-engaged and secure AWS account access management - FND207-R ... Building a well-engaged and secure AWS account access management - FND207-R ...
Building a well-engaged and secure AWS account access management - FND207-R ...Amazon Web Services
 
Deconstructing SaaS: A Deep Dive into Building Multi-tenant Solutions on AWS ...
Deconstructing SaaS: A Deep Dive into Building Multi-tenant Solutions on AWS ...Deconstructing SaaS: A Deep Dive into Building Multi-tenant Solutions on AWS ...
Deconstructing SaaS: A Deep Dive into Building Multi-tenant Solutions on AWS ...Amazon Web Services
 
AWS Elastic Container Registry
AWS Elastic Container RegistryAWS Elastic Container Registry
AWS Elastic Container RegistryRichard Boyd, II
 
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech TalksDeep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech TalksAmazon Web Services
 
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나Amazon Web Services Korea
 
Accelerating App Development with AWS Amplify
Accelerating App Development with AWS AmplifyAccelerating App Development with AWS Amplify
Accelerating App Development with AWS AmplifyAmazon Web Services
 

Tendances (20)

Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Coordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfCoordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdf
 
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesApache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Deep Dive on AWS Single Sign-On - AWS Online Tech Talks
Deep Dive on AWS Single Sign-On - AWS Online Tech TalksDeep Dive on AWS Single Sign-On - AWS Online Tech Talks
Deep Dive on AWS Single Sign-On - AWS Online Tech Talks
 
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS Security
 
[2017 Windows on AWS] AWS 를 활용한 Active Directory 연동 및 이관 방안
[2017 Windows on AWS] AWS 를 활용한 Active Directory 연동 및 이관 방안[2017 Windows on AWS] AWS 를 활용한 Active Directory 연동 및 이관 방안
[2017 Windows on AWS] AWS 를 활용한 Active Directory 연동 및 이관 방안
 
Azure role based access control (rbac)
Azure role based access control (rbac)Azure role based access control (rbac)
Azure role based access control (rbac)
 
devops 2년차 이직 성공기.pptx
devops 2년차 이직 성공기.pptxdevops 2년차 이직 성공기.pptx
devops 2년차 이직 성공기.pptx
 
AWS Summit Seoul 2023 | AWS 마이그레이션을 통한 엔카닷컴의 DT 전략
AWS Summit Seoul 2023 | AWS 마이그레이션을 통한 엔카닷컴의 DT 전략AWS Summit Seoul 2023 | AWS 마이그레이션을 통한 엔카닷컴의 DT 전략
AWS Summit Seoul 2023 | AWS 마이그레이션을 통한 엔카닷컴의 DT 전략
 
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
Deep Dive on Amazon S3 Security and Management (E2471STG303-R1) - AWS re:Inve...
 
SaaS Architecture.pdf
SaaS Architecture.pdfSaaS Architecture.pdf
SaaS Architecture.pdf
 
Building a well-engaged and secure AWS account access management - FND207-R ...
 Building a well-engaged and secure AWS account access management - FND207-R ... Building a well-engaged and secure AWS account access management - FND207-R ...
Building a well-engaged and secure AWS account access management - FND207-R ...
 
Deconstructing SaaS: A Deep Dive into Building Multi-tenant Solutions on AWS ...
Deconstructing SaaS: A Deep Dive into Building Multi-tenant Solutions on AWS ...Deconstructing SaaS: A Deep Dive into Building Multi-tenant Solutions on AWS ...
Deconstructing SaaS: A Deep Dive into Building Multi-tenant Solutions on AWS ...
 
AWS Elastic Container Registry
AWS Elastic Container RegistryAWS Elastic Container Registry
AWS Elastic Container Registry
 
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech TalksDeep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
 
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
 
Amazon Virtual Private Cloud
Amazon Virtual Private CloudAmazon Virtual Private Cloud
Amazon Virtual Private Cloud
 
Accelerating App Development with AWS Amplify
Accelerating App Development with AWS AmplifyAccelerating App Development with AWS Amplify
Accelerating App Development with AWS Amplify
 

Similaire à Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes - AWS Online Tech Talks

Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...Amazon Web Services
 
Wildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivWildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivBoaz Ziniman
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Amazon Web Services
 
Serverless best practices plus design principles 20m version
Serverless   best practices plus design principles 20m versionServerless   best practices plus design principles 20m version
Serverless best practices plus design principles 20m versionHeitor Lessa
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Amazon Web Services
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessAmazon Web Services
 
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...AWS Germany
 
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Amazon Web Services
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingAmazon Web Services
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Boaz Ziniman
 
Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Amazon Web Services
 
Ci/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO ClubCi/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO ClubBoaz Ziniman
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWSAmazon Web Services
 
Instrumenting Applications for Observability Using AWS X-Ray (DEV402-R2) - AW...
Instrumenting Applications for Observability Using AWS X-Ray (DEV402-R2) - AW...Instrumenting Applications for Observability Using AWS X-Ray (DEV402-R2) - AW...
Instrumenting Applications for Observability Using AWS X-Ray (DEV402-R2) - AW...Amazon Web Services
 
Aws Tools for Alexa Skills
Aws Tools for Alexa SkillsAws Tools for Alexa Skills
Aws Tools for Alexa SkillsBoaz Ziniman
 
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Amazon Web Services
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...Amazon Web Services
 

Similaire à Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes - AWS Online Tech Talks (20)

Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
 
Wildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivWildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel Aviv
 
Microservices for Startups
Microservices for StartupsMicroservices for Startups
Microservices for Startups
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
 
Serverless best practices plus design principles 20m version
Serverless   best practices plus design principles 20m versionServerless   best practices plus design principles 20m version
Serverless best practices plus design principles 20m version
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni Serverless
 
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...Modern Applications Web Day | Impress Your Friends with Your First Serverless...
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
 
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28
 
Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28Introduction to Serverless computing and AWS Lambda | AWS Floor28
Introduction to Serverless computing and AWS Lambda | AWS Floor28
 
Ci/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO ClubCi/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO Club
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWS
 
Instrumenting Applications for Observability Using AWS X-Ray (DEV402-R2) - AW...
Instrumenting Applications for Observability Using AWS X-Ray (DEV402-R2) - AW...Instrumenting Applications for Observability Using AWS X-Ray (DEV402-R2) - AW...
Instrumenting Applications for Observability Using AWS X-Ray (DEV402-R2) - AW...
 
Aws Tools for Alexa Skills
Aws Tools for Alexa SkillsAws Tools for Alexa Skills
Aws Tools for Alexa Skills
 
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
 

Plus de Amazon Web Services

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

Plus de Amazon Web Services (20)

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

Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes - AWS Online Tech Talks

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Abhishek Singh, Sr. Manager Product Management (AWS) Ivonne Roberts, Software Architect (Financial Engines) Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes or less
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What to Expect from the Session  What is X-Ray and how does it help?  Concepts  Demo - Debug an app in < 5 mins  How can you instrument your own app?  Customer Story  Q&A
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is X-Ray and how does it help?
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Traditional Debugging Developer Local Test Developer Add Breakpoints Add Log Statements
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Log-Centric Approach service 1 logs service 2 logs service 3 logs user
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Challenges for microservices apps • Cross-service interactions • Varying log formats across services • Collecting, aggregating, and collating logs from services
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Challenges for serverless apps • Resources typically only exist during execution. • Unlike traditional hosts, can’t install agents for monitoring. • Collecting, aggregating, and collating logs in real-time without latency overhead. • Events need to be correlated across services.
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. The traditional process of debugging doesn’t scale well for production applications or those built using a service- oriented, microservice, or serverless architecture. It’s tedious, repetitive, and time consuming.
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. User-Centric Approach user Amazon DynamoDB Table Amazon SQS Queue Frontend API
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How does AWS X-Ray help? • Analyze and debug performance of your distributed applications. • View latency distribution and pinpoint performance bottlenecks. • Identify specific user impact across your applications. • Works across different AWS and non-AWS services. • Ready to use in production with low latency in real-time. Enables you to get started quickly without having to manually instrument your application code to log metadata about requests
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Visualize service call graph
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Identify performance bottlenecks
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Identify performance bottlenecks
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Identify performance bottlenecks
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Pinpoint issues
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Identify errors
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Identify errors
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Identify impact to users
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda + X-Ray
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Benefits of using AWS X-Ray with Lambda • X-Ray agent is natively built into Lambda. • Identify initialization and cold starts in Lambda • Pinpoint issues in downstream services called from your AWS Lambda function. • Happens with low latency in real-time. Can see traces in seconds.
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Visualize Service Call Graph (Lambda)
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Identify initialization & cold starts (Lambda)
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Pinpoint errors (Lambda)
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Additional Use Cases Use Off- Cloud Custom Payload Deep Linking Custom Apps via APIs Filter Expressions
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray Service
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. App & X-Ray SDK EC2 Instance X-Ray Daemon Localhost UDP X-Ray API HTTPS HTTPS X-Ray Console App & X-Ray SDK Server X-Ray Daemon Localhost UDP EC2 Role AWS Credentials DevOps Team HTTPS X-Ray Workflow
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray Concepts
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray Concepts user Amazon DynamoDB Table Amazon SQS Queue Frontend API
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray Concepts Trace End-to-end data related a single request across services Segments Portions of the trace that correspond to a single service Sub-segments Remote call or local compute sections within a service Annotations Business data that can be used to filter traces Metadata Business data that can be added to the trace but not used for filtering traces Errors Normalized error message and stack trace Sampling Percentage of requests to your application to capture as traces
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Let’s debug an app in <5 minutes!
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How can you instrument your app?
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray SDK Enables you to get started quickly without having to manually instrument your application code to log metadata about requests Source on GitHub under https://www.github.com/aws/ Available for Java, .NET, .NET Core, Ruby, Python, Go, and Node.js. Adds filters to automatically captures metadata for calls to: • AWS services using the AWS SDK • Non-AWS services over HTTP and HTTPS (3rd party APIs) • Databases (MySQL, PostgreSQL, and Amazon DynamoDB) • Queues (Amazon SQS)
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. App Instrumentation (Node.js) //Add aws-xray-sdk package to package.json var XRay = require('aws-xray-sdk'); var AWS = captureAWS(require('aws-sdk')); … XRay.config([XRay.plugins.EC2]); XRay.captureHTTPs(http); XRay.setDefaultName('myfrontend-dev'); … app.use(XRay.express.openSegment()); app.get('/', function(req, res) … app.get('/blog', function(req, res) … app.use(XRay.express.closeSegment());
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Adding Business Data (Node.js) //Example showing how to add business data to traces app.post('/signup', function(req, res) { var item = { 'email': {'S': req.body.email}, 'name': {'S': req.body.name}, 'preview': {'S': req.body.previewAccess}, 'theme': {'S': req.body.theme} }; var seg = XRay.getSegment(); seg.addAnnotation('email', req.body.email); seg.addAnnotation('theme', req.body.theme); seg.addAnnotation('previewAccess', req.body.previewAccess); //Store item to DB //Send sign-up notification to user }
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Sampling Configuration { "rules": { “payment": { "id": 1, "service_name": "*", "http_method": "*", "url_path": "/api/payment/*", "fixed_target": 0, "rate": 1.00 }, "base": { "id": 2, "service_name": "*", "http_method": "*", "url_path": "*", "fixed_target": 1, "rate": 0.1 } } } This example defines two rules: The first rule applies a 100% sampling rate with no minimum number of requests to trace to requests with paths under /api/payment The second overrides the default sampling rule with a rule that traces the first request each second and 10% of additional requests
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray Daemon Receives data from the SDK over UDP and acts as a local buffer. Data is flushed to the backend every second or when the local buffer fills. Available for Amazon Linux AMI, RHEL, Ubuntu, OS X, and Windows. Pre-installed on AWS Lambda. Can be run anywhere as long as AWS credentials are provided (for example, EC2, ECS, Kubernetes, on-premise, developer machine, and others).
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray API X-Ray provides a set of APIs to enable you to send, filter, and retrieve trace data You can send trace data directly to the service without having to use our SDKs (that is, you can write your own SDKs for languages not currently supported) Raw trace data is available using batch get APIs You can build your own data analysis applications on top of the data collected by X-Ray
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray API PutTraceSegments Uploads segment documents to AWS X-Ray BatchGetTraces Retrieves a list of traces specified by ID GetServiceGraph Retrieves a document that describes services in your application and their connections GetTraceSummaries Retrieves IDs and metadata for traces available for a specified time frame using an optional filter
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How-to guides, blogs, and samples Lambda: o https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html o https://aws.amazon.com/blogs/compute/analyzing-performance-for-amazon-rekognition-apps-written-on- aws-lambda-using-aws-x-ray/ o https://github.com/aws-samples/aws-xray-rekognition-lambda-sample o https://github.com/aws-samples/eb-java-scorekeep/tree/lambda Containers: o https://docs.aws.amazon.com/xray/latest/devguide/scorekeep-ecs.html o https://docs.aws.amazon.com/xray/latest/devguide/xray-daemon-ecs.html o https://aws.amazon.com/blogs/compute/application-tracing-on-kubernetes-with-aws-x-ray/ o https://github.com/aws-samples/aws-xray-kubernetes o https://github.com/aws-samples/aws-workshop-for-kubernetes
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trace ID & Propagation
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Customer Story
  • 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ivonne Roberts Software Architect, Office of CTO Financial Engines, Inc. Twitter: @ivlo11 LinkedIn: https://www.linkedin.com/in/ivonneroberts/ With roots in Silicon Valley, Financial Engines is the nation’s largest independent investment advisor1. We believe that all Americans—not just the wealthy—should have access to high-quality, unbiased financial help, and our clients’ best interests should always come first. We offer financial help to more than 9 million people across over 700 companies 1 For independence methodology and ranking, see InvestmentNews RIA Data Center. (http://data.investmentnews.com/ria/).
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Architecture • Migrating from a monolith codebase on premise • First with a lift-and-shift hybrid approach • And then breaking pieces off into microservices in a serverless architecture with a high bar for using non-managed services • 15 microservices in production in AWS
  • 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Monitoring Journey Use Cases: • Measure performance improvement as we move to the cloud • Ongoing measurement of performance during updates and changes • Able to identify and resolve issues fast Monitoring Implementations: • Instrument code with timing calculations and writing that to the end of the log • Stress test applications in dev that scraped Lambda’s log using LogType.TAIL • CloudWatch and Splunk dashboards and alerts Monitoring Customer Experience: • AWS X-Ray instrumentation and monitoring
  • 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS X-Ray + Lambda Quick Wins: • Able to instrument our applications with very little effort • Able to see a sampling of user traffic • Average transactions per minute • Average latency • Response distribution • Able to quickly find and address performance concerns • Increased granularity with annotations • Slice and dice based on type of computation, company, number of accounts, etc. Couple of Notes: • You won’t get all errors sampled unless you add: forceSamplingOfCurrentSegment() • Can’t annotate root segment so you need to add a “root” sub-segment with annotation and metadata • Inferred Segment based off of sub-segments with services that don’t issue their own segments
  • 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo
  • 55. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Highlights Able to instrument our applications with very little effort Latency across different resources in a microservice Slice and dice reports with annotations
  • 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Additional Information
  • 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Quick Recap • Serverless Apps have built in logging & monitoring capabilities • Easy to extend with CloudWatch Metrics, Amazon ES, and third- party tools • AWS X-Ray is powerful tool to visualize and troubleshoot issues
  • 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X-Ray Pricing Free tier o The first 100,000 traces recorded are free o The first 1,000,000 traces retrieved or scanned are free Additional charges o Beyond the free tier, traces recorded cost $5.00 per million traces o Beyond the free tier, traces retrieved or scanned cost $0.50 per million traces
  • 59. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Helpful Links Go to https://aws.amazon.com/xray to learn more Documentation: http://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html Samples: o .NET: https://github.com/awslabs/aws-xray-dotnet-webapp o Java: https://github.com/awslabs/eb-java-scorekeep/tree/xray o Node.js: https://github.com/awslabs/eb-node-express-sample/tree/xray o Python: https://github.com/awslabs/eb-py-flask-signup/tree/xray o Lambda: https://github.com/awslabs/aws-xray-rekognition-lambda-sample o Alarms & Alerts: https://github.com/aws-samples/aws-xray-cloudwatch-event o Heatmap & Trends: https://github.com/aws-samples/aws-xray-scatter-sample
  • 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Notes de l'éditeur

  1. Traditional debugging involves: A development environment Search through logs for clues to reproduce the issue Set breakpoints in code to stop execution, and inspect variables and call stack Add additional log statements as necessary and redeploy application Repeat until the issue is fixed
  2. Speaker notes: With AWS X-Ray integration you will see the complete end-to-end overview of your distributed application.
  3. Speaker notes: You can click on a specific node to see the high-latency requests to that service. In this case, the DynamoDB node is selected, and we are selecting high-latency requests from the latency histogram and clicking on view traces. We would like to see what is happening with these requests.
  4. Speaker notes: In this case, DynamoDB is taking a long time. Usually DDB returns back within a few milliseconds, but this request has taken 2.1 seconds to get back. Let us click on the DDB in the trace timeline and see whats happening.
  5. Speaker notes: It has taken multiple retries. Using X-Ray, you can quickly zero-in on the performance bottleneck and understand why it is happening. In this case, you can reach out to the DDB team with the requestID to see what is the actual reason on multiple retries.
  6. Speaker notes: You can also quickly pinpoint an issue using AWS X-Ray. This exception stack is showing you had a conditional check failed exception at the specific line-item in your code.
  7. Speaker notes: X-Ray also helps you identify errors in your services. Here you can see that I can quickly group my traces using the status code and see that 100% of my traces within a specific time frame had 409 error. The trace list is at the bottom to drill-down further into specific traces.
  8. Speaker notes: In this case I have an exception/error from DynamoDB. I can quickly identify the root cause of the error using X-Ray.
  9. Speaker notes: Finally, I can use annotations feature in X-Ray to quickly identify impact for specific user. Here a user with this specific email is having all his requests failed. We can quickly drill down and see whats happening in the traces.
  10. Speaker notes: When you enable X-Ray for Lambda you get a complete overview of your Lambda application and other downstream services. You can notice that there is an error in Rekognition. X-Ray helps you drill-down and look at specific error happening in Rekognitiion.
  11. EV: JH to fix. JH: agreed, integrate with previous themes
  12. JH: we need to do a diagram of xray daemon on an instance, buffering messages, filtering/ dropping some, passing to x-ray API -> passing to a dashboard.. Explain that Daemon listens locally on UDP Receives data from the SDK over UDP and acts as a local buffer. Data is flushed to the backend every second or when the local buffer fills. Available for Amazon Linux AMI, RHEL, Ubuntu, OS X, and Windows
  13. Trace - End-to-end data related a single request across services Segments - Portions of the trace that correspond to a single service Sub-segments - Remote call or local compute sections within a service