Unlock the power of application monitoring (COP359)
Unlocking the Power of Application Monitoring
Introduction
Today's applications are highly complex, involving multiple microservices, programming languages, frameworks, and components.
This complexity presents a conundrum - developers and product teams want to ship products faster, while also ensuring quick detection and remediation of production issues.
Application observability and monitoring can address this challenge by providing insights into the health, performance, and end-user experience of applications.
Why Application Observability?
Understanding application health and gaining improved performance and availability for end customers.
Reducing operational costs by having visibility into the application's inner workings.
Improving end-user experience by proactively addressing issues before customers are impacted.
AWS Approach to Application Observability
AWS offers a suite of products and services for application observability, including both open-source and AWS-native solutions.
The AWS native approach starts with instrumentation using the Unified CloudWatch Agent, which collects metrics, logs, and traces with a single agent.
These signals are then sent to CloudWatch, where you can create custom dashboards and enable cross-account observability.
Additional insights are provided through AWS services like Container Insights, Lambda Insights, and Log Insights.
Application Signals
Application Signals is AWS's opinionated way of performing Application Performance Monitoring (APM).
It is based on the open-source OpenTelemetry standard, ensuring vendor-neutrality and avoiding vendor lock-in.
Application Signals supports four programming languages: Java, Python, .NET, and Node.js, with automatic instrumentation through OpenTelemetry.
It integrates with various compute platforms, including EC2, ECS, and EKS, as well as on-premise Kubernetes environments.
Key Features of Application Signals
Telemetry Collection:
Collects metrics, logs, and traces based on the OpenTelemetry standard, with backwards compatibility with X-Ray.
Leverages the Unified CloudWatch Agent for a single-agent approach.
Service Discovery:
Automatically maps the dependencies and relationships between your microservices.
Provides a dynamic service map, visualizing the correlations between services.
Troubleshooting:
Enables quick troubleshooting by providing a unified view of metrics, logs, and traces.
Allows users to navigate from anomalies in the graphs directly to the relevant transaction traces and logs.
Service Level Objectives (SLOs):
Supports the creation of SLOs based on service-level indicators (SLIs) and error budgets.
Simplifies the process of defining and monitoring SLOs, reducing the need for manual spreadsheet-based calculations.
Integrated Observability:
Integrates synthetic monitoring (Synthetics) and real-user monitoring (RUM) into the Application Signals dashboard.
Provides a holistic view of application performance, including both synthetic and real-user data.
Bridging the Gap between Applications and Infrastructure
Application Signals maintains a tight integration with Container Insights, allowing users to seamlessly navigate between the application and infrastructure layers.
For EKS environments, enabling the CloudWatch add-on is all that's required to set up Application Signals.
Demonstration
The demo showcases the out-of-the-box dashboard provided by Application Signals, including:
Service status and red metrics (requests, errors, faults, and duration/latency)
Service map visualizing the dependencies between microservices
Detailed service-level information, including anomaly detection and troubleshooting capabilities
Service-level objective (SLO) creation and monitoring
Conclusion
Application Signals is AWS's opinionated approach to Application Performance Monitoring (APM), leveraging the OpenTelemetry standard to provide vendor-neutral observability.
It offers a comprehensive set of features, including telemetry collection, service discovery, troubleshooting, SLO management, and integrated synthetic and real-user monitoring.
By bridging the gap between applications and infrastructure, Application Signals provides a holistic observability solution within the AWS ecosystem.
Additional Resources
AWS Observability Workshop: Free hands-on workshop to explore best practices.
Observability Accelerators: Terraform and CDK-based accelerators to jumpstart your observability journey.
These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.
If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.