First debuted in preview form at re:Invent last year, X-Ray is set to increase efficiencies that can simplify troubleshooting, speed up development time, and thus ultimately contribute to cost savings for you and your company.
AWS X-Ray is a software service for application tracing, that was first debuted in preview at AWS re:Invent 2016. Broadly, X-Ray enables application trace requests across Amazon ECS containers, EC2 instances, AWS database services and messaging services. This makes it a good fit for three-tier applications, microservices and everything in-between. X-Ray affords users the ability to execute end-to-end tracing of requests, view a map of trace data and services, and determine performance errors. In short, it allows you to dig in and troubleshoot to ensure superlative application performance.
What’s Changed for AWS X-Ray Since re:Invent?
We were fans of what X-Ray promised this past year, but it’s since evolved in two critical ways.
- Primarily X-Ray is now generally available (Amazon began charging for service usage as of May 1, 2017).
- Secondly (and what we are focusing on in this post), X-Ray now offers Lambda integration in preview form.
The lambda integration is a game changer for those building serverless applications. Previously developers wanting to trace their AWS Lambda functions had to rely on custom logging and analysis. The Lambda integration for X-Ray is a good move from AWS, contributing to their message of making development easy for developers and of decreasing the Total Cost of Ownership (TCO) in the licensing around software projects.
How Does X-Ray’s Lambda Integration Work?
Here’s how it all operates in practice:
- Developers must first make sure the desired functions bear execution roles gifted with X-Ray write permissions.
- Function-by-function tracing must be activated—note that any fresh functions created via the console are automatically assigned proper permissions.
- The X-Ray service map must be utilized to view how requests are executed throughout instances, containers, and functions.
That’s really it. Once you make a call to Lambda, two or more nodes per call pop up in X-Ray’s map. These nodes include the following:
- Downstream Service Calls: These nodes reflect Lambda function calls sent to outside services.
- User Function: These are the nodes that demonstrate Lambda function execution time.
- Lambda Service: These nodes reflect time spent within Lambda.
That’s the pithy overview, but click here to dive deeper into the process.
Where is AWS X-Ray Available and How Much Does It Cost?
Well, that’s the other critical evolution we mentioned above.
While X-Ray’s Lambda integration remains in preview form, X-Ray’s general service is now widely available.
Pricing is dependent upon the number of recorded traces and the quantity of traces analyzed. Trace recording up to 100,000 is free each month, while trace scans or retrievals come at no charge up to 1,000,000. However, beyond either of these points, you’ll cough up $5 for every million traces recorded and $0.50 for every million retrieved for analysis. Learn more on this pricing structure here.
General X-Ray availability is now offered in the following territories: US East (Northern Virginia), US West (Northern California), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), South America (São Paulo), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Sydney), Asia Pacific (Sydney), and Asia Pacific (Mumbai) Regions.