Why New Relic
Quick isolation and resolution of performance issues as well as ongoing system health monitoring.
- Chose New Relic as key component of development and production strategy
- Use New Relic helped to troubleshoot performance, optimize code and monitor traffic spikes
- Utilize NR Dashboard for quick view of application health
HotelTonight began development in September 2010 with a goal of being included in the iOS app store by December 2010. This meant having the application fully tested and ready to go by late November. With such an ambitious goal, the ability to rapidly debug performance issues was essential.
HotelTonight has two components of their service:
- HotelTonight mobile app available today in Apple, Google Play and Amazon app stores
- Extranet, an internal web based application for development, customer service and most importantly, hotels participating in the program
The mobile app used by travelers to book their hotel room is the most heavily trafficked part of the service. The Extranet, a web based application, is used by the internal team, customer support and hotels participating in the service. Each day, hotels input their room availability and rates into the Extranet. The Extranet also produces history and usage reports for the participating hotels so they can easily view their history and success rates using HotelTonight. Some hotels also use third party inventory and reservation systems gateways and APIs to load the evening’s available rooms.
Hotel bookings open at noon in the hotel’s local time zone. If a traveler accesses the application before noon in the time zone they are searching, HotelTonight presents a clock displaying how many minutes until the hotel sale begins, continuing the countdown until the sale opens.
The pressure was on to build and launch the application in time for the holiday season. Much of their success depended on their ability to ensure that the application could handle spikes in traffic that are natural with this ‘follow-the-sun’ timed sales model. An industry veteran with prior Ruby and New Relic experience, Chris Bailey, Co-Founder and CTO at HotelTonight, knew that New Relic would be instrumental in helping them meet this tight goal.
“The dashboard is fantastic. It’s the key monitoring element that allows us to see if the systems are running normally. New Relic saves us a lot of time. In most instances we can resolve issues in under an hour, start to finish, often even faster.”
From the beginning, the team relied on New Relic for application performance management as a key component of their development and production strategy. New Relic helped troubleshoot performance, optimize their code and monitor traffic spikes that impact performance. “Without New Relic we would have had to build our own tools and we did not want to do that,” says Chris.
HotelTonight uses New Relic in their production environment to monitor application traffic, ongoing performance, and the overall health of the application. Chris has implemented the third party menu bar add-on for Macs that continually show him New Relic metrics so he can see at a glance if there’s anything out of the ordinary going on. He also uses Custom Dashboards to monitor traffic or activity that is out of the ordinary. If something is unusual, he goes right to the New Relic Dashboard to take a closer look. “The dashboard is fantastic,” comments Chris. “It’s the key monitoring element that allows us to see if the systems are running normally. New Relic saves us a lot of time. The way New Relic breaks down a Rails action makes it easy for us to find and identify the problem and the solution. In most instances we can resolve issues in under an hour, start to finish, often even faster.”
Part of the way that Chris prioritizes the team’s work is to look at the worst performing actions. “We’ll pick off the top three and work on those. We often use Transaction Traces to dig down into more detailed information. Or, we might see a particularly bad spike that we aren’t sure about and need more detail on. Transaction Traces allow us to narrow things down more quickly. We can hypothesize all we want about where the problem is, but having the real data and specific reporting New Relic provides, means we don’t have to waste time figuring out where the problem is. We can identify the source of the issue quickly.”
The HotelTonight team pays close attention to New Relic’s RPM measurement, particularly because the app is API heavy. Server allocation is based on the number of RPMs the app can handle at any given time.
Chris finds the Time Comparisons feature to be particularly helpful. The ability to compare previous data from either the prior day or prior week to current data is invaluable in determining if patterns or spikes are normal. He can then decide if something merits a closer look.
Using New Relic has been a big productivity boost for the HotelTonight team. Chris comments, “People think New Relic is just about doing performance optimization, but it’s an overall monitoring solution,” comments Chris. “It gives us insight into what’s normal so we can monitor to make sure the app is functioning properly. We can see the health of the application with a quick glance which translates into confidence and time savings. That sort of daily performance monitoring is outstanding.”
This combination of the monitoring and the performance optimization allows HotelTonight to resolve issues faster and improve their planning. “We can see our traffic spikes and plan for them. The insight New Relic gives us helps us to stay ahead of the curve, rather than just react.”
Using New Relic has had a direct impact on the company’s customer experience. “Our most heavily used API was presenting us with a performance challenge. We thought it was going to be a specific gnarly SQL query. Using New Relic, we were able to determine that it was a different part of the code that was causing the performance issue. Once we identified the issue, we were able to modify the code to cut the time on that action in half. Customers looking for hotel choices in a given city now get their choices twice as fast. That’s a pretty big win.”
The net result of using New Relic for the HotelTonight team is that they have more time to focus on developing enhancements and on overall expansion in the marketplace. They don’t have to worry about performance tools or benchmarking. That’s made a huge difference.
Chris sums it up this way. “Even if you have a lot of experience building Rails apps, it still comes back to saving you time, and the less things you have to implement the easier it is to stay focused and get the job done. With New Relic, we can do a quick application health check to see what’s going on and if needed, we can start analyzing instantly. We usually don’t need to set anything up to look deeper or gather more data. New Relic provides so much. If you’re building or managing a Rails app, New Relic is an essential part of your monitoring and performance management infrastructure. Quite simply, it’s outstanding.”