priceline webinar
TRANSCRIPT
Customer Roundtable
How Priceline Manages Application Performance with AppDynamics
July 22, 2010
AppDynamics Proprietary & Confidential - All Rights Reserved
Webinar Tips for Attendees
• You will be connected to audio using your computer’s microphone and speakers via VoIP. A headset is recommended.
• Or, you may select “Use Telephone” after joining the Webinar.• Dial 773-945-1010• Access Code 370-318-658 (attendees)• Webinar ID: 799-449-856
• Submit questions by typing them into the Questions Pane• Questions will be answered at the end of
the presentation
2 April 11, 2023 | Copyright © 2010 AppDynamics. All rights reserved.
Introducing the Speakers
© AppDynamics. All Rights Reserved.3
Giri NathanVP, EngineeringPriceline.com
Venkat KandarpaProduct ManagerPriceline.com
Steve RoopVP, MarketingAppDynamics
How Priceline manages App Performance
Q&A
AppDynamics Solution Overview
Next Steps & Questions
2
3
1
Today’s Agenda
4 Copyright © 2010 AppDynamics. All rights reserved.
Introducing AppDynamics
The only Application Performance Management (APM) solution built specifically for distributed Java applications in cloud, virtual, and physical environments
Who we are Sample Customers
5 Copyright © 2010 AppDynamics. All rights reserved.
1. Production downtime and/or recurring performance problems
2. Poor end-user experiences may result in lost revenue or brand damage
3. Inability to determine root cause and resolve problems in timely manner
Three Key Customer Challenges
6 Copyright © 2010 AppDynamics. All rights reserved.
Application Health
Application Management Challenges
Dynamically Discover, Map and Instrument all tiers of your Application
AppDynamics Solution Overview
7 Copyright © 2010 AppDynamics. All rights reserved.
Monitor Business Transaction performance
Accurately Detect & Isolate problems
Diagnose root-cause 90% faster
Respond via Policy-Driven automation
Troubleshoot via “google traffic map”
• Troubleshoot performance of a specific transaction (ie Checkout)• See the time distribution for the transaction across each tier• Visual Cues (green/yellow/red) identify deviations from baseline
Identify Root Cause with Deep Diagnostics
• Always-on, deep diagnostics for every class/method• Diagnostic Sessions collected automatically• Easily follow transaction across tiers and see external call details• Share diagnostics between Ops & Development
• Byte Code injection instrumentation
• Business transaction data collection
One way HTTPS connections
• Machine statistics data collection
• Distributed automation extension
• Central Management Server• SaaS delivery or on-premise
AppDynamics Architecture
AppDynamics Controller
Machine Agent
Application Server Agent
(JVM/CLR)
10 Copyright © 2010 AppDynamics. All rights reserved.
Priceline Company Overview
Ticker Symbol: NASDAQ: PCLN
Launched: 1999
Sales: 2009 gross bookings of over $9 billion.
• Company Makeup: The Priceline Group is comprised of four main brands – priceline.com, Booking.com, Agoda.com and TravelJigsaw
• Geographic Reach: Priceline provides travel services in 34 languages in over 94 countries in Europe, North America, Asia, the Middle East and Africa. Works with over 100,000 hotel partners worldwide.
• Interesting Fact: Priceline believes that Booking.com is Europe’s largest online hotel reservation service, operating in over 81 countries in 31 languages, with 86,000 hotel partners.
11 April 11, 2023 | Copyright © 2010 AppDynamics. All rights reserved.
Priceline’s Multi-Tier Application
12 April 11, 2023 | Copyright © 2010 AppDynamics. All rights reserved.
Web Tier• Presentation elements and
user-interface logic
Middle Tier• Business logic, database
access, and Web State
Database Tier• Persistent storage of
customer, transactional, and business data
Fulfillment Tier• Offer processing; customer-
to-business gateways
Priorities for App Performance & Availability
© AppDynamics. All Rights Reserved.13
Maintain high service levels while volume grows
Rapid MTTR(Mean-time-to-Repair)
Wide angle view to help us assure service levels and manage performance in our Multi-tiered environment
Ability to link user requests to business transaction on Multi-tier environment
What We Were Using Prior to AppDynamics
© AppDynamics. All Rights Reserved.14
• Home-grown Monitoring approach• We developed our own instrumentation/custom code• Utilized log files and internal dashboards
• Other 3rd Party Systems Monitoring
• Limited ability to visualize and trace end-to-end transactions across JVM boundaries
• Unsatisfactory level of visibility into custom container (no micro-view)
Key Factors
© AppDynamics. All Rights Reserved.15
Measure performance changes in a dynamic/agile environment from a central location
Ability to link specific environmental changes to performance change
Ability to capture statistical information from custom application developed in-house
Our Evaluation Criteria
© AppDynamics. All Rights Reserved.16
• Low Overhead in High Volume Environment
• End-to-End Visibility• Visualize & Trace Distributed Transactions• Ability to trace calls originating from web tier into custom multi-
threaded container• Automatic discovery of transactions and policy
• Deep Diagnostics• Automatically trigger deep diagnostics upon policy violation• Must be able to trace the call graph for each thread
• Vendor Responsiveness
What We Saw During the P.O.C.
© AppDynamics. All Rights Reserved.17
Product Fit• Validated Low Overhead claim• Validated distributed transaction view from Tomcat
to Jboss tier• Validated deep diagnostic approach by capturing
bad requests and associated call graphs• Conducted load and stability tests
Vendor Responsiveness• Gave direct feedback to Engineering team• Transaction correlation over Jboss RMI• API to instrument custom container
Deployment Tips & Best Practices
© AppDynamics. All Rights Reserved.18
• Deploy AppDynamics in both Staging and Production• Staging is a subset of production with real-traffic• Able to catch performance problems before full Production
• Enable both Engineering & Support to have access to AppDynamics• Both groups getting value – Engineers get CSI tool• Both groups trust the root cause analysis
• Use the AppDynamics API to integrate custom application metrics into the AppDynamics Dashboards
Using AppDynamics in Priceline Environment
© AppDynamics. All Rights Reserved.19
Support Team• Existing Monitoring tools are generally used to alert
Support to a production problem• AppDynamics used to isolate the problem and
identify the root cause• Use AppDynamics to isolate specific line of code
causing the problem
Support & Development team collaboration• Support initiates incident resolution process• Development identifies appropriate resolution• Support implements the fix in Staging• Both teams analyze using AppDynamics in Staging• Support promotes fix to Production
Problems Solved to-date
© AppDynamics. All Rights Reserved.20
Mean-time-to-Repair for:• Slow SQL Response• Slow Business Transaction Response• Stalls/Hangs• Out of Memory errors• Growing Caches
Analyze trends for specific environmental changes• Configuration changes• New code pushes• Hardware & Software changes
Customer-Centric Engineering Approach• Willingness to listen to our requirements• API, Jboss RMI, Memory Profiling
Product Fit • Distributed/SOA Environment• High Volume Environment• Easy to Use
Monitoring Best Practices• Configuration/Deployment assistance• Virtual member of our Triage Team
Why are we willing to recommend them?
© AppDynamics. All Rights Reserved.21
3 Ways to Get Started with AppDynamics
© AppDynamics. All Rights Reserved.22
Ask for a Detailed Demo
Try our Standard Edition
www.appdynamics.com/free http://www.appdynamics.com/30-day-trial.php
Download FreeProduct
Top 10 Things we hear during a Trial
1. “I didn’t know that service was talking to that back-end system”
2. “That query executed how many times?”
3. “I have never had visibility into that part of the application before.”
4. “This is cool. I have never been able to visualize how our business transactions execute across our distributed environment”
5. “I suspected it was that component that was slowing things down. Now I have the proof.”
6. “I can’t believe you can show me this much information at such low overhead.”
7. “Can you give me a minute. I’d like to fix this performance problem your product just identified.”
8. “I can’t believe I got this much visibility in the first 2 hours.”
9. “When I designed this service, I didn’t realize that 100’s of apps were going to call it.”
10. “I’ve never seen those errors before.”
23 April 11, 2023 | Copyright © 2010 AppDynamics. All rights reserved.
What You Will Learn in Trial
24 April 11, 2023 | Copyright © 2010 AppDynamics. All rights reserved.
• Install Controller• Install Agents• Discover Topology• Discover Business
Transactions• View Maps &
Dashboards
• Event Detection • Error Detection• Request Snapshots• Callgraph
Configuration• Metric Browser
• Using Baselines• SLA’s/Policy
Definition• Outlier Detection
• Incident Mgmt• Notification
Distribution
Discovery & Visibility
Trouble- Shooting & Root CauseDiagnosis
Proactive Monitoring
Problem Response
Common Application Performance Issues
Problem Type Frequency Difficulty to Diagnose
Slow SQLVery High Medium
Slow Response / Errors due to malformed code Very High High
SOA Remoting IssuesHigh High
Thread & Synchronization Issues Medium Very High
Memory Leaks & ThrashMedium Very High
Mutual Commitment
• Duration: 2-3 days• Your Company
• Choose one of your Java Applications• Provide an environment and ability to generate load• Clearly Define Success Criteria• Dedicated Evaluator & Management Buy-In
• AppDynamics• Trial License (On-Premise or SaaS)• Install & Configure AppDynamics• Application Performance Management Best Practices• Knowledge Transfer & Training• Summary of Findings
• Desired Outcomes• Confidence that your MTTR will improve with AppDynamics• Decision to move forward to purchase & deploy
26 April 11, 2023 | Copyright © 2010 AppDynamics. All rights reserved.
Q&A
Type your questions into the pane…
27 April 11, 2023 | Copyright © 2010 AppDynamics. All rights reserved.
The Future of Application Performance Management
Application Server Stack
Application Code
JVM / .NET CLR
Application Server Stack
Application Code
JVM / .NET CLR
Application Server Stack
Application Code
JVM / .NET CLR
Requests are automatically identified and bucketed into business transactions
Business Transaction Discovery
“Tag and Follow” the transaction across tiers via protocol header decoration
Tag and Follow
Auto-resolution identifies the tiers and services participating in the end-to-end transaction flow
• Extremely lightweight• Less than 2% overhead• No Code changes
Dynamic Flow MappingTM
29 Copyright © 2010 AppDynamics. All rights reserved.
2
3
4
Byte Code Instrumentation (BCI) automatically injected into application with no code changes
Automatic Byte Code Instrumentation
1
Deep-on-demand DiagnosticsTM
• 100% visibility of class/method details with no manual instrumentation• Real-time thread execution analysis• Automatically adapts to application code changes
Call Stack Analysis
Deep-on-DemandDiagnostics
Transaction Requests
30 Copyright © 2010 AppDynamics. All rights reserved.
• Baselines determine the “normal” performance for each transaction• Categorizes transaction requests into four types (normal/slow/error/stall)• Accurately distinguishes outliers vs. consistently bad performance• Determines whether problems are cluster-wide vs. single node only
Performance Pattern Analysis