Improvements to My Organization
A couple of things that it's done is that it's allowed us to become a bit more proactive as opposed to reactive. We can see from the dashboards when a problem is happening before it becomes too serious. It allows us to react much quicker than we had in the past, so our mean time to resolution is improved.
For example, we know that there's a particular report in our system that whenever it's executed, it can cause some performance issues. So, we have created a specific business transaction that looks for that specific call in our application. Whenever that call happens, it issues out an alert to let us know that somebody is running that report. We can then make sure that it's not consuming too many resources.
What I like about the APM is that it allows us to quickly identify where there are issues. It allows us to configure health rules so that we can, based on our own experience, determine when an application is behaving incorrectly. It's very configurable, but also has a lot of functionality right out of the box.
It has become a very integrated tool in our company, to share with developers, as well, some of the information that AppDynamics APM is showing us. It's becoming a bit of a cultural change for us to really look at AppDynamics and to leverage its full capabilities.
Room for Improvement
If you look at, for example, the two big updates that are coming out, as mentioned in the keynote address at a recent conference, I think those are two really big ones. For example, the ability to automate the deployment of the agents and the updates of the agents.
Licensing, as well, is very key. Again, we have many types of agents across different segments of our corporation; being able to manage those license keys in one central location.
We've encountered the business transaction limit. We didn't even know, but when we encountered that, a lot of business transactions were actually being lost because they couldn't be captured any more. Again, we're making tweaks to the system and constantly learning about it. It's a very complex application, and requires almost a full-time person to be in there working on it all the time.
I think training would probably be a good idea, as well. One thing that I found is that when we purchased the APM and we purchased the agents, when we finished a sales thing, "Okay, great. Well, good luck." It would have been nice for them to recommended to us, “With this, we're going to provide training for your team. And we're going to also include, let's say, two or three days, or a week, of professional services. We can help not just install it and show you the best practices, we'll also start to tweak it for you so you can start to see what you can do with it. Then, we'll let you go on your own. Then, of course, if you want more help, you can always come back.” Just to give us a little bit of a head start.
These tweaks are the reason why I have not given it a perfect rating. I feel like there's a lot of configuration and a lot of work that needs to go into it. I feel that there is still a lot to learn.
With some of the problems that we've had so far – the business transactions, the deploying of the agents - if they can finish that, as the new versions come out and whatnot, I think that they're going to get there. It's a constantly evolving space, constantly evolving product. They're going to get there.
We have had stability issues. One thing that we found very nice about AppDynamics is that they are very quick to respond to issues. We've opened tickets in the past. For example, one of the collectors, for the .NET agent, was causing our IIS service to crash intermittently. That was a bug that we raised to AppDynamics. They did a deep-dive investigation and their recommendation was to lower the frequency with which it takes snapshots. That was one issue that we ran into. It was a production issue, so it did cause a little bit of a problem. We were able to resolve it with AppDynamics, though.
Scalability is also something that we brought up with AppDynamics. Again, they're very helpful and quick to respond. When you have an environment where you have deployed multiple agents, different types of agents, SQL agents and .NET agents, for example, and a new version comes out, how do you update all those agents? How do you go about doing it? We've had a lot of talks with them. Right now, it's a manual process to update the 50-odd agents. We have to go and uninstall, and reinstall the new one.
From the keynote address at a recent conference, I think that there's going to be a way now to automate the deployments of the agents.
Moving to APM was an initiative from the ops team. We knew that we needed visibility into the application. We already have very good visibility into the infrastructure, but the application was always something that we didn't have.
I was the project manager working on the project to deploy it. I didn't do the actual deploying itself; it was our senior network engineer who did it.
I think it's pretty straightforward to install. Installing the agents themselves, that's really fast; simple configuration. So, the initial setup was pretty fast. You get a lot of value right from the initial setup.
I think the one part that requires a little bit more thought and a little bit more time is how to now take it from the initial install, in that vanilla sort of setup, to really fine tune it for your own application. That's a lot of back and forth with dev, with the performance team, with the ops team, with the devops team, the CM team, and a lot of iterations to get it right. That's a constantly evolving and learning process.
Other Solutions Considered
We looked at a few competitors. We looked at Dynatrace. We looked at New Relic, as well. Then, we saw AppDynamics.
When we first purchased it about three years ago, our sense was they were still kind of new to the market, but we wanted to give them a chance, as well. They had a pretty compelling vision, an idea, and a story; then, a good personal touch; the sales team, as well. So, we decided to go with them to give us that visibility, but we knew we needed it.
In general, one thing that we look for in a vendor is completeness of vision. I think that's important; being able to understand the needs, our needs, as well; expertise in the space.
It's a fantastic product. Just make sure that you take the time to really understand it. Know what you're getting into. It's not just, "Let's purchase it, let's install it. Okay, it's great. Now it's working, let's put it up on the dashboard."
There's so much to it; you can just scratch the surface or you can really dive into it and it can do a lot. Look at those extra features and spend the time to do it.
In addition to AppDynamics APM, we also use AppDynamics SQL and EUM. We are very happy with them. The EUM, End User Monitoring, is really, really cool. The database one, as well, for SQL, it's also something that we've just started using. We're not fully leveraging it yet. We've just purchased it and we're starting to deploy it, so it's something that we're still learning. I know that we're right now in a PoC, proof of concept, with Log Analytics, as well. And we may be looking at the Synthetics module, as well, in the future.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Dec 25 2016