mPaas上线应用检测

简介:mPaas上线应用检测

image.png

1. 背景

随着愈来愈多的金融行业基于mPaas[1]搭建并上线新的App,App的上线质量也成为各个客户关注的重点。上线前检测哪些项目,如何检测,检测数据指标包括哪些成为咱们思考的主要方向。借着上次去XX农信客户去作线上功能检测,加上以前多个mPaas历史项目踩过的坑,将App上线前mPaas相关检测内容整理沉淀以下。html

2. 检测方向

2.1 安全性

2.1.1 RPC是否开启国密加密

对应金融性质的App来讲,数据通讯安全相当重要,mPaas已经支持 ECC、RSA 和国密(SM2)三种方式,
在金融行业App内建议开启加密配置为SM2国密加密,知足行业监管要求。配置能够参考文档[2]。web

2.1.2 离线包是否开启验签

1.png
图1缓存

为了保证下发到本地离线包的安全性,mPaas提供了离线包验签机制,保证了离线包的安全性。总体示意图如上所示,用户设置流程以下:安全

  1. 开发者配置好一对公私钥,私钥放在服务端用于对离线包签名,公钥放在客户端,用于对签名对验证。
  2. 在离线包发布平台,若是配置了签名私钥,平台下发的amr文件就会带上签名信息(经过私钥对离线包的hash值加密后获得的密文)。
  3. 客户端在拿到amr包并解压后,客户端会使用在项目中预置的公钥进行签名的验证(解密上一步的密文获得一个hash值,同时本地计算离线包的hash值,判断二者是否相同),若是相同则经过验证。
  4. 若是签名校验失败,则删除离线包走fallback地址。

经过离线包的验签机制,能够达到如下的目的:性能

  1. 保证了离线包的内容完整,解决解压异常,读取异常下的正常显示。
  2. 保证了离线包的来源正确,不被本地恶意篡改。
2.1.3 userId信息是否设置正确

由于userId会被后续用到不少地方,好比推送,白名单。因此通常建议选择服务端的userId字段做为存储字段,方便后续和服务端作userId字段同步,不建议存储我的手机号或者身份证等我的信息做为userId。阿里云

2.1.4 埋点信息是否包含敏感信息,好比交易单号

考虑到埋点的量级很大,因此mPaas的埋点默认本地是没有作数据加密的,因此埋点信息不建议包含敏感字段,防止因为埋点致使信息泄漏。敏感字段建议走RPC的数据通道上报,保证数据安全。若是有埋点埋敏感字段的诉求,须要主动开启埋点的本地加密配置。加密

2.1.5 隐私权限配置

因为如今监管机构对隐私权限管控比较严格,mPaas针对权限管控作了对应的接入方案。须要须要确保上线前隐私权限相关配置已经正常接入。spa

2.2 稳定性

2.2.1 验证在Android4.X版本的是否能够正常使用

mPaas最低支持Android4.3版本以上,因此发布前须要验证下低版本Android设备的可用性,遇到比较多的是在Android4.X设备上因为多dex加载致使的类找不到致使的安装闪退问题。htm

2.2.2 iOS符号表是否正常上传

发布前须要确保iOS的符号表已经上传到mPaas后台,方便后台反解闪退信息。接口

2.2.3 热修复模块是否接入而且验证经过

发布前须要确保热修复模块的正常接入以及验证经过,保证上线有针对Native模块的热修复能力,保证异常场景下的修复能力。

2.2.4 离线包Fallback域名确认

确认Fallback域名是不是外网可访问的地址,遇到过发布后下发的仍是内网地址的case。

2.2.5 离线包模块接入CDN

上线前作好容量评估,默认mPaas的离线包是存储在OSS内的,可是通常建议针对离线包模块接入CDN,经过CDN的缓存功能解决由于离线包下载致使带宽打满的风险,同时相对于OSS存储来讲,CDN的费用更低。接入示意图以下:

2.png
图2

2.2.6 RPC核心链路接口压测

上线前须要对App核心链路的RPC接口作性能压测,获取接口性能瓶颈,能够用作后续的限流值的设定参考。同时须要针对RPC限流场景作演练,防止上线限流后客户端出现各类异常。

2.2.7 发布更新功能可用

上线前须要验证发布apk功能可用,包括发布更新的强制更新功能,保证在极端场景下,须要强制升级使用。

2.3 性能体验

2.3.1 离线包离线功能是否正常生效

确保离线包的离线功能正常使用,防止因为离线包各类配置问题致使离线功能不生效。

2.3.2 UC内核是否正常接入

确保UC内核正确配置接入,主要解决系统Webview下的各类兼容性问题。同时UC提供了很好的稳定性,比系统webview更稳定。

2.3.3 核心链路离线包是否预制

在发布前,须要预制核心链路离线包,保证核心链路在极端异常场景下仍然能够打开。

参考文档

[1]移动开发平台 mPaaS:https://www.aliyun.com/product/mobilepaas/mpaas
[2]数据加密:https://help.aliyun.com/document\_detail/72752.html?spm=a2c4g.11186623.6.732.6bb85ed3LyuYtO

咱们是阿里云智能全球技术服务-SRE团队,咱们致力成为一个以技术为基础、面向服务、保障业务系统高可用的工程师团队;提供专业、体系化的SRE服务,帮助广大客户更好地使用云、基于云构建更加稳定可靠的业务系统,提高业务稳定性。咱们指望可以分享更多帮助企业客户上云、用好云,让客户云上业务运行更加稳定可靠的技术,您可用钉钉扫描下方二维码,加入阿里云SRE技术学院钉钉圈子,和更多云上人交流关于云平台的那些事。

本文内容由阿里云实名注册用户自发贡献,版权归原做者全部,阿里云开发者社区不拥有其著做权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。若是您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将马上删除涉嫌侵权内容。
相关文章
相关标签/搜索