resilient user experiences

44
Resilient User Experiences Mike Brittain ENGINEERING DIRECTOR, ETSY @mikebrittain

Upload: mike-brittain

Post on 08-May-2015

729 views

Category:

Technology


1 download

DESCRIPTION

Presented at USI 2013 in Paris, France. Like what you've read? We're frequently hiring for a variety of engineering roles at Etsy. If you're interested, drop me a line or send me your resume: [email protected]. http://www.etsy.com/careers

TRANSCRIPT

Page 1: Resilient User Experiences

Resilient User ExperiencesMike Brittain ENGINEERING DIRECTOR, ETSY@mikebrittain

Page 2: Resilient User Experiences

Interfaces and user experiencesthat adapt to technical andarchitectural failure.

Page 3: Resilient User Experiences

Consider the followingtwo situations...

Page 4: Resilient User Experiences
Page 5: Resilient User Experiences
Page 6: Resilient User Experiences

http://www.flickr.com/photos/caffeina/2144044776/

Page 7: Resilient User Experiences

http://www.flickr.com/photos/17793901@N00/106331831/

Page 8: Resilient User Experiences
Page 9: Resilient User Experiences

/** * Creates a database connection. */ public function __construct($host, $user, $pass, $db) { parent::__construct($host, $user, $pass, $db);

if (mysqli_connect_error()) {

throw new DBConnection_Exception( sprintf("Error: %s, %s", mysqli_connect_errno(), mysqli_connect_error()));

}}

Page 10: Resilient User Experiences

try { $conn = new DBConnection('viewsdb.host', 'db_read_user', 'ssssshh!', 'views_db');} catch (DBConnection_Exception $e) {

// TODO: Someone should figure out what to do if // we can't connect to the views db. throw $e;

}

Page 11: Resilient User Experiences
Page 12: Resilient User Experiences
Page 13: Resilient User Experiences

NavigationLogo

Cute Picture

“Something’s wrong,try again...”

Page 14: Resilient User Experiences
Page 15: Resilient User Experiences

Critical path

Page 16: Resilient User Experiences

Every back-end service is anopportunity for failure.

Page 17: Resilient User Experiences
Page 18: Resilient User Experiences
Page 19: Resilient User Experiences
Page 20: Resilient User Experiences
Page 21: Resilient User Experiences

1

2 3

45 6

108

9

4

11

13

12

147

Page 22: Resilient User Experiences
Page 23: Resilient User Experiences
Page 24: Resilient User Experiences
Page 25: Resilient User Experiences
Page 26: Resilient User Experiences

Are you showing your visitors to the door?

Page 27: Resilient User Experiences

Adverts SLA: !"" ms

Page 28: Resilient User Experiences

Non-blocking Ajax

Page 29: Resilient User Experiences

Google Docs

Google Calendar

Page 30: Resilient User Experiences

GMail

Page 31: Resilient User Experiences

“Oops, we aren’t able to access click metrics right now, do not worry — your data is safe.”

Page 32: Resilient User Experiences
Page 33: Resilient User Experiences
Page 34: Resilient User Experiences

Product design doesn’t stopat !""# availability.

Page 35: Resilient User Experiences

OpsDev

Page 36: Resilient User Experiences

Product

OpsDev

Page 37: Resilient User Experiences

1

2 3

45 6

108

9

4

11

13

12

147

Page 38: Resilient User Experiences

Operability reviews andpost-mortems

Page 39: Resilient User Experiences

Operational Mindset

OpsDev Product

Page 40: Resilient User Experiences

Business Priorities

Operational Mindset

OpsDev Product

Page 41: Resilient User Experiences

!"#$ %&$'( )*+ $++*+ ,$-!.",$

Page 42: Resilient User Experiences

This is hard

Page 43: Resilient User Experiences

... but the benefits are great.

Page 44: Resilient User Experiences

Merci!These slides will be available atmikebrittain.com/talks

Say “Hello!”[email protected]

@ mikebrittain

Resilient User Experiences