Application Performance Monitoring in a Docker World
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 this introduces 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
People and monitoring tools were used to thinking of servers as the base object. It made sense—there were a limited number of servers around. Even with virtualization there were 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.
I used to love these diagrams showing an application chart or all the machines in the system. Now there are so many objects and they interact with other objects. Dependency diagrams have become very complex—it’s like a spaghetti of dependencies. Monitoring complex applications and understanding all these dependencies is quite challenging, and in many cases these dependency maps are very difficult to understand or use.
Adding machines to support increased demand used to be a lengthier process which allowed for preparation. Infrastructure is now built to scale dynamically, to increase or decrease the number of containers according to demand. Monitoring should also 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.
Objects don’t stay in place, they move around. Object can move around to accommodate maintenance or 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?
Now you see it, now you don’t! Servers used to be there forever, even virtual machines existed for a long period of time, but 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?
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.