Learn to use mobile DevOps for faster, more efficient mobile development by uncovering the secrets of mobile application development lifecycle
Key Features
Discover best practices and mobile DevOps tools for test automation, app releases, performance optimization, security, error tracking, and more
Enhance efficiency, speed, and quality of your development process with mobile DevOps
Explore mobile DevOps components like continuous integration, testing, deployment, and monitoring
Book Description
To build mobile apps, you need to understand mobile-first features, tools, and processes that help you build, test, and release robust apps faster and more efficiently. The multitude of challenges stemming from mobile development's inherent complexities, including native iOS and Android app creation, cross-platform frameworks, and the implementation of scalable architectures within extensive teams, collectively contribute to a substantial number of obstacles that can significantly prolong the release process.
This book will help you understand and implement the best practices of mobile DevOps for continuous integration, testing, delivery, deployment, and monitoring. You’ll explore different challenges faced by developers due to varied OSs, the unforgiving nature of mobile applications, and continuous updates to mobile phones and learn how to maneuver through these challenges. You’ll also get to grips with the latest trends while discovering the potential future of mobile DevOps, with valuable insights and guidance about integrating mobile development teams into your organization.
By the end of this book, you’ll be well-equipped to successfully implement mobile DevOps and build fast, qualitative, and efficient mobile apps for your team or organization.
What you will learn
Discover the principles, components, and concepts of mobile DevOps
Develop a successful mobile CI/CD strategy in your organization
Identify the tools and processes for mobile app release and distribution
Develop and release mobile applications efficiently and reliably
Implement continuous testing with mobile DevOps
Leverage Mobile DevSecOps to improve security, efficiency of your Mobile app development process
Understand how Platform Engineering and IDP Teams can improve Developer Productivity in Mobile DevOps
Identify and fix problems with mobile application performance and data usage
Who this book is for
This book is for DevOps engineers looking to learn more about mobile DevOps to build effective processes for releasing mobile apps quickly and frequently. It’s also an excellent resource for mobile developers, mobile release managers, mobile architects, mobile platform engineers, and QA engineers, involved in mobile app development. Familiarity with DevOps and mobile app challenges related to testing, releasing, and monitoring especially at scale is a prerequisite.
Author(s): Moataz Nabil
Publisher: Packt Publishing Pvt. Ltd.
Year: 2023
Language: English
Pages: 478
Mobile DevOps Playbook
Contributors
About the author
About the reviewer
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Share Your Thoughts
Download a free PDF copy of this book
Part 1: Introduction to Mobile DevOps
1
Resolving Challenges in Mobile DevOps
The importance of mobile apps
Challenges lie ahead
Here’s an example
Let me tell you a story
Why does Mobile DevOps matter?
Understanding Mobile DevOps
DevOps versus Mobile DevOps
How does Agile work in Mobile DevOps?
The Waterfall model
Agile
Mobile DevOps stages
Transforming Mobile DevOps effectively
ROI of Mobile DevOps
How to accelerate Mobile DevOps in your organization
Team roles and responsibilities for Mobile DevOps
Large-scale mobile app development challenges
Super apps
White-label apps
Summary
2
Understanding the Mobile Ecosystem
Mobile apps are like icebergs
What makes mobile apps great?
Mobile platforms and frameworks available today
iOS
Configuring a multiplatform app
Android
Flutter
React Native
Ionic
Cordova
Xamarin
PWAs
Mobile apps’ most valuable features
Large screens and foldable devices
Deep links
Fragmentation
Localization
Accessibility
Push notifications
Offline capability
Monetization
Modularization
Performance optimization
Mobile app architecture
Summary
3
Mobile DevOps Fundamentals
The importance of Mobile DevOps
Mobile CI/CD fundamentals
Continuous planning
Continuous integration
Continuous testing
Continuous Delivery
Continuous deployment
Continuous monitoring
The benefits of CI/CD for mobile app development
The tools and infrastructure of Mobile DevOps
Choosing between self-hosted and cloud-based CI/CD
Mobile-specific CI/CD
Do we need a Mobile DevOps engineer?
Summary
Part 2: Implementing the Mobile DevOps Environment
4
Achieving Continuous Integration and Delivery with Mobile DevOps
Introduction
An overview of the six most popular CI/CD providers for mobile apps
Bitrise
Codemagic
GitHub Actions
Xcode Cloud
Visual Studio App Center
Ionic AppFlow
Summary
5
Implementing a Robust Mobile App Testing Strategy
Understanding mobile app testing
Testing levels
Types of mobile app testing
The importance of test automation for mobile apps
Mobile app testing challenges and pitfalls
The need for a robust testing strategy
What is a mobile app testing strategy?
Continuous testing
What is shift-left testing?
Testing tools, frameworks, and services for mobile apps
Mobile app UI and functionality testing
XCUITest
EarlGrey
Espresso
Open source project based on Espresso
Jetpack Compose
Appium
Detox
Flutter Driver
Maestro
Testing on cloud devices
Sauce Labs
BrowserStack
LambdaTest
AWS Device Farm
Firebase Test Lab
How AI and ML are changing mobile testing
Codeless and AI-based testing tools
Test case management
Achieving successful mobile test coverage
Tips for successful CI/CD pipelines and test automation
Skills for mobile testers
How to improve your mobile testing skills
Summary
6
Mobile App Release Management
Challenges in mobile app release management
The definition of releasing mobile applications
Defining a release strategy
Understanding the release management process for mobile apps
Before the release
Preparing a release version and tag
Preparing the release
Releasing the app
Launching the app
Post-release
Summary
Part 3: Monitoring, Optimizing, and Securing Mobile DevOps
7
Establishing Mobile App Monitoring, Observability, and Analytics
What is monitoring?
What is observability?
Benefits of implementing monitoring and observability for mobile apps
The differences between monitoring and observability
What is analytics?
Factors to consider in monitoring and observability
Steps to implement monitoring and observability for mobile apps
Monitoring, observability, and analytics tools for mobile apps
Monitoring and observability tools
Analytics tools
Key metrics for mobile app monitoring, analytics, and observability
Monitoring metrics
Observability metrics
Analytics metrics
Implementing continuous monitoring for mobile apps
Summary
8
Keeping Mobile Apps and DevOps Secure
Importance of security in mobile development
What is the GDPR?
Mobile app security threats
Architecting secure mobile apps
The traditional way of doing security testing
Introduction to mobile DevSecOps
Benefits of Mobile DevSecOps
Building a culture of security
Starting your DevSecOps journey
Automating mobile security testing with mobile CI/CD and DevOps
Tools to automate security testing
Tips for security automation for mobile DevOps
Summary
9
Mobile DevOps Best Practices
Best practices for CI/CD in mobile app development
Key metrics to track for CI/CD in mobile app development
Managing mobile app versions and releases
Monorepo
Multi-repo
Managing mobile app infrastructure
IaC for mobile apps
Configuration management for mobile apps
Remote and dependency caching
Execution of CI builds and tests in parallel
A/B testing and feature flags
A/B testing for mobile apps
Feature flags for mobile apps
Mock APIs
Building, testing, and releasing with fastlane
ChatOps for mobile DevOps collaboration
Slack
AWS Chatbot
Summary
Part 4: Moving Beyond Mobile DevOps and the Future of DevOps
10
Improving Productivity with Developer Experience and Platform Engineering
What is DX?
What does a DX team do?
Understanding developer needs
Creating user-centric solutions by organizing the workflow
Enhancing developer interactions with clear and standardized communication
DX and Mobile DevOps
What is an IDP?
The benefits of IDP engineering
What is PE?
Benefits of PE
The difference between platform engineers, Mobile DevOps engineers, and site reliability engineers for mobile
Platform engineers for mobile apps
DevOps engineers for mobile apps
Site reliability engineers for mobile apps
Is my company in need of DX, an IDP, or PE?
Summary
11
Predicting the Future of Mobile DevOps
Mobile app development trends
Cross-platform mobile development is on the rise
Developing mobile apps with low code
Security is getting more important
Increase in the impact of AI and ML
Increase in the usage of cloud computing
The growing importance of UX
The growing impact of AR and VR
Increasing use of voice apps
The growth of IoT integration
Mobile DevOps trends
Automating orchestrating of mobile releases will grow
The rise in cloud-based infrastructure
A growing need for automation
The shift-left will become more prevalent
Increasing the importance of security and data protection
Keeping an eye on the performance of mobile apps
The rise of AI testing and codeless testing tools
A rise in platform engineering and developer productivity
Summary
Index
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Share Your Thoughts
Download a free PDF copy of this book