Upload
apigee
View
2.404
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
DevOps and AppsBuilding and Operating Successful Mobile Apps
Apigee@apigee
Ben Whaley@iAmTheWhaley
Alan Ho@karlunho
groups.google.com/group/api-craft
youtube.com/apigee
slideshare.net/apigee
@iAmTheWhaleyBen Whaley
@karlunhoAlan Ho
Agenda
• The business model for mobile• DevOps in the context of mobile• Unique operational challenges• Addressing performance issues• Controlling Mobile configuration
• What’s next for DevOps in this space?
The landscape
The freshness of mobile means that companies don’t yet care about revenue
It’s a land grab for mobile apps
Two most important things for business owners:
- user engagement
- reputation
Performance and stability impact both
DevOps can help with both
HTML5 to native . . .
small increase in speed . . .
double number of Facebook posts read == double ad revenue
Why is this business problem a DevOps problem?
“You cannot improve what you cannot measure.” -Lord Kelvin
Mobile DevOps vs. Back-end DevOps
The code is running on a device
Scale: controlling millions versus thousands
Consistency in the cloud server environment does not apply in a mobile environment
Diversity: Literally 100s of thousands of combinations of Android OS / Device MODEL / Carriers
Less control but you as the software developer are responsible for quality
Unique Mobile Challenges
Battery life
Intermittent connectivity to the network
Limitations imposed by the carriers and manufacturers
Duopoly by Apple and Google
Rapidly changing landscape for devices, apps and the OS
Regulatory Implications
Many manufacturers and vendors support CISPA, for example
Wide gap among users in throughput, latency, depending on network / carrier
Communication with the end user
Operating an app – Tips and Tricks
Use the app! On many devices!
Measuring the problem first
Store metrics in system of choice (munin, graphite, ganglia, or apigee )
identify trends
System layer
(load, memory, disk, standard operational metrics)
Application layer
(memory allocation, DB stats)
API Layer
(network latency, back-end availability)
Response Time by Network Types
Business layer
# signups, #active users, # invites, social media sharing
Monitor what is measured
Engage key stakeholders
Keep engineering involved from design through operation & management
Eliminate barriers between groups
Via HTTP expiry tag, set whether certain configuration remains valid or not
Control configuration by model, carrier, platform,
multitude of dynamic properties by which to change configuration
Changes and challenges to come
More devices: The Internet of Things
Mobile becomes the primary revenue provider instead of web
Design the backend to be resilient across multiple providers, and in a transparent way to the mobile device
A short story about websockets . . .
An app developer in the Philippines writes telco apps assuming a websocket is available . . .
But some telcos do not support websockets . . .
Negative reviews from users of the telco that doesn’t support it . . .
Lesson: know the limitations of a carrier
Explosion in data volume
Geographic services increasingly important
In Summary . . .
mobile apps become a primary source of revenue success depends on engaging users and building a 5-
star reputationperformance and stability are criticalDevOps is the centerpiece of an app’s successnew DevOps challenges when code runs on a devicemeasure all the things! (literally) the transformation is only beginning
Questions
groups.google.com/group/api-craft
THANK YOUQuestions and ideas to:
@iAmTheWhaley@karlunho
groups.google.com/group/api-craft