When using AWS Fargate (link resides outside ibm.com) it is important to properly monitor the performance of applications but getting the full visibility needed can be difficult as it is challenging to monitor workloads without managing or controlling the orchestration. Current Application Performance Monitoring (APM) tools generally provide trace sampling and often only partial traces. This approach does not suffice when monitoring cloud-native environments that automatically scale, like AWS Fargate.
AWS itself also has a monitoring solution for AWS Fargate, AWS X-Ray (link resides outside ibm.com). X-Ray provides a distributed tracing solution that monitors applications running on AWS Fargate. With AWS X-Ray users can trace requests as they travel through the application while getting visibility into the application’s underlying components. AWS X-Ray helps developers analyze and debug problems within AWS environments. However, when it comes to deciding if it is the right monitoring solution some further considerations are required.
Cost: As always, when considering a solution, cost is an important factor to take into account. AWS X-Ray is billed on a per traced call basis. So depending on the amount of traffic that is being pushed through the applications, this can quickly become a non-trivial cost. There are also extra charges to analyze the traces after they are collected.
Limited to AWS: It is also important to take into account the entirety of the environment or environments the applications run on. AWS X-Ray is limited to tracing services that are being provided by, or are within, AWS. As such, AWS X-Ray has limited value in hybrid environments. Companies that have applications and services that span multiple environments need to consider the impact of having multiple monitoring solutions to gain the full visibility needed.