余额宝诞生于互联网,13年发展至今,用户量已突破4亿,资金达万亿规模,针对这样一支如此年轻而体量庞大的基金,在IT层面无可避免碰到过各种各样的问题。其中之一便是如何提升整个技术团队的研发效能。
我们的IT系统发展到2015年已然成为了一个庞然大物,下图是我们实际业务系统中的一环,大家可以看到这个局部流程对于整个研发测试团队带来的考验。自建系统、外采系统、按照监管要求建立的标准系统、同业合作系统以及跨平台(Windows、Linux)系统等各种不同环境的系统交织在一起,导致了业务上线前的测试环节工作量无比巨大,我曾经做了个大致的评估,这种传统研发协同模式下,我们的项目上线周期平均在3个月,这对于一个诞生于互联网的金融企业来说无疑是致命的,互联网讲究快速试错与创新,而这种传统的企业IT协同模式却正在成为创新落地的绊脚石。
我们也曾引入一些开源测试工具(Jenkins/github/ subversion/trac/testlink)快速建立CI:CD的分层模式,以期能够改善现状,然而在实践过程中随着工具越来越多,一些问题也随之爆出来:
第一:学习成本太高,近千人的技术团队使用了各种开发发言,JAVA、C++、div,而开源测试工具支持的语言较为单一,我们无法要求非java领域的同学使用支持Java的测试工具并且快速上手开发;另外一方面金融研发团队的人才其实分为两种类型,一类是技术开发性人才,还有一类为业务开发型人才,业务开发型的成员能够设计出全面的业务解决方案,能够避免因为触犯合规问题而引起的推倒重来,但是这类同学通常没有接受过深度的技术培训,使用这些技术工具学习成本非常高;
第二:系统间彼此独立,数据不能打通共享。即便是自建的一些系统要做到数据共享也是一件不太容易的事情,那采用开源框架自然就更难以达到,数据不能共享严重影响了团队之间的配合,也增加了操作成本;
第三:维护成本越来越大,个性化支持越来越差,每个系统都需要专人进行维护,使得仅仅就工具的人力投入越来越大,产生了额外的资源缺口。
工欲善其事必先利其器
参加今年的杭州云栖大会,非常认同阿里云副总裁李津的一句话,“今天的成功与失败也许跟一个人的做事方法相关,而跟努力与否无关。如果不能在最高效的平台上发挥创造力和想象力,那么越努力可能会越失败。这个新平台是数据与智能的平台、是互联网的思维和方法的平台。”
余额宝上线以来,随着业务的发展与阿里金融云展开了非常紧密的合作,对云的需求早已仅仅不局限于计算、网络、存储等基础资源的使用,我们通过引入EDAS、流计算、大数据等解决方案解决了以往很多无法支持的业务问题。那对于提升研发效能的诉求,我们该使用什么样的平台?经过多方评估,最终我们选定了阿里云的云效平台进行实践。云效于2016年正式上线部署,一年多的实践以来,云效带来的几大便利之处主要体现在以下几个方面:
- 支持绝大多数的开发语言,区别于引入多套开源框架后形成的“孤岛”模式,云效一站式融合平台形态全面满足研发团队的个性化需求,在同样的时间和人员条件下,可以覆盖更多的测试内容,大大提升了资源利用率;
- 支持多种开发环境满足持续部署要求,如上图所示,随着各类系统环境的复杂多样化,迭代开发和集成环境间的不匹配成为了业务上线的最后一道瓶颈,云效平台支持大部分标准开发框架让研发测试团队不再受到环境兼容产生问题困扰;
- 支持持续交付,云效平台所包含的研发测试流程各环节的自动化工具,提供了自动化编译打包、代码扫描、一键部署测试环境、自动化UI测试、接口测试等方面的功能,能够有效的帮助测试团队提高研发速度和测试质量。
除此之外,云效平台在我看来还值得一提的几个亮点还包括:系统平台化,不强制要求使用者变更自身的研发模式;规范引入,基于阿里标准的研发模式持续改进内部研发体系建设;整合对接了阿里云中间件产品,让阿里云的技术可以在企业内部更加迅速稳定的落地。
通过引入云效平台,目前余额宝研发项目中,贴近敏捷研发模式的项目平均上线周期在2周左右,瀑布迭代模式的项目平均上线周期在1.5个月左右。当然针对每个行业属性不一,云效平台难免也有一些需要完善的地方,在引入初期,对于金融行业特有的清算系统,云效团队定制开发了测试模型,在离线业务分离减少整体系统测试和集成环境搭建的复杂度,相信通过双方持续的磨合与探索,云效能为企业在研发效能方面提供更多价值。
原文发布时间为:2017-10-26
本文作者:邱志鑫
本文来自云栖社区合作伙伴“阿里金融云”,了解相关信息可以关注“阿里金融云”微信公众号