priceline webinar

30
Customer Roundtable How Priceline Manages Application Performance with AppDynamics July 22, 2010 AppDynamics Proprietary & Confidential - All Rights Reserved

Upload: appdynamics

Post on 10-May-2015

2.796 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Priceline webinar

Customer Roundtable

How Priceline Manages Application Performance with AppDynamics

July 22, 2010

AppDynamics Proprietary & Confidential - All Rights Reserved

Page 2: Priceline webinar

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.

Page 3: Priceline webinar

Introducing the Speakers

© AppDynamics. All Rights Reserved.3

Giri NathanVP, EngineeringPriceline.com

Venkat KandarpaProduct ManagerPriceline.com

Steve RoopVP, MarketingAppDynamics

Page 4: Priceline webinar

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.

Page 5: Priceline webinar

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.

Page 6: Priceline webinar

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

Page 7: Priceline webinar

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

Page 8: Priceline webinar

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

Page 9: Priceline webinar

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

Page 10: Priceline webinar

• 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.

Page 11: Priceline webinar

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.

Page 12: Priceline webinar

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

Page 13: Priceline webinar

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

Page 14: Priceline webinar

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)

Page 15: Priceline webinar

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

Page 16: Priceline webinar

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

Page 17: Priceline webinar

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

Page 18: Priceline webinar

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

Page 19: Priceline webinar

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

Page 20: Priceline webinar

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

Page 21: Priceline webinar

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

Page 22: Priceline webinar

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

Page 23: Priceline webinar

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.

Page 24: Priceline webinar

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

Page 25: Priceline webinar

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

Page 26: Priceline webinar

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.

Page 27: Priceline webinar

Q&A

Type your questions into the pane…

27 April 11, 2023 | Copyright © 2010 AppDynamics. All rights reserved.

Page 28: Priceline webinar

The Future of Application Performance Management

Page 29: Priceline webinar

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

Page 30: Priceline webinar

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