Slide 1

Slide 1 text

P R AT U L K A L I A • T R A M L I N E . A P P The special case of
 Mobile DevOps

Slide 2

Slide 2 text

What is DevOps?

Slide 3

Slide 3 text

DevOps • Combine development and operational practices • Culture + tools • Empower teams, improve e ff i ciency • Automate as much as possible

Slide 4

Slide 4 text

Before DevOps • Development teams wrote the code • IT Operations deployed the code and ran the servers

Slide 5

Slide 5 text

Mediocre feedback loop 😑

Slide 6

Slide 6 text

Learn fast Implement fast

Slide 7

Slide 7 text

10+ Deploys Per Day: Dev and Ops Cooperation at Flickr

Slide 8

Slide 8 text

The DevOps movement has come a long way in 20 years

Slide 9

Slide 9 text

The evolution of DevOps • From managing data centers • ... to AWS and Heroku and Render • From build machines • ... to CI pipelines • Logging! Observability! • Errors! Traces! • !!!

Slide 10

Slide 10 text

But what about apps? 📱

Slide 11

Slide 11 text

Apps are great • 2008 — App Store & Play Store • 16 years • $$$$

Slide 12

Slide 12 text

App stores aren’t great • The delivery model has regressed • Clients decide when to update apps • No continuous delivery, no rollbacks • Manual review process

Slide 13

Slide 13 text

Learn fast Implement fast ❌

Slide 14

Slide 14 text

Commodity hardware Commodity software Backend services 🗄 Web frontends 👩💻

Slide 15

Slide 15 text

So, what were app teams forced to do?

Slide 16

Slide 16 text

App teams were forced to... • Slow down the release process, severely • For e.g. apps: 4-5 times per month • Backends & frontends: 1000-10,000 times per month • Aggressively test the store builds before releasing

Slide 17

Slide 17 text

App teams were forced to... • Use outdated techniques like code freeze • Use systems like remote kill switches • The burden of multiple old live versions is high!

Slide 18

Slide 18 text

Studying the 
 best app teams

Slide 19

Slide 19 text

The best practices • Fast and reliable CI pipelines • ... builds • ... tests • ... static analysis • ... linters

Slide 20

Slide 20 text

The best practices • Simple branching strategies • ... and simple hot fi x strategies

Slide 21

Slide 21 text

The best practices • Automatic, compulsorily used, nightly builds

Slide 22

Slide 22 text

The best practices • Server Driven UI techniques

Slide 23

Slide 23 text

The best practices • Release process as a system

Slide 24

Slide 24 text

The best practices • Tracking not just errors but also • ... build size • ... performance metrics, internal and live • ... user fl ows

Slide 25

Slide 25 text

Open source tools 
 you can use to start Fastlane https://fastlane.tools Maestro https://maestro.mobile.dev/ Screenshotbot https://screenshotbot.io/ Measure https://www.measure.sh/ Tramline https://www.tramline.app/