In the daily operation and maintenance process, we found that most of our users are interested in ant’s R&D process, especially in the environment where hundreds of developers are conducting efficient development in an APP at the same time. Technology selection, R&D process and online operation and maintenance have become the focus of attention. Here are some of my understandings.

ⅰ Technology selection

Current research and development modes are divided into Native mode and dynamic mode. Among them, Native technology stack mainly covers basic middleware, core high-guarantee link or some basic pages with little change, such as cashier desk, login page and payment code.

Other scenarios typically decouple client version releases in a dynamic manner. Among them, online H5 is generally suitable for activity marketing activities, and offline package scenario is generally used for resident business with fixed entrance. If there is cross-terminal multi-delivery scenario, small programs are generally selected to achieve multi-terminal delivery through cross-terminal release of small programs.

ⅱ RESEARCH and development Process

1. Requirements stage: Mainly requirements review, and consensus was reached. 2. Development stage: code development, code combination and packaging, etc. 3. Testing stage: test case writing, functional testing, compatibility testing, etc. 4. Integration stage: code changes are applied into the corresponding integration baseline for integration verification. 5. Release stage: release online through internal grey, external grey, full channel package and full station

ⅲ Branch Management

Principle: Branch based development, publish trunk based

(I) Change the operation process

1. Create change 2. Select the repository and create branch 3 based on Master. Open engineering package, install package, self-test (feature branch can be created based on change branch, parallel development) 4. 5. Apply for integration and release

(2) Independent release

It is mainly used for independent release iterations that are different from routine changes. For example, pre-packaged adaptation iterations that are done for a single vendor are suitable for independent release.

(3) Multi-app management (double Master)

Usage scenario: Jubao, Hong Kong Alipay, Koubei and Alipay share the same code repository. The same code repository requires multiple apps to be parallel, and it needs its own independent master branch. When merging, multiple trunks are merged at different APP ends.

ⅳ Line operation and maintenance

(1) Multi-dimensional grayscale publishing ability

MDS provides a multi-dimensional release mode. Before the release, it needs to go through a multi-level gray scale including whitelist gray scale, internal gray scale, external gray scale and percentage gray scale. The gray scale range is continuously expanded until the Crash rate, ANR rate and other stability indicators meet the standards before the full release.

(2) Multi-angle online monitoring

MAS provides real-time monitoring indicators from multiple perspectives, including core indicators such as Crash rate and ANR rate. Meanwhile, these core indicators are reported through the real-time channel, which facilitates the rapid discovery of problems.

(3) Public opinion monitoring

In addition to the monitoring of some of the core indicators above, it also provides a monitoring platform for public opinion. Developers can set their own keywords to view online user public opinion of related products during the gray scale period, and give real feedback to users’ problems.

(4) Online problem positioning

After discovering problems through the preceding channels, you can first analyze the behavior logs reported by the client. You can also use the log pull function provided by THE MAS to pull detailed user logs for further diagnosis and analysis.

(5) Automatic Dr Degradation

After years of experience in handling client problems, the CLIENT SDK also provides a self-recovery Dr Degradation policy. For example, for users who repeatedly flash back after multiple startup, the client will try to clear some files in the app private directory after startup to solve the extreme repeated flash back caused by dirty data.

(6) Online problem repair

It provides different capabilities for dynamic repair for different problems, such as hotpatch mechanism for dynamic repair of Native modules.

  • Hard worked App being copied? MPaaS help you to reinforce the lock on APK
  • To fix client certificate errors, read this article
  • Usage guide of MPAAS-RPC interceptor in various scenarios