Large-scale sites are complex systems, where every page is likely 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. Features that your users will see need to have not just manual configuration flags, but also the ability to fail gracefully when a back-end service is unavailable. It's important to note that in many cases, your site's users will never realize the difference.
This talk is focused on getting front-end engineers, application developers, and product managers to think about their sites and products with an operational mindset. Topics covered in this talk will include:
Identifying data sources used throughout your site
Front-end design patterns for failure modes
De-coupling non-critical user interfaces
Effectively communicating failure to your community
Validating failure scenarios with "Game Days"
Mike Brittain is the Director of Engineering for infrastructure teams at Etsy in Brooklyn, NY. He manages the low-level platform teams that focus on enabling Continuous Deployment in an engineering team of over 100 people. The focus of these teams is on developer tools, testing automation, web performance, database access, caching, and site resilience. You know, the fun parts!
Mike has been involved in Internet development for over 12 years as a generalist, with interests frequently bouncing between front-end and back-end technologies and engineering. He has put his experience to work over the last seven years leading small development teams at a handful of Internet start-ups in New York City.