Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tales of a Mobile DevOps

Tales of a Mobile DevOps

If you're developing mobile apps, you probably know what's one of your most important KPI: Store Rating.

In such an environment, speed is key. You want to be able to iterate fast and ship beautiful apps to your users frequently. But with growing mobile teams, this is becoming more and more challenging.

The Mobile DevOps imposes a prospective shift to the "classical" DevOps perspective. Tools and processes should be adapted to the mobile release flow. You need to have tools to monitor your application, rollout a feature safely, and react to incident and 1-star reviews.

Mobile DevOps engineers to the rescue. They play a fundamental role in adapting your development flow to deliver mobile apps to your end-users.

In this talk, I will share my experience as a Mobile DevOps engineer, some of my preferred tools, and some of the lessons learned while building mobile infrastructures.

Nicola Corti

October 17, 2020
Tweet

More Decks by Nicola Corti

Other Decks in Programming

Transcript

  1. An organizational and cultural movement that aims to increase software

    delivery velocity, improve service reliability, and build shared ownership among software stakeholders. DEVOPS
  2. An organizational and cultural movement that aims to increase software

    delivery velocity, improve service reliability, and build shared ownership among software stakeholders. DEVOPS
  3. • Built by Everyone • Driven by Platform Teams •

    Based on Shared Responsibility • Necessarily Blameless • Shepards, not Gatekeepers THE WHO CULTURE.
  4. SMALL MOBILE TEAM No specific Core/Platform team SHARED PLATFORM RESPONSIBILITIES

    Common backlog of platform tasks that are shared across teams THE WHO PLATFORM TEAM.
  5. SMALL MOBILE TEAM No specific Core/Platform team SHARED PLATFORM RESPONSIBILITIES

    Common backlog of platform tasks that are shared across teams THE WHO PLATFORM TEAM. SINGLE PLATFORM TEAM Single team to be responsible of all the platform related tasks
  6. SMALL MOBILE TEAM No specific Core/Platform team SHARED PLATFORM RESPONSIBILITIES

    Common backlog of platform tasks that are shared across teams THE WHO PLATFORM TEAM. SINGLE PLATFORM TEAM Single team to be responsible of all the platform related tasks FUNCTIONAL PLATFORM TEAMS Different teams responsible of distinct platform areas
  7. THE WHO CULTURE. How about this new Framework? How about

    we introduce this new shiny Library? Let’s write my feature in another language. Let’s bump this library to the next major…
  8. THE WHO CULTURE. How about this new Framework? How about

    we introduce this new shiny Library? Let’s write my feature in another language. Let’s bump this library to the next major…
  9. CODE. • Code as form of Ownership • How to

    share the code? • Monorepo vs Polyrepo • gradle.org/ • bazel.build/ • buck.build/ • Multiplatform Development • Build Performance Monitoring • gradle.com/ (Gradle Enterprise) • IDE Optimisation • jetbrains.com/opensource/idea/
  10. MERGE. • Merge as a form of Collaboration • Code

    Review • CI (Continuous Integration) solution • Merge Queues • mergequeue.com/ • Artifact Analyzers (APK size, etc.) • Localisation • lokalise.com/ • crowdin.com/
  11. ANALYZE. • Linter as a form of Education • Static

    Analysis • google/error-prone • detekt/detekt • Codebase Health • Complexity Report • Custom Rules • Dependency Scanning • org.owasp:dependency-check-gradle
  12. TEST. • Testing as a form of Trust • UI

    Test • firebase.google.com/products/test-lab • genymotion.com/cloud/ • Test Filtering • @LargeTest, @SmallTest • @FlakyTest • Identify • Threshold & Re-run
  13. MEASURE. • Analytics as a form of Awareness • Behavior

    Analytics • firebase.google.com/docs/analytics • flurry.com/ • Timing Metrics • Startup • Network Requests
  14. Release Trains. ALPHA BETA PROD 1.42 1.41 1.40 1.39 1.38

    1.42 1.42 1.41 • Release on a regular basis • Every 1 or 2 weeks • Version numbers are Free (use them) • Useful version numbers • Week • Timestamp • SHA of the commit
  15. TO RECAP. CULTURE PRODUCT DEVELOPMENT THE WHO THE WHAT THE

    WHY Code Reviews, Linters, Tests, … Release Trains, Postmortems, …
  16. THANK YOU. @CORTINICO Unsplash photos by Taylor Kiser, Danielle MacInnes,

    Kelly Sikkema, Björn Antonissen, airfocus, Mimi Thian, Markus Winkler, William Warby, Christina @ wocintechchat.com, CDC, Ilya Pavlov