Top Banner
Improving customer happiness at thetrainline with New Relic Paul Kiddie @pkiddie @ttl_engineering
16
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: New Relic - May 2015 Meetup @ thetrainline

Improving customer happiness

at thetrainline with New Relic

Paul Kiddie @pkiddie

@ttl_engineering

Page 2: New Relic - May 2015 Meetup @ thetrainline

What we do

Train companies

Small business

Mobile AppsConsumer Website

Services

Page 3: New Relic - May 2015 Meetup @ thetrainline

Some vitals

• ~40 Environments

• over 1000 servers

• over 100 products

• Windows/.NET

• New Relic .NET agent / Server Monitor

• Automation is key!

Page 4: New Relic - May 2015 Meetup @ thetrainline

Before New Relic

• Application errors logged to disk

• Production support team look at logs

– After production issue identified from customer

reports

– After platform release to check change in patterns

• Ad-hoc and reactive

• Errors difficult to reproduce as usually

hours/days after the event and out of context

Page 5: New Relic - May 2015 Meetup @ thetrainline

Introducing New Relic at thetrainline

• Zero capital outlay, subscription model, up and

running in an hour

• Identified a product: leisure website

• Continuous delivery pipeline with blue/green

deployments to all environments

• Needed solution for continuous monitoring

Page 6: New Relic - May 2015 Meetup @ thetrainline

Introducing New Relic at thetrainline

• New Relic agent / server monitor part of

webserver recipe

• Deployed with high security enabled

• Out of the box

– Near-real time error logging / alerting

– Application / end-user performance

– Deployment markers

– User funnels

Page 7: New Relic - May 2015 Meetup @ thetrainline
Page 8: New Relic - May 2015 Meetup @ thetrainline

Immediate value

• Error rate as a team key performance

indicator

• Drive down error rate through weekly health

checks

• Remediate top three errors by adding directly

to dev team backlog

• Stack traces visible and actionable by

developers without further analysis

Page 9: New Relic - May 2015 Meetup @ thetrainline

https://api.newrelic.com/v2/applications/{application_id}/metrics/data.json

Page 10: New Relic - May 2015 Meetup @ thetrainline

Taking it further

• Roll out New Relic across all machines in all

environments

– New machines created by Chef automation install

New Relic by default

– Else use SCCM to manage installation

Application/server monitoring built in and

zero effort for dev teams

Page 11: New Relic - May 2015 Meetup @ thetrainline

Taking it further

Custom attributes

• Mimic high security mode in newrelic.config– Create and deploy Chocolatey package through Chef /

SCCM

• Observations:– New Relic .NET agent doesn’t check in to verify

highSecurity setting matches once it has started

<highSecurity enabled=“true” />

Page 12: New Relic - May 2015 Meetup @ thetrainline

More value…

• Use custom attributes to augment Transaction

and PageView events with more information

to form other business metrics.

• Phoenix’s real-time payments dashboard

– Spread of payment methods

– Effect of payment outages

Page 13: New Relic - May 2015 Meetup @ thetrainline
Page 14: New Relic - May 2015 Meetup @ thetrainline

Users of New Relic at thetrainline

• Monitoring/Production Support for near

real time running health of system

• Product owners home in and use funnels to

prioritise product spend

• Developers get rapid feedback on new

features

• Management get a holistic view of the

system through the map feature

Page 15: New Relic - May 2015 Meetup @ thetrainline

What we’d like to see

• Javascript errors in Insights

• Better Javascript stack traces

• Per application retention period in Insights

• .NET async support

Page 16: New Relic - May 2015 Meetup @ thetrainline

What’s next

• More custom attributes!

• Develop and run Node web apps in

production

– use New Relic node.js agent

– different deployment model, bundle agent/config

with the app

• Monitoring RabbitMQ instances