Apartments.com

Performance with a View: AppDynamics Moves into Apartments.com

When it comes to finding an apartment or offering one for rent, few websites compare to Apartments.com. This national online resource delivers personalized apartment searches, walk-through video demonstrations and community reviews to potential renters via any computer or mobile device. The company’s website is powered by a comprehensive database containing millions of apartments as well as custom-built .NET web applications, which must be frequently updated and optimized to ensure responsive performance and the best-possible customer experience.

Challenge: Ambitious new website with an insufficient tool

Jonathan Sieja, Technical Operations Manager for Apartments.com, heads up the DevOps team that keeps the company’s .NET-based applications and website responding to customer needs around the clock 365 days a year. According to Sieja, “Success for our DevOps team is measured by website availability, low error rates, application performance and the overall user experience. To be successful, the team must develop and deploy code quickly and monitor performance-specific changes to the website approximately once a week.”

Apartments.com was facing ambitious goals. First, this web-based company was redeveloping its entire website writing completely new code that needed to be performance tested and put into production. In addition, the website was expecting up to eight-times more traffic due to aggressive marketing activities. With a critical project of this type, application performance management and rapid issue resolution are essential.

During development, Sieja and his teams realized they had a major capability gap with a key systems management product. The new website was transitioning from purely synchronous calls to heavy use of asynchronous calls. Apartments.com had been using New Relic for their Application Performance Monitoring (APM) solution for the last two years, when they identified a major gap in enterprise-level coverage.

“We needed an APM that could track traffic across multiple tiers and the enterprise. In addition, we knew we couldn’t rely on New Relic when the new site went live because it literally couldn’t track any of the calls anymore,” informs Sieja.

Solution: Out of the box value kept project on time

With the upcoming deployment drawing near, Apartments.com moved into an accelerated selection process. “Our chief technology officer had previously conducted an RFP and proof of concept on various APM solutions a couple of years earlier and was very impressed with AppDynamics. We installed an evaluation version and were immediately sold,” recalls Sieja. “Honestly, our only challenge was the price, as we were moving to a true enterprise-class APM solution. The AppDynamics folks worked with us on the numbers. From my perspective, AppDynamics is definitely worth the higher price.”
Sieja describes the transition to AppDynamics as extremely simple. “It’s easy to implement by design. One of our junior-level guys was able to write a script in an hour and deploy AppDynamics to 60 servers in one day.

Right out of the box, AppDynamics starts picking up every transaction that you need to do your job as a DevOp engineer. Implementing a new APM was not originally on my project roadmap, but with AppDynamics’ ease of installation, we changed the tires on the car while it was still moving.”

Implementing a new APM was not originally on my project roadmap, but with AppDynamics’ ease of installation we changed the tires on the car while it was still moving.

Benefits: Enterprise-level visibility and troubleshooting

Right from the start, Sieja’s team liked what they saw with AppDynamics. “The AppDynamics presentation layer blew us away. We were resolving problems in 10 seconds that New Relic couldn’t even find. I know this, because we were running both APM solutions in tandem for a while,” states Sieja.

AppDynamics APM immediately pinpointed a number of issues that spanned multiple infrastructure components. “Right out of the gate, we saw that we didn’t have enough compute capacity on one set of our web servers. Once we fixed that, we could see a networking issue where we were throttling traffic, even though we were running a very low load at the time. We pinpointed the issue to our Internet pipe,” says Sieja.
AppDynamics helps troubleshoot and tune application performance from end to end across sophisticated systems architecture thanks to a unified approach to monitoring using modular components, such as AppDynamics Database Monitoring. Apartments.com’s .NET applications require frequent service calls to its SQL database servers. According to Sieja, “Once we got our web tier front end flying, the AppDynamics database plug-in showed us we were adding several hundred milliseconds of compute time on a single SQL call. With one code tweak, we were able to improve web-page load performance from 500 milliseconds down to 80 milliseconds.”

The AppDynamics presentation layer blew us away. We were resolving problems in 10 seconds that New Relic couldn’t even find.

The intuitive nature of AppDynamics allows even junior personnel to make big contributions.

In one instance, the company’s senior programmer needed key metrics and memory heap-size data collected to optimize application performance. The assignment was given to one of Sieja’s lead engineers and a junior QA technician. “We realized that with the Metric Browser in conjunction with the load test we were running, everything we needed was already in AppDynamics. Our QA technician was able to finish off the project in a little over 15 minutes. This is something that previously would have taken two or three days and required running another load test,” recalls Sieja.

When your company’s revenue is derived from a web-based app, uptime and performance are critical issues. “In one instance, my team deployed a patch for AppFabric middleware that might have taken down our entire site. We were running at 20 percent availability and facing desperate measure. One of developers went into AppDynamics and noticed our AppFabric was out. A developer quickly diagnosed the problem and alerted the systems administrator. The issue was resolved in less than 10 minutes, averting a major overhaul that would have required a service outage of a full hour,” explains Sieja.

Without AppDynamics, we would have to spend multiple man days writing custom logic into our code. With AppDynamics, we had answers in less than 20 minutes.

Sieja also recalls having a problem with a caching tier-layer piece of the Apartments.com infrastructure, where data in the cache store wasn’t behaving as expected. “Without AppDynamics, we would have to spend multiple man days writing custom logic into our code. With AppDynamics, we had answers in less than 20 minutes.”

Sieja considers himself a heavy user of AppDynamics. “Personally, I use AppDynamics a lot. I use it to monitor activity across both of our data centers, looking at exact response times and page loads. In addition, I can go in and watch end-to-end business transactions. Apartments.com has been running a lot of commercials and AppDynamics helps me gain immediate insight into how deep visitors go into the site and how the site is performing. I can watch activity spike in real-time right after a commercial runs, which is exciting.”

When asked what he likes best about AppDynamics, Sieja couldn’t pinpoint one feature. “I place a lot of value on ease of implementation, but also value of data. AppDynamics delivered in both facets, and we haven't looked back since.”

I place a lot of value on ease of implementation, but also value of data. AppDynamics delivered in both facets, and we haven't looked back since.