Mobile DevOps for Mobile App Excellence

44

description

Mobile DevOps as presented at QCon New York 2014

Transcript of Mobile DevOps for Mobile App Excellence

Page 1: Mobile DevOps for Mobile App Excellence
Page 2: Mobile DevOps for Mobile App Excellence

Mobile DevOpsMobile Apps + APIs = Mobile DevOps

Alex Gaber // QCon New York 2014

Page 3: Mobile DevOps for Mobile App Excellence

Mobile Apps are a new paradigm of application development

Page 4: Mobile DevOps for Mobile App Excellence

How did weget here?

Page 5: Mobile DevOps for Mobile App Excellence

When was the last time you bought a box of software?

Page 6: Mobile DevOps for Mobile App Excellence

Software Application History

1990’s– Thin / Thick Client Software– Client – Server application

architectures

Waterfall Methodology– Slow release cycles

Page 7: Mobile DevOps for Mobile App Excellence

Development Methodology

Time / Cost

Page 8: Mobile DevOps for Mobile App Excellence

Continuous Integration

Monitoring vs. Testing

Browser access and CDNs

Agile / Iterative / Scrum

Web Application Development

Page 9: Mobile DevOps for Mobile App Excellence

Single Code Base

REST APIs enable app developers to mash multiple services together

Web Application Development

Page 10: Mobile DevOps for Mobile App Excellence

Launches App Store

2008

Page 11: Mobile DevOps for Mobile App Excellence

2011

Before Packaged SoftwareFades into History…

Page 12: Mobile DevOps for Mobile App Excellence

VS VS

40k Apps Added per Month

Mobile Application Platforms Continue To Grow

Page 13: Mobile DevOps for Mobile App Excellence

Multiple Code Bases

API connectivity + persistence becomes an issue due to 2G / 3G / 4G

Mobile Application Development

Page 14: Mobile DevOps for Mobile App Excellence

Mobile App Devices are Fragmented

Page 15: Mobile DevOps for Mobile App Excellence

New Challenges

More Difficult

Mobile Application Development

Page 16: Mobile DevOps for Mobile App Excellence

App Demonstratio

n

Page 17: Mobile DevOps for Mobile App Excellence
Page 18: Mobile DevOps for Mobile App Excellence

Applications Crash, but Users Already Paid

Page 19: Mobile DevOps for Mobile App Excellence

Was it Windows that crashed or was it the application?

Page 20: Mobile DevOps for Mobile App Excellence

When was the last time you clicked “Send”??

Page 21: Mobile DevOps for Mobile App Excellence

Web Application Crash

Web 404 error – Do you notify the site?

Page 22: Mobile DevOps for Mobile App Excellence

Android Apps Crash!

Page 23: Mobile DevOps for Mobile App Excellence

Mobile App Users Cannot Communicate Easily

Page 24: Mobile DevOps for Mobile App Excellence

iOS Apps Crash!

Page 25: Mobile DevOps for Mobile App Excellence

For the First Time, User Experience has a Feedback

Loop

Page 26: Mobile DevOps for Mobile App Excellence

Do end-users want to help the app developer?

• Mobile App Stores created developer reputation / feedback loop

Page 27: Mobile DevOps for Mobile App Excellence

What Do Users Do When the App is Slow?

100%Did not do anything

100%Uninstall the App

100%Told a friend in person

100%Contacted support or told the vendor

100%Left a negative review on the app store

100%Shared the experience via social media

Source: Crittercism end-user survey Q4’2013

Page 28: Mobile DevOps for Mobile App Excellence

“If everything is tested, we don’t need to monitor”

TRUE or FALSE?

Page 29: Mobile DevOps for Mobile App Excellence

What cannot be tested prior to launch?

Failure of shopping cart check-outs, referrals, etc. Transaction Errors

HTTP Errors like 404’s, Errors accessing Cloud ServicesAPI & Network Errors

Slow performance, High latenciesUnresponsive Apps

Downtime due to app crashesApps Crashes & Exceptions

Performance issues due to geography Location

Page 30: Mobile DevOps for Mobile App Excellence

Mobile App Performance management (mAPM) intertwines mobile app development with DevOps

Page 31: Mobile DevOps for Mobile App Excellence

Comparing Web to Mobile App Development

> 99.9% UptimeWeb Applications expect

Mobile Applications achieve< 99% Uptime

Page 32: Mobile DevOps for Mobile App Excellence

BEWARE of REST APIs causing sleepy mobile

apps!

zz

z z

Page 33: Mobile DevOps for Mobile App Excellence

Mobile App API Calls

18% of API calls from mobile apps have an error rate of over 5%

- UNACCEPTABLE

9% of APIs in mobile apps have greater than 1 Second response

- UNACCEPTABLE

Page 34: Mobile DevOps for Mobile App Excellence

BEWARE of SDKs slowing down your Mobile Apps!

Free Version Paid Version

Uses a 3rd Party Mobile Ad SDK

~ 3% Crash Rate

No Ads, No 3rd Party Mobile Ad SDK

< 1% Crash Rate

Sample Mobile App Scenario

Page 35: Mobile DevOps for Mobile App Excellence

Mobile Apps Have Lots of 3rd Party Dependencies

3rd Party APIs and SDKs can slow down your Mobile App

Mobile Security

SDKs

Mobile Ad SDKs

Page 36: Mobile DevOps for Mobile App Excellence

Speaking of SDKs in your Mobile Apps…

The average mobile application consumes 6 different APIs / web services (Crittercism Mobile Benchmark Report 2014)

– Mobile AD SDKs

– Mobile Security SDKs

– Mobile Analytics SDKs

– Mobile Monitoring SDKs

– RESTful APIs

Page 37: Mobile DevOps for Mobile App Excellence

• Mobile App Developers need to monitor the APIs and SDKs that their mobile app is consuming

• Trust but Verify

Teamwork ->

Mobile App Developers

DevOps Team

Mobile DevOps

Optimizing Web Service API Integration to Mobile Apps

Page 38: Mobile DevOps for Mobile App Excellence

Optimizing Web Service API Integration to Mobile Apps

Never make the UI wait for an API – Decouple API from UI– Pre-fetch when possible

Cache data in local storage or SQLlite

Always test Apps in Offline Mode Monitor from Mobile App as Endpoint

– Web server monitoring is not enough– Consider Mobile Tax of 2G / 3G / 4G

Page 39: Mobile DevOps for Mobile App Excellence

What Does Mobile DevOps Look Like?

Page 40: Mobile DevOps for Mobile App Excellence

One Endpoint has a 3.0 second roundtrip

What Does Mobile DevOps Look Like?

Page 41: Mobile DevOps for Mobile App Excellence

Adjust APIs based on geographical performance

What Does Mobile DevOps Look Like?

Page 42: Mobile DevOps for Mobile App Excellence

Take Feedback from Mobile DevOps to improve your overall mobile app user experience.

Page 43: Mobile DevOps for Mobile App Excellence
Page 44: Mobile DevOps for Mobile App Excellence

Thank You

Alex Gaber @intalexCrittercism @Crittercism