AWS X-Ray helps developers analyze and debug production, distributed applications for e.g. built using a microservices lambda architecture
X-Ray provides an end-to-end view of requests as they travel through the application, and shows a map of the application’s underlying components.
X-Ray helps to understand how the application and its underlying services are performing to identify and troubleshoot the root cause of performance issues and errors.
X-Ray to analyze both applications in development and in production, from simple three-tier applications to complex microservices applications consisting of thousands of services.
X-Ray can be used with distributed applications of any size to trace and debug both synchronous requests and asynchronous events.
X-Ray can be used to track requests flowing through applications or services across multiple regions. X-Ray data is stored locally to the processed region and customers can build a solution over it to combined the data
Trace data sent to X-Ray is generally available for retrieval and filtering within 30 seconds of it being received by the service.
X-Ray stores trace data for the last 30 days. This enables you to query trace data going back 30 days.
X-Ray integrates with applications running on EC2, ECS, Lambda, and Elastic Beanstalk.
X-Ray SDK automatically captures metadata for API calls made to AWS services using the AWS SDK
X-Ray SDK provides add-ons for MySQL and PostgreSQL drivers.
For Elastic Beanstalk, include the language-specific X-Ray libraries in your application code.
Applications running on other AWS services, such as EC2 or ECS, install the X-Ray agent and instrument the application code
X-Ray Core Concepts
An X-Ray trace is a set of data points that share the same trace ID.
Trace helps track the request, which is assigned a unique trace id, while it navigates through services
Piece of information relayed by each service in the application to X-Ray is a segment, and a trace is a collection of segments.
An X-Ray segment encapsulates all the data points for a single component of the distributed application for e.g. authorization component
Segments include system-defined and user-defined data in the form of annotations and are composed of one or more sub-segments that represent remote calls made from the service. for e.g. database call and its result within the overall request/response
An X-Ray annotation is system-defined or user-defined data
Annotation is associated with a segment and a segment can contain multiple annotations.
System-defined annotations include data added to the segment by AWS services
User-defined annotations are metadata added to a segment by a developer
X-Ray errors are system annotations associated with a segment for a call that results in an error response.
Error includes the error message, stack trace, and any additional information for e.g, version to associate the error with a source file.
X-Ray collects data for significant number of requests, instead of each request sent to an application, for performant and cost-effectiveness
X-Ray should not be used as an audit or compliance tool because it does not guarantee data completeness.
X-Ray agent helps collect data from log files and sends them to the X-Ray service for aggregation, analysis, and storage.
Agent makes it easier for you to send data to the X-Ray service, instead of using the APIs directly, and is
Agent is available for Amazon Linux AMI, Red Hat Enterprise Linux (RHEL), and Windows Server 2012 R2 or later operating systems.
AWS Certification Exam Practice Questions
Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
AWS services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
AWS exam questions are not updated to keep up the pace with AWS updates, so even if the underlying feature has changed the question might not be updated
Open to further feedback, discussion and correction.
A company is facing performance issues with their microservices architecture deployed on AWS. Which service can help them debug and analyze the issue? [CCP]