Pro Yearly is on sale from $80 to $50! »

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.

3dc29e8cfc6ef333e2b41a1b0e826b57?s=128

Nicola Corti

October 17, 2020
Tweet

Transcript

  1. TALES OF A MOBILE DEVOPS. @CORTINICO

  2. NICOLA CORTI. Android Infra Engineer @cortinico ✈ ABOUT

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

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

    delivery velocity, improve service reliability, and build shared ownership among software stakeholders. DEVOPS
  5. MOBILE DEVOPS. CULTURE PRODUCT DEVELOPMENT THE WHO THE WHAT THE

    WHY
  6. • Built by Everyone • Driven by Platform Teams •

    Based on Shared Responsibility • Necessarily Blameless • Shepards, not Gatekeepers THE WHO CULTURE.
  7. THE WHO PLATFORM TEAM.

  8. THE WHO PLATFORM TEAM. SMALL MOBILE TEAM No specific Core/Platform

    team
  9. 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.
  10. 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
  11. 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
  12. 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…
  13. 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…
  14. THE WHAT DEVELOPMENT.

  15. 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/
  16. 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/
  17. 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
  18. 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
  19. MEASURE. • Analytics as a form of Awareness • Behavior

    Analytics • firebase.google.com/docs/analytics • flurry.com/ • Timing Metrics • Startup • Network Requests
  20. THE WHY PRODUCT.

  21. 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
  22. RELEASE LIFECYCLE. DISTRIBUTE DETECT RESPOND CONFIGURE POSTMORTEM Firebase Remote Config

    Firebase App Distribution
  23. TO RECAP.

  24. TO RECAP. CULTURE PRODUCT DEVELOPMENT THE WHO THE WHAT THE

    WHY Code Reviews, Linters, Tests, … Release Trains, Postmortems, …
  25. 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