The Motley Fool

Motley Fool implements AppDynamics to replace its profilers and outdated logs to gain immediate insight into .NET and Python performance issues

Founded in 1993 by brothers Tom and David Gardner, the Motley Fool is dedicated to helping the world invest. The Motley Fool helps millions of people attain financial freedom through their websites, podcasts, books, newspaper columns, radio shows, mutual funds, and premium investing services. Powered by a diverse range of technologies—specifically .NET, Python, and Django—the Motley Fool engineering team used AppDynamics to replace their outdated profilers and logs to diagnose production problems. AppDynamics has provided the Motley Fool with the ability to gain insight into the application performance issues, gain productivity across its engineering organization, and provide deep insight across the various teams in the company.

Challenge: An accurate source of truth surrounding the monitoring of application errors

The Motley Fool is powered by a diverse set of internal technologies, including .NET, Redis, Memcache, and Django as their framework of choice powered by Python. The agile engineering process at Motley Fool sometimes involves releasing code multiple times a day. Before AppDynamics, the company would shift through logs and investigate individual application servers to determine the sources of application issues and errors. Anne Baynes, a systems engineer at Motley Fool, recalls, “Even for minor performance issues, it takes almost a week to fix problems after gathering all the teams and data necessary.”

AppDynamics can end our debates and guesswork surrounding what the performance root problem is.

Another common challenge the engineering teams faced was having an accurate source of truth surrounding the monitoring of application errors. “The development team would debate with operations on the root cause of performance issues,” says Baynes. “With AppDynamics, we immediately pinpointed that it was actually a database problem. AppDynamics can end our debates and guesswork surrounding what the performance root problem is.”

Experiencing slow SQL was a common contributor to poor application performance. Having insight into the actual SQL itself was a nearly impossible task. “Previously, the way our DBA team was set up, it was not an easy task to see which SQL was associated with a transaction that had performance problems,” recollects Baynes, “but with AppDynamics, seeing the actual query within a snapshot has saved us a few times.”
Once it was clear that an APM platform was necessary, the development team at the Motley Fool began qualifying their options. Although they settled on New Relic, they soon experienced deep limitations with New Relic’s ability to monitor their .NET applications at the time. Once the team installed AppDynamics, they immediately discovered the power and the scale that the AppDynamics Application Intelligence Platform has to offer. “We had a strong need for .NET monitoring”, explains Baynes, “and AppDynamics stood out as a strong solution that really paid off when we had our first major issue with one of our .NET APIs. Using AppDynamics to solve our real-world problems really sealed the deal for our adoption of its Application Intelligence Platform.”

Using AppDynamics to solve our real-world problems really sealed the deal for our adoption of its Application Intelligence Platform.

Solution: Fix performance problems as they are happening with immediate insight into production

The team at the Motley Fool implemented AppDynamics across their .NET and Python applications for production-level monitoring. In addition to production, the team is also embarking on a journey to have AppDynamics also monitor their pre-production environments in an effort to filter application errors and performance issues before they are released and exposed to customers. Nick Travis, web operations engineer at the Motley Fool, explains, "We’re in the process of implementing AppDynamics in our pre-production environments as well, so that we can begin testing our application for performance issues before it even hits production.”

We know immediately what the root cause of a problem is simply by looking at a snapshot in the AppDynamics Application Intelligence Platform.

Nick Travis also raves about his favorite features, including the single interface to find the root cause of all the application issues. “I love being able to troubleshoot with AppDynamics and the ability to determine the root cause of an issue from a single UI. I can look at SQL hotspots, slow code, and poor response times.” Travis adds, "I know exactly which SQL statement is blocking without having to check with a DBA. We know immediately what the root cause of a problem is simply by looking at a snapshot in the AppDynamics Application Intelligence Platform.” One of the most valuable advantages of AppDynamics is that it provides insight into what is happening in real time, as opposed to historical logs, so that you can fix performance problems as they’re happening. “AppDynamics help us understand what is happening right now and removes the guessing,” adds Travis.

Benefits: AppDynamics offers a versatile toolset across the entire IT aspect of a company

With their production environment monitored by AppDynamics, the Motley Fool team is rest assured that they are not flying blind towards production stability. Nick Travis adds, “AppDynamics provides us the necessary insight into live production issues. For example, if the performance of our ordering system is being degraded because of a backend issue, and we do not know specifically which tier is to blame, we will use AppDynamics to find the root cause of the problem in production”.

The added benefit of AppDynamics is also not having to rely on profilers and outdated logs to diagnose problems. Travis explains, “We’ve been able to replace all our profilers with AppDynamics. With the profilers, it was an extensive process, and it caused too much overhead on our production servers. It also took too much of our time going through so many system events to pinpoint the root cause. Rather than going into each server, we now simply go to AppDynamics to find the exact application server that has the problem.”
AppDynamics has been monitoring the company's applications for over two years and Nick Travis intends on having AppDynamics implemented across the entire organization. Travis explains, “Developers, operations, and QA teams could immediately benefit from AppDynamics. They can use AppDynamics to find performance bottlenecks— whether it is caused by your code, at the database level, or whether certain types of clients are to blame. AppDynamics has a versatile toolset across the entire IT aspect of a company, but it also appeals to the management side, if you are interested in specific reports and uptime guarantees.” Travis adds, “We don’t just use AppDynamics to measure the performance of our application, but the business impact as well.”

AppDynamics has a versatile toolset across the entire IT aspect of a company, but it also appeals to the management side if you are interested in specific reports and uptime guarantees.

Anne Baynes also added that any technology company with a complex environment will find immediate benefit by using AppDynamics. In addition to being an excellent product, Baynes raved about the stellar customer support experience she has received from the AppDynamics Customer Success teams. Baynes recalls, “I had an amazing technical support experience. Matt Jensen, from the CS team, did a fantastic job in helping explain and solve my problems— the process was effective and pleasant all around.”