Monitor your actual traffic patterns / client behavior • Log metrics to surface and identify bottlenecks • Recognize badly-behaving mobile clients, and fix! • Avoid self DDoS’ing! ◦ API calls made during app launch or home screen ◦ API calls made in loops (N+1) ◦ API calls made from push notifications at large surge volume Log, measure, monitor
that benefit from caching ◦ Measure hit / miss - know how it’s working Caching - be fast and efficient Local cache (etag / retrofit) CDN Web App CloudFront Redis Postgres
new writes while old way stays up and running 2. Backfill historical data 3. Incremental deploy (via server- or client-side config) 4. Cleanup (remove code and data) Migrating things to the “new way”
of apps? • Time needed to get new version out to users devices • Wireless connectivity failures ◦ Design for re-trying - though avoid self-DDoS ◦ Re-transmission of data already successfully received by server Challenges specific to mobile apps
for attending! 2. Questions? Steve Huff [email protected] @hakamadare Lead Site Reliability Engineer Joe Bondi [email protected] @007i Co-Founder and CTO Thank you!