mPaas 运维流程介绍

本文涉及的产品
mPaaS订阅基础套餐,标准版 3个月
简介: 金融级移动开发平台 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机制。

相关文章
|
1月前
|
运维 资源调度 监控
构建高效自动化运维流程的策略与实践
【5月更文挑战第15天】 在现代IT基础设施管理中,自动化运维已成为提高效率、确保稳定性和快速响应变化的关键。本文将探讨构建高效自动化运维流程的策略与实践,重点在于如何通过一系列切实可行的步骤实现从人工密集型到自动化驱动的转变。我们将讨论工具选择、流程设计、最佳实践以及持续改进的重要性,旨在帮助读者构建一个既灵活又可靠的自动化运维环境。
40 3
|
1月前
|
存储 运维 监控
提升数据中心效率的关键策略:自动化运维流程
【4月更文挑战第20天】随着企业对数据处理和存储需求的不断增长,数据中心的效率成为了优化的焦点。在本文中,我们将探讨自动化在数据中心运维中的应用,并分析其如何显著提升操作效率、降低成本以及提高服务水平。通过案例研究和最佳实践的分享,读者将获得实施自动化运维流程的实用指南,以支持其在不断变化的技术环境中保持竞争力。
|
1月前
|
运维 Prometheus 监控
构建高效自动化运维流程的策略与实践
【4月更文挑战第13天】 在现代IT基础设施管理中,自动化运维已成为提升效率、确保稳定性和快速响应变化的关键因素。本文将详细探讨构建一个高效自动化运维流程的战略规划、关键技术选型以及实际执行过程中的最佳实践。我们将通过具体案例分析,展示如何整合配置管理工具、持续集成/持续部署(CI/CD)管道、监控告警系统以及日志分析平台,来形成一个协同工作的整体解决方案。文章的目标是帮助运维团队构建出能够适应不断变化需求的自动化框架,实现运维工作的标准化、系统化和智能化。
|
1月前
|
运维 Prometheus 监控
构建高效自动化运维流程的策略与实践
【4月更文挑战第3天】 在当今快速发展的IT环境中,自动化已经成为提高运维效率和确保系统稳定性的关键手段。本文将探讨构建高效自动化运维流程的核心策略,包括工具选择、流程设计、异常处理以及持续优化等方面。通过实例分析和技术深度剖析,旨在为读者提供一套可行的自动化运维解决方案。
24 0
|
7月前
|
运维
面试运维的具体流程
面试运维的具体流程
105 2
|
10月前
|
运维 Shell 应用服务中间件
【运维知识高级篇】超详细的Shell编程讲解3(if判断+Shell菜单+case流程判断+批量创建删除用户+猜数字小游戏)
【运维知识高级篇】超详细的Shell编程讲解3(if判断+Shell菜单+case流程判断+批量创建删除用户+猜数字小游戏)
133 1
|
10月前
|
运维 监控 Java
【运维知识进阶篇】Zabbix5.0稳定版详解8(Zabbix监控Java项目+详解JMX与Zabbix-Java-Gateway原理+详解监控Java项目流程原理)
【运维知识进阶篇】Zabbix5.0稳定版详解8(Zabbix监控Java项目+详解JMX与Zabbix-Java-Gateway原理+详解监控Java项目流程原理)
309 0
|
10月前
|
运维 Shell Apache
【运维知识进阶篇】Ansible流程控制详解
【运维知识进阶篇】Ansible流程控制详解
142 0
|
运维 安全 网络安全
带你读《网络安全等级保护2.0定级测评实施与运维》——3.1 定级原理及流程
带你读《网络安全等级保护2.0定级测评实施与运维》——3.1 定级原理及流程
带你读《网络安全等级保护2.0定级测评实施与运维》——3.1  定级原理及流程
|
弹性计算 运维 Kubernetes
《2023云原生实战案例集》——01 汽车/制造——SKG未来穿戴 基于SAE打通CI/CD流程,实现高效运维
《2023云原生实战案例集》——01 汽车/制造——SKG未来穿戴 基于SAE打通CI/CD流程,实现高效运维
《2023云原生实战案例集》——01 汽车/制造——SKG未来穿戴  基于SAE打通CI/CD流程,实现高效运维