• mPaas 运维流程介绍


    简介: 金融级移动开发平台 mPaaS(Mobile PaaS)为 App 开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动应用。在我们日常运维过程中发现,大部分用户对蚂蚁的研发流程比较感兴趣,特别是在上百个开发者同时在一个app的环境内进行高效开发,技术选型、研发流程还有线上运维是怎么做的,成为大家关注的重点。以下分享我的一些理解。

    一 背景

    金融级移动开发平台 mPaaS(Mobile PaaS)为 App 开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动应用。在我们日常运维过程中发现,大部分用户对蚂蚁的研发流程比较感兴趣,特别是在上百个开发者同时在一个app的环境内进行高效开发,技术选型、研发流程还有线上运维是怎么做的,成为大家关注的重点。以下分享我的一些理解。

    二 技术选型

    目前研发模式分为Native模式和动态化模式两种,其中Native技术栈主要覆盖基础中间件,还有核心高保链路或者变更很少的一些基础页面,比如收银台,登录页面,付款码等。其他场景业务一般会通过动态化的方式,解耦客户端版本发布。其中,在线H5一般适用于活动营销活动,离线包场景一般用于有固定入口的常驻业务,如果有跨端多投场景,一般会选择小程序,通过小程序的跨端发布实现多端投放。

    ​ 

    三 研发流程

    1.需求阶段:主要是需求评审,大家意见达成一致。

    2.开发阶段:代码开发,代码合并以及打包等

    3.测试阶段:测试案例的编写,功能测试,兼容性测试等

    4.集成阶段:代码改动申请进对应的集成基线,进行集成验证

    5.发布阶段: 通过内灰,外灰,渠道包全量,站内全量实现发布上线

    四 分支管理

    原则:基于分支开发,基于主干发布

    1. 变更操作流程

    1. 创建变更
    2. 选择仓库,基于 Master 创建分支
    3. 在分支上打工程包,打安装包,自测(可以基于变更分支创建 feature 分支,并行开发)
    4. 合并到 Master 打包、提测
    5. 申请集成、发布

    2. 独立发布

    主要用做区别于日常变更的独立发布迭代,比如单独针对某个厂商做的预装包适配迭代,就适用于独立发布。

    3. 多App管理(双Master)

    使用场景:聚宝、香港支付宝、口碑、支付宝共用同一个代码仓库,同一代码库需要多app并行,需要有自己独立的master分支,在合并的时候,在不同的app端进行多主干的合并。

    五 线上运维

    1. 多维度灰度发布能力

     MDS提供多维度的发布模式,发布前需要经过白名单灰度,内部灰度,外部灰度,百分比灰度等多层次灰度,不断扩大灰度范围,直到Crash率,ANR率等稳定性指标达标后才进行全量的发布。

    2. 多角度线上监控

    MAS提供了多角度的实时监控指标监控,包括Crash率,ANR率等核心指标,同时这些核心的指标上报都是通过实时通道完成的上报,方便问题的快速发现。

    3. 舆情监控

    除了以上一些核心指标的监控,同时提供了舆情的监控平台,开发者可以设置自己关注的关键字,在灰度期间去查看相关产品的线上用户舆情,真实的反馈用户问题。

    4. 线上问题定位

    通过上述的多渠道发现问题后,首先可以通过客户端上报的行为日志进行分析,同时也可以通过MAS提供的日志拉取功能,拉取用户的详细日志进行进一步的诊断分析。

    5. 自动容灾降级

    在积累了多年的客户端问题处理经验后,客户端SDK内部也沉淀了一套自恢复的容灾降级策略。比如对于多次启动后重复闪退的用户,客户端会尝试在启动后清除app私有目录下的一些文件,解决由于脏数据导致的极端重复闪退。

    6. 线上问题修复

    针对不同的问题提供了不同的能力实现动态修复,比如对Native模块实现动态修复的hotpatch机制。

    原文链接
    本文为阿里云原创内容,未经允许不得转载。

  • 相关阅读:
    开始我的博客园
    科技生态链
    程式建议
    如何自动识别判断url中的中文参数是GB2312还是Utf-8编码?
    jquery.cookie 使用方法
    数据结构(Java)——查找和排序(5)
    数据结构(Java)——查找和排序(4)
    数据结构(Java)——查找和排序(3)
    数据结构(Java)——查找和排序(2)
    数据结构(Java)——查找和排序(1)
  • 原文地址:https://www.cnblogs.com/yunqishequ/p/15214755.html
Copyright © 2020-2023  润新知