AWS ECS and Fargate Monitoring with Instana
AWS Fargate Monitoring is fundamentally different from monitoring a typical cloud computing or application environment. Fargate does not allow agents to be deployed on the actual host, as is typically done for monitoring purposes. To monitor applications and services within containers on Fargate, the agent must be integrated into the container image.
To meet the various challenges of monitoring Fargate, Instana is leveraging the knowledge gained with our best-in-class AWS Lambda monitoring technology. Instana collects a distributed trace for every request of every ECS Task. Instana’s distributed tracing is easily incorporated in the Docker-image at build-time ensuring there are never unmonitored applications. Traces are correlated across ECS clusters, EC2, Lambda, Fargate and any other technology monitored by Instana, so there is always an end-to-end view of every application request. Each trace is also made viewable and searchable with Instana’s Unbounded Analytics.
Instana Fargate Monitoring comes with the following capabilities:
Automatic Dependency mapping – Instana’s service dependency map serves as a blueprint of the architecture showing how the system is structured. All services and applications are organized into dependency maps, providing easy understanding of all interdependencies. These fully automated dependency maps are not limited to AWS services, but map every service dependency throughout the entire system.
Immediate visibility – Instana immediately discovers new ECS task revisions and changes in ECS tasks running at any one time ensuring that applications are fully monitored, even as containers are automatically scaled up or down. Instana provides all of the information needed to understand the performance of each new version, with no code changes or manual instrumentation required, providing immediate understanding of the impact of every single deployment.
Instana’s built-in infrastructure monitoring for Fargate provides not only distributed tracing but also a complete overview of the multiple containers running in the Fargate task. This is similar to the pod analysis that is part of Instana’s Kubernetes monitoring.
Exact Root Cause Determination – Instana automatically performs full analysis of every user impact. Instana detects any anomalies, correlates metrics, traces, exceptions, logged errors, and configuration data based on application and service dependencies, providing exact root cause analysis in seconds.
Application Performance and Fargate Monitoring
When using AWS Fargate 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 Fargate.
AWS itself also has a monitoring solution for Fargate, AWS X-Ray. X-Ray provides a distributed tracing solution that monitors applications running on 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.
Getting Started with Instana AWS Fargate Monitoring on ECS
To get started Monitoring AWS Fargate applications, the first step is to build the container images. To find more information on building the container image for specific runtimes, check out the Instana on Fargate documentation. Instana currently has support for Node.js, .NET Core and Java, with Go and Python coming soon.
Once the container images are built for the specified runtime, a new revision for the task definition needs to be created in the Amazon ECS environment, and you are good to go!