Today, at Epsagon, we are announcing our agentless tracing and logging tool for modern applications. Our SaaS solution now extends beyond AWS Lambdas and is now geared for containers, VMs and function-as-a-service (Faas) deployments for cloud environments on AWS, Microsoft Azure, Google Cloud, and others, as well as on-premise deployments.
This is an important milestone in our journey to enable engineering and operations teams to work collaboratively, adopt cloud and microservice technologies and deliver software faster to production.
Why is this so important?
It’s the industry-first solution to combine distributed tracing and logging for modern applications in an automated fashion. You can ask any question about your distributed system and get the answer right away, and it’s also suitable for host-less environments.
When we started Epsagon two years ago, we observed the rapid adoption of cloud and microservice technologies at an amazing pace without giving much thought to monitoring and troubleshooting these new platforms. We also quickly discovered how existing tracing and logging technologies were outdated and not suitable for modern architectures.
We identified AWS Lambda as a suitable technology to test our hypothesis. It lacked any kind of distributed tracing technology that might have otherwise posed issues for troubleshooting. Our tool, which was launched in October 2018, included a self-serve offering which already enables hundreds of organizations to run serverless workloads in production with end-to-end tracing and logging, spending just a few minutes to set it up, with very low maintenance. The combination of tracing and logging proved to be invaluable — no more out-of-context metrics and logs — instead, distributed traces combined with logs effectively began to “tell the story” of such a complex system.
Key Trends in Modern Application Development
During the past year, organizations continued to adopt microservice design patterns, utilizing technologies such as containers and serverless. We saw several strong trends:
Distributed microservice architectures are the standard. It provides teams with scalability, faster delivery and efficient development for their software;
Services no longer communicate only via traditional HTTP methods. The best practice is to implement asynchronous design patterns, based on services such as message queues or PubSub, which provide better customer experience and remove the coupling between services and teams;
The number of messages between services grows significantly. Monitoring individual services is not enough to solve complex issues;
Organizations are aspiring to use managed services that enable them to focus on their business logic. Such services include managed Kubernetes or FaaS, various services of the cloud provider (storage, DB) and various APIs (payments, communication, etc.);
The metrics to monitor are different — for example, you no longer need to care about CPU usage anymore when using managed services.
Access to the host is no longer guaranteed, meaning you cannot run persistent monitoring agents;
Distributed tracing and logging should be combined and in the context of the distributed application. This enables both engineering and DevOps to use a single tool instead of going back and forth between legacy solutions.
A Different Approach to Tracing and Logging
Taking all of these considerations into account, we designed our next-gen solution for modern applications. What do we mean by “modern”?
- Microservices, distributed, and asynchronous;
- Many common frameworks and APIs;
- The code can run in a managed way — no access to the host.
Taking these into consideration, the product which we’re announcing today is built from the ground up for modern applications:
Distributed tracing and logging enables to do both monitoring and troubleshooting quickly and efficiently;
The agentless approach suits perfectly for any kind of service, whether if it’s running in a container, a VM or FaaS;
The fully-automated experience provides fast-moving teams with distributed tracing through every service in a matter of minutes with very little maintenance;
Visualizing the traces and architecture maps provides confidence when developing new features;
Searching across the tracing payloads and logs helps to pinpoint complex issues in seconds.