Mobile DevOps can make a difference to organisations striving to enable their IT, operations, and development to be well-integrated with business goals.
Mobile DevOps differ from Web DevOps in terms of technologies, infrastructure, processes, tools, and skills.
In today’s fast growing mobile Apps, there are number of different types of development frameworks available e.g. Native, Hybrid, Web based etc.
Now Apps are being developed in combination of Native + hybrid or Native + Web based which complicates their development and builds process.
Another challenge is that every day there are new set of devices in the market and also devices are fragmented into types like phones, phablets tablets etc.
DevOps solves these issues by providing ecosystem of right set of tools.
2. Why Mobile DevOps
Mobile DevOps can make a difference to organizations striving to enable their IT, operations, and development to
be well-integrated with business goals.
Mobile DevOps differ from Web DevOps in terms of technologies, infrastructure, processes, tools, and skills.
Here are Mobility solution challenges which Mobile DevOps can solve:
Technology and Device fragmentation
Inconsistent Development Environments
Manual Testing Process
Mobile and Data Security
Frequent Releases and Updates
Changing Market Dynamics
Effective Collaboration
Inefficient App Monitoring
Praveen Kushwaha - Lead Architect
4-Aug-2019
3. Mobile DevOps Thoughts
“IT teams must start planning for DevOps now, or in 2022 you will be irrelevant”
“74% of IT teams are notified after software is operationalized into production”
“28% of IT teams use a tool that integrates with development tools”
Mobile Dev + IT = Mobile DevOps
What above indicates…
Dev and IT must collaborate to increase orgs ability to deliver
Apps at high velocity, evolving and improving the product.
Praveen Kushwaha - Lead Architect
4-Aug-2019
4. Mobile Delivery Challenges and DevOps
Technology and Device fragmentation:
In today’s fast growing mobile Apps, there are number of
different types of development frameworks available e.g.
Native, Hybrid, Web based etc.
Now Apps are being developed in combination of Native +
hybrid or Native + Web based which complicates their
development and builds process.
Another challenge is that every day there are new set of
devices in the market and also devices are fragmented into
types like phones, phablets tablets etc.
DevOps solves these issues by providing ecosystem of right set
of tools.
Praveen Kushwaha - Lead Architect
4-Aug-2019
5. Mobile Delivery Challenges and DevOps
Inconsistent Development Environments:
Many a times App works fine in dev environment but when deployed in production it stops working, and one of
main reason behind that is inconsistent use of environments.
Here are some major inconsistencies:
1. Different configurations among Dev, QA, Staging and Prod
2. Unavailability of Firewall and security checks Dev & QA
3. Load balancer not configured in Dev & QA
Praveen Kushwaha - Lead Architect
4-Aug-2019
6. Mobile Delivery Challenges and DevOps
Manual Testing & Security:
Mobile App Testing is a challenge for various reasons:
1. Variation in devices like screen size, device density, different OEMs.
2. Testing on all OS versions
3. Testing in different networks & locations
Apart from these, there are various types of testing which makes it more
challenging:
• Functional Testing
• Regression Testing
• Compatibility Testing
• Performance/Stress Testing
• Security Testing
• Usability Test
Every mobile app has security concerns e.g.
• Root/Jailbroken device
• Reverse Engineering of App
• Authentication & Network communication security
Praveen Kushwaha - Lead Architect
4-Aug-2019
7. Mobile Delivery Challenges and DevOps
Frequent Mobile Releases & Changing market dynamics:
One of challenges organizations face is frequent
app release. A survey says 58% of organizations
face timely delivery of Apps due to frequent
releases.
Modern App Lifecycle = Frequent + Fast Releases
“Traditional development practices will fail for
Mobile apps” - Gartner
Due to high competitive market, organizations
want to quickly release the features. So Time to
market is a big challenge.
Praveen Kushwaha - Lead Architect
4-Aug-2019
8. Mobile Delivery Challenges and DevOps
Effective Collaboration:
One of the main characteristic of DevOps culture
is increased collaboration between the roles of
development and operations.
There are some important cultural shifts, within
teams and at an organizational level, that support
this collaboration.
There should be no silos between development and
operations. DevOps culture blurs the line between
the roles of developer and operations.
One effect of a shift towards DevOps culture is that
it becomes easier to put new code in production.
Praveen Kushwaha - Lead Architect
4-Aug-2019
9. Mobile Delivery Challenges and DevOps
Inefficient App Monitoring:
Continuous monitoring is a process in which key
business process and controls are assessed. This
permits ongoing insight into the effectiveness of
controls and integrity of the application running.
This can also be considered as a process and
technology used to detect compliance and risk
issues associated with an organization's financial
and operational environment.
Application performance monitoring (APM) provides
code-level visibility that enables quick identification
of performance issues as well as rapid remediation.
The more fully featured APM tools provide trending
reports and alerts.
Praveen Kushwaha - Lead Architect
4-Aug-2019
10. Mobile CI Pipeline
•PR raised •Merge •Build •Unit Test
•Code quality
& coverage •Report •SmokeTest •Report •Upload to
Fabric beta
•Notification
Build Job Versioning
•Periodica
l build
•Build •Unit Test
•Code
quality &
coverage
•Report
•Integrati
on Test
•UI Test •Regression
Test
•Perform
ance Test
•Security
Test
•Upload to
Fabric beta
•Notificati
on
Versioning
PR or Commit Build Pipeline:
Periodical Build Pipeline
There are two recommended CI pipelines for mobile app.
1. PR or Commit build Pipeline: Runs in every PR raised or commit to master branch.
2. Periodical build Pipeline: Runs Periodically (Every night) it includes automated test suites of regression,
performance & security.
Praveen Kushwaha - Lead Architect
4-Aug-2019
11. Mobile CD Pipeline
Continuous Delivery of Mobile Apps consists of automated upload of Apps to App Store and Play Store.
Automated upload to Play Store: Using Google publishing API and Jenkins plugin for Google Play
https://developers.google.com/android-publisher/#publishing
https://plugins.jenkins.io/google-play-android-publisher
Automated upload to App Store: Using Fastlane tool
https://fastlane.tools/
Praveen Kushwaha - Lead Architect
4-Aug-2019
12. Successful Mobile DevOps Adoption
Support all development Framework
Automated Code Quality Checks and Build Management
Standard branching strategy
Consistent environments
Automated UT execution and code coverage
Test Strategy adoption
Automated Smoke + Regression + Stress + UI + Security +
Functional Testing
Automated Beta distribution
Once click deployment to AppStore and Play Store
Automated App monitoring
Praveen Kushwaha - Lead Architect
4-Aug-2019