ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Mobile DevOps
Mobile DevOps
Mobile Apps + APIs = Mobile DevOps
Alex Gaber // QCon New York 2014
Mobile Apps are a new
paradigm of application
development
How did we
get here?
When was the last time you bought
a box of software?
Software Application History
? 1990¡¯s
¨C Thin / Thick Client Software
¨C Client ¨C Server application
architectures
? Waterfall Methodology
¨C Slow release cycles
Development Methodology
Time / Cost
? Continuous Integration
? Monitoring vs. Testing
? Browser access and CDNs
? Agile / Iterative / Scrum
Web Application Development
? Single Code Base
? REST APIs enable app developers
to mash multiple services together
Web Application Development
Launches App Store
2008
2011
Before Packaged Software
Fades into History¡­
? 40k Apps Added per Month
Mobile Application Platforms
Continue To Grow
? Multiple Code Bases
? API connectivity + persistence
becomes an issue due to 2G / 3G /
4G
Mobile Application Development
Mobile App Devices are Fragmented
? New Challenges
? More Difficult
Mobile Application Development
App
Demonstration
Mobile DevOps
Applications Crash, but Users
Already Paid
Was it Windows that
crashed or was it the
application?
When was the last time you
clicked ¡°Send¡±??
Web Application Crash
Web 404 error ¨C Do you notify the site?
Android Apps Crash!
Mobile App Users Cannot
Communicate Easily
iOS Apps Crash!
For the First Time, User Experience
has a Feedback Loop
Do end-users want to help the
app developer?
? Mobile App Stores created
developer reputation / feedback
loop
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
¡°If everything is tested, we
don¡¯t need to monitor¡±
TRUE or FALSE?
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 Services
API & Network Errors
Slow performance, High latenciesUnresponsive Apps
Downtime due to app crashes
Apps Crashes &
Exceptions
Performance issues due to geographyLocation
Mobile App Performance
management (mAPM)
intertwines mobile app
development with DevOps
Comparing Web to Mobile App
Development
> 99.9% UptimeWeb Applications expect
Mobile Applications achieve < 99% Uptime
BEWARE of REST APIs
causing sleepy mobile apps!
z
z
z z
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
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
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
Speaking of SDKs in your
Mobile Apps¡­
? The average mobile application consumes
6 different APIs / web services
(Crittercism Mobile Benchmark Report 2014)
¨C Mobile AD SDKs
¨C Mobile Security SDKs
¨C Mobile Analytics SDKs
¨C Mobile Monitoring SDKs
¨C RESTful APIs
? 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
Optimizing Web Service API
Integration to Mobile Apps
? Never make the UI wait for an API
¨C Decouple API from UI
¨C Pre-fetch when possible
? Cache data in local storage or SQLlite
? Always test Apps in Offline Mode
? Monitor from Mobile App as Endpoint
¨C Web server monitoring is not enough
¨C Consider Mobile Tax of 2G / 3G / 4G
What Does Mobile DevOps
Look Like?
One Endpoint has a 3.0
second roundtrip
What Does Mobile DevOps
Look Like?
Adjust APIs based on
geographical performance
What Does Mobile DevOps
Look Like?
Take Feedback from
Mobile DevOps to
improve your overall
mobile app user
experience.
Mobile DevOps
Thank You
Alex Gaber @intalex
Crittercism @Crittercism

More Related Content

Mobile DevOps

  • 2. Mobile DevOps Mobile Apps + APIs = Mobile DevOps Alex Gaber // QCon New York 2014
  • 3. Mobile Apps are a new paradigm of application development
  • 5. When was the last time you bought a box of software?
  • 6. Software Application History ? 1990¡¯s ¨C Thin / Thick Client Software ¨C Client ¨C Server application architectures ? Waterfall Methodology ¨C Slow release cycles
  • 8. ? Continuous Integration ? Monitoring vs. Testing ? Browser access and CDNs ? Agile / Iterative / Scrum Web Application Development
  • 9. ? Single Code Base ? REST APIs enable app developers to mash multiple services together Web Application Development
  • 12. ? 40k Apps Added per Month Mobile Application Platforms Continue To Grow
  • 13. ? Multiple Code Bases ? API connectivity + persistence becomes an issue due to 2G / 3G / 4G Mobile Application Development
  • 14. Mobile App Devices are Fragmented
  • 15. ? New Challenges ? More Difficult Mobile Application Development
  • 18. Applications Crash, but Users Already Paid
  • 19. Was it Windows that crashed or was it the application?
  • 20. When was the last time you clicked ¡°Send¡±??
  • 21. Web Application Crash Web 404 error ¨C Do you notify the site?
  • 23. Mobile App Users Cannot Communicate Easily
  • 25. For the First Time, User Experience has a Feedback Loop
  • 26. Do end-users want to help the app developer? ? Mobile App Stores created developer reputation / feedback loop
  • 27. 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
  • 28. ¡°If everything is tested, we don¡¯t need to monitor¡± TRUE or FALSE?
  • 29. 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 Services API & Network Errors Slow performance, High latenciesUnresponsive Apps Downtime due to app crashes Apps Crashes & Exceptions Performance issues due to geographyLocation
  • 30. Mobile App Performance management (mAPM) intertwines mobile app development with DevOps
  • 31. Comparing Web to Mobile App Development > 99.9% UptimeWeb Applications expect Mobile Applications achieve < 99% Uptime
  • 32. BEWARE of REST APIs causing sleepy mobile apps! z z z z
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. Speaking of SDKs in your Mobile Apps¡­ ? The average mobile application consumes 6 different APIs / web services (Crittercism Mobile Benchmark Report 2014) ¨C Mobile AD SDKs ¨C Mobile Security SDKs ¨C Mobile Analytics SDKs ¨C Mobile Monitoring SDKs ¨C RESTful APIs
  • 37. ? 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
  • 38. Optimizing Web Service API Integration to Mobile Apps ? Never make the UI wait for an API ¨C Decouple API from UI ¨C Pre-fetch when possible ? Cache data in local storage or SQLlite ? Always test Apps in Offline Mode ? Monitor from Mobile App as Endpoint ¨C Web server monitoring is not enough ¨C Consider Mobile Tax of 2G / 3G / 4G
  • 39. What Does Mobile DevOps Look Like?
  • 40. One Endpoint has a 3.0 second roundtrip What Does Mobile DevOps Look Like?
  • 41. Adjust APIs based on geographical performance What Does Mobile DevOps Look Like?
  • 42. Take Feedback from Mobile DevOps to improve your overall mobile app user experience.
  • 44. Thank You Alex Gaber @intalex Crittercism @Crittercism