mPaas 运维流程介绍
简介: 金融级移动开发平台 mPaaS(Mobile PaaS)为 App 开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动应用。在我们日常运维过程中发现,大部分用户对蚂蚁的研发流程比较感兴趣,特别是在上百个开发者同时在一个app的环境内进行高效开发,技术选型、研发流程还有线上运维是怎么做的,成为大家关注的重点。以下分享我的一些理解。
一 背景
金融级移动开发平台 mPaaS(Mobile PaaS)为 App 开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动应用。在我们日常运维过程中发现,大部分用户对蚂蚁的研发流程比较感兴趣,特别是在上百个开发者同时在一个app的环境内进行高效开发,技术选型、研发流程还有线上运维是怎么做的,成为大家关注的重点。以下分享我的一些理解。
二 技术选型
目前研发模式分为Native模式和动态化模式两种,其中Native技术栈主要覆盖基础中间件,还有核心高保链路或者变更很少的一些基础页面,比如收银台,登录页面,付款码等。其他场景业务一般会通过动态化的方式,解耦客户端版本发布。其中,在线H5一般适用于活动营销活动,离线包场景一般用于有固定入口的常驻业务,如果有跨端多投场景,一般会选择小程序,通过小程序的跨端发布实现多端投放。
文章图片
三 研发流程
文章图片
1.需求阶段:主要是需求评审,大家意见达成一致。
2.开发阶段:代码开发,代码合并以及打包等
3.测试阶段:测试案例的编写,功能测试,兼容性测试等
4.集成阶段:代码改动申请进对应的集成基线,进行集成验证
5.发布阶段: 通过内灰,外灰,渠道包全量,站内全量实现发布上线
四 分支管理
原则:基于分支开发,基于主干发布
文章图片
1. 变更操作流程
创建变更
选择仓库,基于 Master 创建分支
在分支上打工程包,打安装包,自测(可以基于变更分支创建 feature 分支,并行开发)
【mPaas 运维流程介绍】合并到 Master 打包、提测
申请集成、发布
- 独立发布
- 多App管理(双Master)
五 线上运维
1. 多维度灰度发布能力 MDS提供多维度的发布模式,发布前需要经过白名单灰度,内部灰度,外部灰度,百分比灰度等多层次灰度,不断扩大灰度范围,直到Crash率,ANR率等稳定性指标达标后才进行全量的发布。
2. 多角度线上监控 MAS提供了多角度的实时监控指标监控,包括Crash率,ANR率等核心指标,同时这些核心的指标上报都是通过实时通道完成的上报,方便问题的快速发现。
3. 舆情监控 除了以上一些核心指标的监控,同时提供了舆情的监控平台,开发者可以设置自己关注的关键字,在灰度期间去查看相关产品的线上用户舆情,真实的反馈用户问题。
4. 线上问题定位 通过上述的多渠道发现问题后,首先可以通过客户端上报的行为日志进行分析,同时也可以通过MAS提供的日志拉取功能,拉取用户的详细日志进行进一步的诊断分析。
5. 自动容灾降级 在积累了多年的客户端问题处理经验后,客户端SDK内部也沉淀了一套自恢复的容灾降级策略。比如对于多次启动后重复闪退的用户,客户端会尝试在启动后清除app私有目录下的一些文件,解决由于脏数据导致的极端重复闪退。
6. 线上问题修复 针对不同的问题提供了不同的能力实现动态修复,比如对Native模块实现动态修复的hotpatch机制。
原文链接
本文为阿里云原创内容,未经允许不得转载。
推荐阅读
- 迅捷流程图制作软件的使用方法!
- Python专栏|数据分析的常规流程
- 2018-03-11|2018-03-11 存储过程
- 简述JavaEE学习流程
- 运维|如何限制IP 通过 SSH连接服务器
- 运维|Linux 禁止用户或 IP通过 SSH 登录
- 2.关于OpenGL|2.关于OpenGL 坐标系以及渲染流程
- Java并发编程|Java并发编程 - 深入剖析ReentrantLock之非公平锁加锁流程(第1篇)
- 开萌贝树婴幼儿用品店需要哪些流程
- 如何在facebook上打广告,流程是怎样的()