29
Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience Mike Jackson, VP of Software Engineering, Pearson Tim Boberg, Sr. Manager of Application Engineering & DevOps, Pearson

AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Embed Size (px)

Citation preview

Page 1: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Preparing for System Failure:How Pearson used AppDynamics to Drive Improved Student Experience

Mike Jackson, VP of Software Engineering, Pearson

Tim Boberg, Sr. Manager of Application Engineering & DevOps, Pearson

Page 2: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Pearson is the world’s leading learning company

40,000 employees in over 70 countries

All working to help people of all ages to make measurable progress in their lives through all kinds of learning

We provide learning materials, technologies, assessments and services to teachers and students in order to help people everywhere aim higher and fulfill their potential.

We put the learner at the center of everything we do.

Who is Pearson?

Page 3: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Who is Pearson?

Pearson is the world’s leading learning company

40,000 employees in over 70 countries

All working to help people of all ages to make measurable progress in their lives through all kinds of learning

We provide learning materials, technologies, assessments and services to teachers and students in order to help people everywhere aim higher and fulfill their potential.

We put the learner at the center of everything we do.

Page 4: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

The role of technology in education is expanding

87%of parents say

effective implementation of technology is important for

their child’s successSource: EdTechReview 2013

6.7mstudents are now taking

at least one online courseSource: Online Learning Consortium 2012

92%of educators rely on

internet content in the classroomSource: Tomorrow Project – Speak up survey 2013

Page 5: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Helping people make progress in their lives through learning

PEARSON DIGITAL TRANSFORMATION

Page 6: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

6

Digital Applications at Pearson

Page 7: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Multiple platforms with disparate technology stacks- Microsoft, Oracle, NoSQL- .Net, Java, Opensource

Pearson Apps – XL Platform Only

Copyright © 2015 AppDynamics. All rights reserved. 7

1B+Pageview

sOver 2 months

1.3MDaily

Logins

40KConcurren

t users

Page 8: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

8

Example App - MathXL

Page 9: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

9

Page 10: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Preparing for system failure

“Enterprise software must be cynical. Cynical software expects bad things to happen and is never surprised when they do.”

Release It! Design and Deploy Production-Ready Software by Michael T Nygard

Copyright © 2015 AppDynamics. All rights reserved.10

Page 11: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

11

Failure to prepare is preparing to fail

Page 12: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Surviving a failure - Think before you fail

Copyright © 2015 AppDynamics. All rights reserved.12

“A resilient system keeps processing transactions, even when there are transient impulses, persistent stresses, or component failures disrupting normal processing”

“A highly stable design usually costs the same to implement as the unstable one.”

- Release It! Design and Deploy Production-Ready Software by Michael T Nygard

Page 13: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

The Exceptional Fall

13

Page 14: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

The Monitoring Story

Copyright © 2015 AppDynamics. All rights reserved. 14

Page 15: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

The Monitoring Story

Copyright © 2015 AppDynamics. All rights reserved. 15

Page 16: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Why AppDynamics?

- One ubiquitous tool that handles our disparate tech stacks

- Scalable Architecture

- We love all of the AppDynamics features:- System level monitoring and alerting- Business transaction monitoring and alerting- Call Stack visibility for slow or failing health checks- Visual representation of system

16

Even VP’s can use it !!

Page 17: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Partnership between Pearson and AppDynamics

Copyright © 2015 AppDynamics. All rights reserved. 17

Page 18: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Preparing for the Exceptional Fall

18

“AppDynamics turns our application into a living, breathing entity” Pearson Software Engineer

Page 19: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Preparing for the Exceptional Fall

19

Page 20: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Copyright © 2015 AppDynamics. All rights reserved. 20

Exceptional Results with AppDynamics

Page 21: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Preparing for success!!!

21

● Establish CoE○ Engage AppD Professional Services○ Ongoing Hands on Training

● Organize your applications● Instrument key business transactions● Eyes On The Glass – Watch Production● Action what you see

○ If you see it, say it● Continuous improvement

○ Keep current on controller and agent○ Evaluate key systems and transactions

Page 22: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Next Steps with AppDynamics & our initiative

Copyright © 2015 AppDynamics. All rights reserved. 22

Page 23: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Takeaways

• Success at scale requires standardization and preparation• Systems fail, Implement Stability Patterns• Adopt and Implement vibrant full stack Monitoring • Watch and Learn from Production • Avoid silos, work cross functionally• Train First Responders and DevOps Teams

Copyright © 2015 AppDynamics. All rights reserved. 23

Page 24: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Thank You

Page 25: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Agenda

Pearson Overview Preparing for system failureSurviving a system failure The Exceptional FallResults Takeaways

Copyright © 2015 AppDynamics. All rights reserved. 25

Page 26: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Preparing for system failure

“It is a fantasy to expect every single bug to be driven out. Bugs will happen. They cannot be eliminated, so they must be survived instead.”

- Release It! Design and Deploy Production-Ready Software by Michael T Nygard

Copyright © 2015 AppDynamics. All rights reserved. 26

Page 27: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

Surviving a failure: Think before you failMemory: You can never have enough

Users consume resources

Common logging tools create objects to represent a log event. These objects require memory. If no memory is available to create a log event, these logs do not get created

This is a great argument for external monitoring in addition to log file scrapping

27

Page 28: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

28

Page 29: AppSphere 15 - Preparing for System Failure: How Pearson used AppDynamics to Drive Improved Student Experience

- Over 1 billion pageviews since September 1- Over 1.3m daily logins- Over 40k concurrent users during peak

- For the XL Platform ALONE

- Multiple platforms with disparate technology stacks- Microsoft, Oracle, NoSQL- .Net, Java, Opensource

Pearson - few stats...

Copyright © 2015 AppDynamics. All rights reserved. 29