DevOps & Apps - Building and Operating Successful Mobile Apps

60
DevOps and Apps Building and Operating Successful Mobile Apps Apigee @apigee Ben Whaley @iAmTheWhaley Alan Ho @karlunho

description

 

Transcript of DevOps & Apps - Building and Operating Successful Mobile Apps

Page 1: DevOps & Apps - Building and Operating Successful Mobile Apps

DevOps and AppsBuilding and Operating Successful Mobile Apps

Apigee@apigee

Ben Whaley@iAmTheWhaley

Alan Ho@karlunho

Page 2: DevOps & Apps - Building and Operating Successful Mobile Apps

groups.google.com/group/api-craft

Page 3: DevOps & Apps - Building and Operating Successful Mobile Apps

youtube.com/apigee

Page 4: DevOps & Apps - Building and Operating Successful Mobile Apps

slideshare.net/apigee

Page 5: DevOps & Apps - Building and Operating Successful Mobile Apps

@iAmTheWhaleyBen Whaley

@karlunhoAlan Ho

Page 6: DevOps & Apps - Building and Operating Successful Mobile Apps

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?

Page 7: DevOps & Apps - Building and Operating Successful Mobile Apps

The landscape

Page 8: DevOps & Apps - Building and Operating Successful Mobile Apps

The freshness of mobile means that companies don’t yet care about revenue

Page 9: DevOps & Apps - Building and Operating Successful Mobile Apps

It’s a land grab for mobile apps

Page 10: DevOps & Apps - Building and Operating Successful Mobile Apps

Two most important things for business owners:

- user engagement

- reputation

Page 11: DevOps & Apps - Building and Operating Successful Mobile Apps

Performance and stability impact both

Page 12: DevOps & Apps - Building and Operating Successful Mobile Apps
Page 13: DevOps & Apps - Building and Operating Successful Mobile Apps

DevOps can help with both

Page 14: DevOps & Apps - Building and Operating Successful Mobile Apps

HTML5 to native . . .

small increase in speed . . .

double number of Facebook posts read == double ad revenue

Page 15: DevOps & Apps - Building and Operating Successful Mobile Apps

Why is this business problem a DevOps problem?

Page 16: DevOps & Apps - Building and Operating Successful Mobile Apps

“You cannot improve what you cannot measure.” -Lord Kelvin

Page 17: DevOps & Apps - Building and Operating Successful Mobile Apps

Mobile DevOps vs. Back-end DevOps

Page 18: DevOps & Apps - Building and Operating Successful Mobile Apps

The code is running on a device

Page 19: DevOps & Apps - Building and Operating Successful Mobile Apps

Scale: controlling millions versus thousands

Page 20: DevOps & Apps - Building and Operating Successful Mobile Apps

Consistency in the cloud server environment does not apply in a mobile environment

Page 21: DevOps & Apps - Building and Operating Successful Mobile Apps

Diversity: Literally 100s of thousands of combinations of Android OS / Device MODEL / Carriers

Page 22: DevOps & Apps - Building and Operating Successful Mobile Apps
Page 23: DevOps & Apps - Building and Operating Successful Mobile Apps

Less control but you as the software developer are responsible for quality

Page 24: DevOps & Apps - Building and Operating Successful Mobile Apps

Unique Mobile Challenges

Page 25: DevOps & Apps - Building and Operating Successful Mobile Apps

Battery life

Page 26: DevOps & Apps - Building and Operating Successful Mobile Apps

Intermittent connectivity to the network

Page 27: DevOps & Apps - Building and Operating Successful Mobile Apps

Limitations imposed by the carriers and manufacturers

Page 28: DevOps & Apps - Building and Operating Successful Mobile Apps

Duopoly by Apple and Google

Page 29: DevOps & Apps - Building and Operating Successful Mobile Apps

Rapidly changing landscape for devices, apps and the OS

Page 30: DevOps & Apps - Building and Operating Successful Mobile Apps

Regulatory Implications

Many manufacturers and vendors support CISPA, for example

Page 31: DevOps & Apps - Building and Operating Successful Mobile Apps

Wide gap among users in throughput, latency, depending on network / carrier

Page 32: DevOps & Apps - Building and Operating Successful Mobile Apps

Communication with the end user

Page 33: DevOps & Apps - Building and Operating Successful Mobile Apps

Operating an app – Tips and Tricks

Page 34: DevOps & Apps - Building and Operating Successful Mobile Apps

Use the app! On many devices!

Page 35: DevOps & Apps - Building and Operating Successful Mobile Apps
Page 36: DevOps & Apps - Building and Operating Successful Mobile Apps

Measuring the problem first

Page 37: DevOps & Apps - Building and Operating Successful Mobile Apps

Store metrics in system of choice (munin, graphite, ganglia, or apigee )

identify trends

Page 38: DevOps & Apps - Building and Operating Successful Mobile Apps

System layer

(load, memory, disk, standard operational metrics)

Page 39: DevOps & Apps - Building and Operating Successful Mobile Apps

Application layer

(memory allocation, DB stats)

Page 40: DevOps & Apps - Building and Operating Successful Mobile Apps

API Layer

(network latency, back-end availability)

Page 41: DevOps & Apps - Building and Operating Successful Mobile Apps

Response Time by Network Types

Page 42: DevOps & Apps - Building and Operating Successful Mobile Apps

Business layer

# signups, #active users, # invites, social media sharing

Page 43: DevOps & Apps - Building and Operating Successful Mobile Apps

Monitor what is measured

Page 44: DevOps & Apps - Building and Operating Successful Mobile Apps

Engage key stakeholders

Page 45: DevOps & Apps - Building and Operating Successful Mobile Apps

Keep engineering involved from design through operation & management

Page 46: DevOps & Apps - Building and Operating Successful Mobile Apps

Eliminate barriers between groups

Page 47: DevOps & Apps - Building and Operating Successful Mobile Apps

Via HTTP expiry tag, set whether certain configuration remains valid or not

Page 48: DevOps & Apps - Building and Operating Successful Mobile Apps

Control configuration by model, carrier, platform,

multitude of dynamic properties by which to change configuration

Page 49: DevOps & Apps - Building and Operating Successful Mobile Apps

Changes and challenges to come

Page 50: DevOps & Apps - Building and Operating Successful Mobile Apps

More devices: The Internet of Things

Page 51: DevOps & Apps - Building and Operating Successful Mobile Apps

Mobile becomes the primary revenue provider instead of web

Page 52: DevOps & Apps - Building and Operating Successful Mobile Apps

Design the backend to be resilient across multiple providers, and in a transparent way to the mobile device

Page 53: DevOps & Apps - Building and Operating Successful Mobile Apps

A short story about websockets . . .

Page 54: DevOps & Apps - Building and Operating Successful Mobile Apps

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

Page 55: DevOps & Apps - Building and Operating Successful Mobile Apps

Explosion in data volume

Page 56: DevOps & Apps - Building and Operating Successful Mobile Apps

Geographic services increasingly important

Page 57: DevOps & Apps - Building and Operating Successful Mobile Apps

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

Page 58: DevOps & Apps - Building and Operating Successful Mobile Apps

Questions

Page 59: DevOps & Apps - Building and Operating Successful Mobile Apps

groups.google.com/group/api-craft

Page 60: DevOps & Apps - Building and Operating Successful Mobile Apps

THANK YOUQuestions and ideas to:

@iAmTheWhaley@karlunho

groups.google.com/group/api-craft