Analytics-Driven Docker Monitoring for Cloud Applications and Microservices
Docker simplifies app development but how do you deliver five-star experience to your customers?
Author — Anand Akela
Docker is increasingly becoming the preferred platform for developers and sysadmins of distributed applications and microservices because it enables them to build, ship, and run any app anywhere. However, all these benefits come with added complexity due to the increased number of small, often short-lived, cloud applications and microservices with exponentially increased inter-dependencies.
These complexities can make moving from the development environment to the production environment a challenge.
In this application economy, one of the key objectives for enterprises while they are undergoing digital transformation, is to deliver exceptional end-user experience. Tracking down application issues is difficult in any environment but adding containers, cloud applications and microservices — that may or may not be preserved — adds greatly to monitoring complexity.
The increased complexity of the Docker based application environment requires a comprehensive monitoring solution to ensure a positive end-user experience. The solution must include monitoring for user experience, performance, security, cloud provider, business transaction, system and more. Based on my experience working with numerous customers who have either deployed or are actively evaluating Docker for powering their application environment, I see two key challenges that most of them face when it comes to monitoring.
- Correlating and diagnosing end-user application experience issues from the end-user all the way to the Docker infrastructure requires tracing through the entire application infrastructure. Customers want to do this efficiently, ideally using a single tool, however, most of them use different tools to monitor applications and the Docker infrastructure. Many of them have APM tools that require agents to be deployed inside the Docker container running the applications. These agents can ingest Docker infrastructure monitoring data, but, don’t have an automated way to correlate it with the data from application monitoring tools.
- Many customers who are deploying their microservices in a Docker environment do not want to install typically heavy weight agents required for monitoring their applications, but, they still want to know how different containers and the applications running inside them are dependent upon each other.
There are not many solutions out there today that address either of these challenges, and definitely not a single solution that addresses them both.
Some customers resort to using a variety of solutions from multiple vendors to tackle these challenges and others cobble together a custom-built monitoring solution that may or may not be effective. Either option creates ongoing, additional work for the customer.
CA Application Performance Management (CA APM) provides a comprehensive view of the Docker infrastructure without deploying agents inside each Docker container and it monitors application dependencies across containers. In conjunction with standard CA APM agents and the analytics gathered from applications and infrastructure, you can achieve the deepest visibility into the health and performance of transactions and applications running inside of Docker as well as monitoring across containers and across different orchestration engines. It even enables you to create your own Docker views.
Here is a video demonstrating how CA APM addresses both challenges I talked about:
You can learn more about the solution by attending the session: “115548 — Winter is Coming for Microservice Complexity”
Or, see a demo at the CA Technologies booth at Dockercon 2017.