AWS CloudWatch provides logs and metrics of individual AWS services. These are useful when troubleshooting individual services running on ECS or Lambda, but will not provide you the end-to-end picture, requiring a lot of work to find the log you're looking for. Epsagon actually integrates with CloudWatch using log subscription.
AWS X-Ray enables you to measure the performance of individual services and understand where you spend most of your time. It requires quite an extensive setup, and will not provide you with end-to-end information - it cannot trace through transactions which involve more than one service (if communication is being made through message queues, HTTP calls, etc). On the other hand, Epsagon is an all-in-one product for monitoring, troubleshooting, visualization, alerting, and user management.
A popular alternative is to set up log streaming to an external service such as a self-hosted Elasticsearch database. There are several drawbacks to this method:
- It will always be just a log aggregation tool, which is not capable of tracing. From our experience, distributed tracing is key to solving 90% of the tough problems in modern cloud applications.
- It requires a lot of setup and maintenance, which hurts efficiency and developer velocity.
- It is expensive and priced by an unpredictable element - GBs.
Epsagon was built precisely because there was not one suitable solution out there to provide a fully-automated, distributed tracing solution for modern cloud applications.
Some solutions out there will offer you to monitor your AWS Lambda functions individually. While helpful, we found that when applications grow beyond 10 Lambda functions, having end-to-end tracing, from the request all the way through multiple services and Lambda function, is crucial. Most of them also require a lot of manual set up, which takes a lot of time.
All other tracing solutions require at least one of the following:
- Install an agent on your host, which is not possible in modern services such as AWS Lambda or AWS Fargate.
- Significant manual configuration, e.g. OpenTracing-based solutions.
Epsagon requires minimal configuration, taking just a few minutes and does not rely on executable agents.
Updated 10 months ago