引 言
随着无线移动通信技术的快速发展,移动互联网业务成为继宽带技术后互联网发展的一个巨大推力,为移动应用的发展提供了一个新的平台。移动应用以其固有的随身性、可身份识别性,可鉴权性等独特优势,为传统互联网业务提供了广阔的发展空间和可持续发展的商业模式,因此对一个企业的重要性愈发凸显。移动应用的普及使得用户可以“随时、随地、随心”地享受互联网业务带来的各种便捷,比如更丰富的企业业务种类、更多的企业个性化服务和更高的企业服务质量保证。
在新的商业模式下,对移动应用开发工作的要求也越来越多,标准也越来越高,一款优秀的移动端APP不仅仅在于实现了相应的业务功能,能够满足用户的正常使用;还在于它能够安全、稳定、高效地响应用户的请求,使用户体验达到一个高水平。这样才能留住客户,吸引更多的客户,赢得客户信任,进而提升企业的竞争力,为社会创造更大的价值。
运维领域发展现状
软件产品和传统制造业产品表现形式虽有比较大的差异,但在生产流程中二者还是有诸多相似之处。如果把软件生命周期看作汽车的生命周期,那么开发工程师就是汽车设计及生产人员,负责将软件(汽车)从需求,转为技术设计图纸,最后变为实实在在的产品,主要关注汽车生命周期的前期。运维工程师要采用相应的技术及管理手段,保证软件(汽车)的正常、安全、稳定、高效运行,提升用户(乘客)使用体验。
传统的运维工作侧重于服务端,负责对公司互联网业务所依赖的基础设施、基础服务、线上业务进行稳定性加强,基于日常巡检发现服务可能存在的隐患,对整体架构进行优化以屏蔽常见的运行故障。服务端运维,其运维工作更主动,目标更明确,处置手段更丰富。一线运维工程师可以在产品维度直观的看到各节点的硬件性能情况、中间件运行情况和应用软件的可用情况。就算生产环境出现故障,也可以迅速定位问题,采用纵向扩容、横向扩容、故障隔离、应用回滚等一系列应急手段来使产品恢复正常可用状态。同时,服务端运维工程师可以在风险可控的前提下,从容的规划和实施未来的灾备扩容、流量切换、软硬件升级等较复杂的运维动作。
相对于传统的服务端运维,移动端运维还不够成熟。原有的服务端运维手段和方法,在移动端运维过程中可能并不适用。比如,DevOps(Development and Operations,开发运维一体化)在服务端运维领域已经深入人心并且有优秀的实践,但是,在移动端运维领域该如何解读与实践?当用户手机里的APP应用出现了错误,由于这个错误信息在用户侧,不在服务端,运维工程师又该如何得知呢?如果依赖用户投诉,等接到相关信息时,相信这个故障已经影响了相当大基数的用户量。工程师们又如何评估某个APP故障的影响范围是什么?故障到底是和操作系统有关?还是与手机硬件型号有关?当工程师们最后定位了错误的原因,又该如何去修复?毕竟,恢复生产是运维工作的第一要素,服务端问题可以通过升级后台解决,但出问题的APP并不能自动升级,因为它运行在用户的手机里。
所以,在移动应用领域,运维工作有自己独有的特征。如何正确理解,有针对性的去改进现存机制,达到与服务端运维同样的高可用目标,是运维领域一个新的挑战。
移动端运维特征
移动端应用的运维工作存在以下特征:
1.问题发现、暴露慢。移动端应用的问题比较隐蔽、不易察觉。出现问题无法实时监控和告警,只能通过客户投诉后才发现。由于延迟性高,待相关人员介入处理时,问题经常已经呈现蔓延的趋势,处置成本极高。
2.问题分析、定位慢。移动端应用同一时间在运行的前端版本众多,运行平台的操作系统版本不同,硬件机型繁多。使得相关人员在评估影响范围时,周期较长。且移动端应用一般对接的后台系统较多,多系统协同排查困难,问题分析定位费时、费力。
3.问题应对、处置慢。移动端应用发生异常后,处置人员由于个人情感、技术能力、外界压力等因素,有时候不能果断、快速处置问题,无法做到快速阻断问题,恢复生产。
移动端运维标准建设
根据移动端运维工作独有的特征,我们可以明确,移动端应用的运维工作首先要满足“快速响应”的诉求。只有做到快速响应,才能最大程度的减少对客影响。对此,我们结合移动端应用生产问题的历史处置经验,总结提炼了移动端应用运维快速响应能力模型,作为移动端应用运维领域的评估依据和实施标准。
1.什么是快速响应能力。一个产品对生产问题的快速响应能力,可以细分为感知、定位、分析、应急四个阶段。
感知:将问题信息、影响范围通知到相关人员。
定位:定位到出现问题的产品、功能、接口、模块、服务器节点等,明确该问题的边界。为后续聚焦资源、启动应急预案做好准备。
分析:对于复杂生产问题,当已有信息不足以支撑应急决策,需具备快速收集和整合信息的能力,缩短分析人员的信息获取时间。
应急:优先采用不更新应用版本的方式,第一时间阻断影响、恢复生产
2.移动端应用运维快速响应能力模型。为了建立一套行之有效的机制及实践,达到移动端应用运维快速响应的目标。我们以各阶段工作目标为维度,针对感知、定位、分析、应急归纳了D1至D4四大类共计14项指标,组成移动类应用生产故障快速响应能力模型。该模型详细描述了每类目标的细化要求,明确了一个移动端应用产品需要建设哪些能力,才能在生产故障时,具备快速响应的能力。各能力模型详细描述如下。
能力建设,标准先行。移动端运维能力的建设,首先应是移动端运维标准的建设。运维标准化,可以为类似的产品指明方向,在产品建设初期就可以投入资源积累自身快速响应能力。对于一个企业来讲,参考标准去规划和实施,能够大大降低整体运维工作的成本,提高运维效率,将用户的影响降低到最小,提升客户整体使用体验。
结 语
随着移动互联网的飞速发展与质量提升,移动端应用运维能力建设的重要性愈发凸显,提升移动端应用运行维护的效率和质量是一个必然趋势,也是发展的必然结果。如何提高移动端应用的快速响应能力,是每个移动端运维工程师要考虑的问题。参考移动端应用快速响应能力模型,可以帮助移动端产品明确其非功能建设目标。基于该模型,评估相关产品在该领域的成熟度,建立产品能力建设成熟度台账,也可以使相关产品的运行维护能力提升目标更加清晰可见,帮助企业信息化运维工作顺利开展。