menu

Application Performance Monitoring in a Docker World

Golan Shem-Tov
SHARE ON:

Here comes the BOOM!

Everybody is talking about Docker. If they are not already using docker, chances are they are planning to start using it soon. Applications are moving to docker and cloud environments and introduce some interesting challenges when it comes to application performance monitoring. If you have some of the following challenges monitoring an application running on Docker or a Hybrid Cloud environment, SteelCentral AppInternals can help.

Number of objects

moving to docker containers increases the number of objects

People and monitoring tools were used to thinking with servers as the base object, it made sense, there was a limited number of servers around. Even with virtualization there was still a limited number of hosts and guests. Switching to containers you have a LOT of objects which can be overwhelming to people and monitoring tools.

 

 

 

Complexity

complex dependencies between objects

I used to love those diagrams showing an application chart or machines in the system. Now there are so many objects and they interact with other objects. Dependency diagrams became very complex, it’s like a spaghetti of dependencies. Monitoring complex application and understanding all these dependencies is quite challenging and in many cases these dependency maps are very difficult to understand or use.

 

 

 

Elasticity

elastic system

Adding machines to support increased demand used to be a lengthier process which allowed for preparation. Infrastructure is now built to scale,  increase or decrease the number of containers according to demand. Monitoring should start and stop automatically  as containers get created/removed and start/stop on a regular basis. Just a small example—alerting on a server going down used to be important but does not make sense in an environment that is elastic.

 

 

Mobility

application components moving around

Objects don’t stay on place, they move around. Object can move around to accommodate maintenance or a failure. Objects can also move around to better balance a load or move between data centers and geographies. In many cases it is done automatically without the need for human intervention. What do you do when you need to monitor application components that are a moving target?

 

 

 

Transience

transient objects and unmanageable complexity

Now you see it, now you don’t! Servers used to be there forever, virtual machines existed for a long period of time, containers have a much shorter lifetime. Keeping information about application components that are gone, and looking for that information when you troubleshoot a problem, is an interesting challenge.

 

 

 

You add all these challenges together what do you get?

boom - application monitoring in a dockerized environment

 

Do you have one or many of these challenges? Try out SteelCentral AppInternals for free today!

Read more about Riverbed’s application performance monitoring solution here >

Special thanks to Jon Hodgson for the inspiration and letting me use images from his fantastic presentation.

No Responses to “Application Performance Monitoring in a Docker World”

Leave a Reply

Your email address will not be published. Required fields are marked *