Welcome back to my series on Deploying APM in the Enterprise. In Part 5: Alerts – Storm of the Century … Every Week! we explored just how important it is to your business to implement alerts the right way.
This week we’ll take a look at one of my favorite aspects of deploying APM properly … showing off (just a little bit) and helping others find their inner rockstar!
How do I help others find their inner rockstar and why would I want to do that?
When it comes right down to it you need to show results. You most likely played a big part in convincing someone to spend money on APM software, or had a big enough problem with an application that someone decided to help you out by purchasing APM software, or you just really want to show your company how good you are at your job. Whatever your motivation, a major key to success lies with getting solid results across your organization. If you are the only person using a tool successfully the odds are stacked against you when it comes time to renew your subscription or maintenance for that tool.
So spread the APM love and become more successful through the success of others. Here’s how…
Have you ever heard the saying “It takes a whole village to raise a child”? Well think of your APM tool as the child, your group as your family, and your entire organization as the village. The more people properly using your APM tool the more problems you will solve, the faster your star will rise, and the better your ROI will be.
The most obvious place to improve your APM adoption level is within your own group. There should be multiple people who know how to manage, use, and evangelize your APM tool. If you get run over by a bus tomorrow who will take over where you left off? It doesn’t have to be one person, make sure a few people in your group are involved and divide up the responsibilities. Have a usage expert, a management expert, and an expert evangelist. The true rockstar will be able to do all of these things but not everyone can be a rockstar.
Next you need to use your family to help with adoption across your organization. Make a list of the groups and applications that you think would benefit from your APM tool. Find out what applications have the most problems (the operations center is a great place to get this information). Head out with your experts and meet with the application owners and convince them to try your solution. Once you have their approval make sure you do what is needed to make their team successful. If you help just a few of these application teams overcome their problems you will have tremendous allies when the time comes to justify what you do and the money you spend.
APM tools can do wonderful things for developers. They can make life easier across all phases of the software development lifecycle (SDLC). I’ve never met a developer who didn’t appreciate someone making their life easier.
If your not sure what my definition of the SDLC is I’ll explain it now. When developing software (whether agile or not) there are the following basic stages:
- Development – Pretty self explanatory, this is when the developer writes the code for the application.
- Test – This is a large grouping that can comprise unit tests, functional tests, integration tests, stress tests, regression tests, leak tests, user acceptance tests, etc…
- Deploy – Pushing the code to production.
- Production – Using the code that you developed, tested, and deployed.
You could argue for more or less grouping but this is accurate enough for the purposes of this blog.
Traditional Development Benefits
Developers are almost always under a time crunch to deliver the required functionality. Spending gobs of time debugging and tuning for performance is not something most developers can afford due to this time crunch. Having a tool that shows a developer the line of code causing a stability or performance issue is very valuable. This value is amplified when the test and production environments are different. Not everyone can build out an exact replica of their production environment to test on. It can be very costly and time consuming and there are many variables (config, load, usage pattern, etc…) that introduce subtle but important differences.
Another major barrier for developers are regulatory requirements which prohibit them from having access to production environments. How can a developer that has no access to production solve a problem that cannot be replicated in test? You need a tool that captures the right information for the developers.
Agile Development Benefits
Agile development benefits from APM tooling in much the same way as traditional development with some key differences. Highly agile shops have many code releases per day or per week. This release cycle does not allow for certain types of testing to be carried out before deployment to production. Stress and leak tests basically happen in production for the Agile development shops so they need a tool that can detect, alert, and troubleshoot these issues while running in prod. Make a big impact here and your start gets even brighter within your organization.
The Power User
The power user is the person in your company who can solve application problems using just a piece of bubble gum and a shoe string. These are the people who read through log files, thread dumps, kernel dumps, memory dumps and any other kind of dump required to figure out what is going wrong. They can be the hardest to covert to a user of your APM tooling but also your strongest supporter once they see the light. Try to avoid the power user until you can really bring a good game to the table or they will eat you alive.
When you finally decide to take on the power user you need to approach carefully and don’t make any sudden movements. They are usually grumpy from dealing with so many problems and might snap at you without much provocation
Have some form of user training available for each type of user within your organization. Developers need different training than operations, than application support, than management. Understand these different use cases and make sure each user is trained for their particular role. A combination of self guided training, instructor led training, and user group meetings works really well for most large organizations.
I wouldn’t put together training for the power user as they are few and far between and a personal walk through will serve just fine.
The Tooling Ecosystem
If your enterprise is anything like the organizations I have worked in then you have many tools in your monitoring, alerting, and troubleshooting ecosystem. Usually there is very minimal interaction between these different systems and that is just a shame. Tooling integration can be very powerful and important to your business. Just as a vehicle is greater than the sum of it’s parts, so too can be a properly integrated tooling ecosystem.
Your APM tool can be a great central aggregation point for data from your other tools. There is already excellent information within the APM tool that can be supplemented with data from other systems (network, database, change control, business intelligence, etc…) to create a holistic view of your applications. All of this integrated information and data gets displayed on a dashboard that should be customized for each type of user we discussed in the education section.
Dashboards are really important and deserving of their own blog post so that is what I will cover in my blog next week. Thanks for reading this post and let me know if you have any other thoughts on increasing adoption of your APM tool within the enterprise.
Click here to read Part 7: Dashboards and Reports – Get the Business on Your Side