Engineering Reliable Mobile Applications

Book description

Imagine a situation where your service reports as healthy and serving but you receive multiple user reports of poor availability. How are these users accessing your service? Most likely, they’re using a client application, such as a mobile phone. Traditionally, SRE has only supported systems and services running in data centers rather than code running on the client, which has impeded issue detection.

This report examines the challenges of client-side reliability and provides a useful set of SRE concepts and tools you can apply to your own apps. Four site reliability engineers from Google share their experiences developing and supporting first-party native mobile applications. You’ll learn core concepts critical to engineering reliable client apps as well as phenomena unique to mobile applications and key takeaways from issues caused by or related to them, including:

  • Designing mobile apps that are resilient to unexpected inputs
  • Rolling out changes in a controlled, metric-driven way
  • Monitoring apps in production by measuring critical user interactions
  • Releasing changes using feature flags so they can be evaluated and rolled back independently
  • Understanding and preparing for your app’s impact on servers
  • Using practices that avoid feedback patterns between your apps and services

Product information

  • Title: Engineering Reliable Mobile Applications
  • Author(s): Kristine Chen, Venkat Patnala, Devin Carraway, Pranjal Deo
  • Release date: August 2019
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781492057437