42
DevOps for Mobile: It’s Not Just For Enterprise Anymore Tim Hargreaves - @timh Release Engineer – Electronic Arts

DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

DevOps for Mobile: It’s Not Just For Enterprise Anymore Tim Hargreaves - @timh Release Engineer – Electronic Arts

Page 2: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Introduction Currently – Release Engineer @ EA Vancouver

Page 3: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves
Page 4: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Introduction Previously – Build Engineer @ Roadhouse Interactive

Page 5: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves
Page 6: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Talking Points ●  Why DevOps?

●  What is DevOps?

●  Comparison of Enterprise vs Mobile DevOps

●  Mobile Specific Challenges

●  Strategies

Page 7: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Why DevOps?

Goal ●  building, testing, and releasing

●  rapidly, frequently, and reliably

Page 8: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Why DevOps? ●  Increase efficiencies

●  Reduce time and effort spent

●  Save money

Page 9: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

What is DevOps? ●  Intersection of existing activities

●  Intersection of three traditionally separate departments

Page 10: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Intersection of Activities ●  Development ●  Quality Assurance ●  Operations

Page 11: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves
Page 12: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Intersection of Departments

Page 13: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Who is DevOps? ●  Your existing staff

●  Cross trained with shared knowledge

●  Still SMEs in their own field

●  Can also have DevOps SMEs

Page 14: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

What isn’t DevOps? ● Band-Aid or bolt on ● A piece of software

● Replacement for Agile

Page 15: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

What is DevOps? ●  It aims at establishing a culture and

environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably.

~Wikipedia

Page 16: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

What is DevOps? ● culture and environment

● Need buy in from the frontlines

● Need support and encouragement from leadership

Page 17: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Put another way…

“DevOps is a human problem.” ~Patrick Debois

Page 18: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

DevOps in Enterprise ●  Documentation focuses on Enterprise space

●  Even tools focusing on Enterprise space

Page 19: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

DevOps in Enterprise ●  Fast, small builds ●  Web services ●  Automated tests ●  Deploy often and

automatically

●  Four browser targets ●  Deploy to controlled

infrastructure ●  Push deployment

Page 20: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges for Mobile Games ●  Large, asset heavy

builds ●  Fat client ●  Difficult to automate

input/touch tests

●  Long lag time in deployments

●  Fragmented targets ●  Deploy to vendor store ●  Pull deployment

Page 21: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Strategies for Success

Version Everything Goal: Time Machine

Page 22: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Strategies for Success Version Everything

●  Code and Assets ●  Configurations ●  Build Jobs ●  Infrastructure setup/upkeep scripts

Page 23: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Strategies for Success

Automation

●  “But we’ll only have to do this once*”

●  *For extremely large values of once

Page 24: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves
Page 25: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves
Page 26: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Put Them Together Version Control

+ Automation

= Continuous Integration

Page 27: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Strategies For Success Continuous Integration Beginner: Automatically poll SCM Advanced: Automated branch integrations

Page 28: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves
Page 29: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves
Page 30: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Strategies For Success Next Steps: ●  Automated Testing ●  Continuous Deployment

Page 31: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges for Mobile Games – Revisited

Large, asset heavy builds

●  Constant incremental builds

●  Isolate changes (and build breaks)

Page 32: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges for Mobile Games – Revisited

Fat Client

●  Use local infrastructure

●  Automated testing

Page 33: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges for Mobile Games – Revisited

Difficult to automate input/touch tests

●  Tools are coming along but…

…elbow grease for now

Page 34: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges for Mobile Games – Revisited

Long lag time in deployments

●  Prioritize Android

●  Automated upload, no review process

Page 35: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges for Mobile Games – Revisited

Fragmented Targets

●  Automated testing (and builds)

●  Device testing services

Page 36: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges for Mobile Games – Revisited

Deploy to vendor store

●  Well documented flow

●  Task automation macros if you feel brave

Page 37: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges for Mobile Games – Revisited

Pull Deployment

●  Release a quality product often ●  Alternatively, force server side upgrades

Page 38: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Bringing It All Together We have ●  An understanding of DevOps

●  Techniques to overcome mobile challenges

●  Ready and willing personnel right?

Page 39: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Challenges ●  Inertia

●  Comfort

●  Control

Page 40: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Solutions ●  Extreme DevOps

●  Technical Enforcement

●  Involvement

Page 41: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Final Thoughts ●  culture and environment means changing behaviour

●  Support with technology, training and teamwork

●  If you just add a DevOps department, you’ve probably added another Operations department.

Page 42: DevOps for Mobile: It’s Not Just For Enterprise Anymoretwvideo01.ubm-us.net › o1 › vault › ...DevOps_For_Mobile.pdf · It’s Not Just For Enterprise Anymore Tim Hargreaves

Contact ●  Email

[email protected]

●  Twitter @timh