AWS X-Ray was launched in its preview form at re: Invent during which session architects and developers were all invited to try it out. Following the impressive results obtained from the trial, X-Ray has now been rolled out on a full scale basis thanks to support from partners in different parts of the world and is now available to all users.
Why AWS X-Ray?
X-Ray had the ability to trace all end to end requests, record representative samples for the traces and display maps of the of the trace data which can then be used to analyse errors and other issues affecting overall performance.
The X-Ray allows users to trace every request that is made to your application while the execution goes through Amazon ECS containers, Amazon EC2 instances, AWS database services, Micro services and AWS messaging services.
The design of the X-Ray is meant for use in both production and development and it is therefore able to effectively handle both three-tier applications and applications that consist of several thousand micro services.
Preview of the new Lambda update
The new Lambda update is now at its preview stage and during this stage the entire service will be fine-tuned to meet all the existing needs. AWS Lambda developers can now utilize X-Ray for the purposes of getting a better picture of their performance and executions.
In the past all customers had to depend on custom analysis and logging whenever they wished to understand the latency breakdown of their applications and to troubleshoot timeouts or to diagnose slowdowns.
Using Lambda Integration
To start using the new Lambda integration, users will simply have to make sure that the priority functions have execution roles that make writing for X-Ray possible and then activate tracing for each function sequentially.
The X-Ray service map can then be used to show how requests are flowing through the AWS Lambda functions, ECS containers, microservices and EC2 instances. With that users will be able to identify resources and services of interest and then zoom in on them to analyse detailed timing data so as to solve any issues within the application.
At least two nodes will be displayed in the X-Ray map for every call that is made to a Lambda function and the main ones include the following:
- User function node: this is a node representing the time that is taken to execute the Lambda function
- Lambda Service node: this is a node representing the amount of time spent inside Lambda
- Downstream service calls nodes: these are nodes representing the calls made to other services by Lambda
Starting this month, the use of X-Ray will be charged. The specific charges will vary and will depend on a number of factors, including the number of traces recorded and the number of traces analysed, with each trace representing a call that was made to your application.
The good news though is that users will still be able to scan or retrieve a million traces each month and records a hundred thousand traces at no charge. After that a fee of $5 will be charged per million traces recorded and $0.5 for each batch of million traces retrieved for analysis.