• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Building Resilient User Experiences
 

Building Resilient User Experiences

on

  • 4,601 views

Video of this talk from the Velocity Conference 2012: http://www.youtube.com/watch?v=bM0yL0eQ9EM ...

Video of this talk from the Velocity Conference 2012: http://www.youtube.com/watch?v=bM0yL0eQ9EM

Large-scale sites are complex systems, where every page is generated with data pulled from multiple back-end data stores and services. Yet, not every piece of data on the page is critical to the user experience. The front-end of your site (i.e. front-end applications, templates, and user interface) needs to be designed to tolerate service outages. We can achieve this by teaching our product design teams about working with an operational mindset, and having our product teams inform our engineering and operations teams about business priorities so that they can anticipate the right patterns to use for fault-tolerance.

Statistics

Views

Total Views
4,601
Views on SlideShare
3,631
Embed Views
970

Actions

Likes
8
Downloads
40
Comments
0

12 Embeds 970

http://www.mikebrittain.com 916
http://lanyrd.com 24
http://www.linkedin.com 18
http://coderwall.com 2
http://tweetedtimes.com 2
http://localhost 2
http://131.253.14.250 1
https://si0.twimg.com 1
http://bestbuilding.buntt.us 1
http://passionatebuilding.buntt.us 1
http://globalbuilding.buntt.us 1
https://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Building Resilient User Experiences Building Resilient User Experiences Presentation Transcript

    • Resilient User Experiences Mike Brittain DIRECTOR OF ENGINEERING, ETSY @mikebrittain
    • Interfaces and user experiences that adapt to technical and architectural failure
    • /** * 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())); }}
    • 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 cant connect to the views db. throw $e;}
    • Critical path
    • Every back-end service is an opportunity for failure.
    • 1 4 9 5 6 8 2 3 10 4 11 7 14 7 13 12
    • Are you showing your visitors the door?
    • < 400 ms
    • Non-blocking Ajax
    • Google Calendar Google Docs
    • GMail
    • “Oops, we aren’t able to access click metrics right now, do not worry — your data is safe.”
    • Product design doesn’t stop at 100% availability.
    • Dev Ops Product
    • 1 4 9 5 6 8 2 3 10 4 11 7 14 7 13 12
    • Operability reviews and post-mortems
    • Operational MindsetDev Ops Product
    • Operational MindsetDev Ops Product Business Priorities
    • page views for error template
    • This is hard
    • ... but the benefits are great.
    • Flickr: striatic http://www.flickr.com/photos/34427466731@N01/2192192956/ Flickr: roboppyPHOTO CREDITS http://www.flickr.com/photos/51035735481@N01/163374138/ Flickr: jamesjyu http://www.flickr.com/photos/32593095@N00/3465022/ Flickr: circulating http://www.flickr.com/photos/26835318@N00/2318226026/