九州通万有钢分享医药行业上云实践 探索云与数据融合之道

据了解,FBBC 业务是九州通在医药+互联网大健康产业链的创新代表,通过 B2B 医药平台以及智药通 APP 平台,九州通有效整合与管理医药资源,实现惠及制药厂商、九州通、终端药店和诊所、消费者四方的完善体系,为医药健康产业提供高性价比的服务。

九州通万有钢分享医药行业上云实践 探索云与数据融合之道

作为传统医药行业里的一家民营企业,九州通始终在思考,如何在激烈的市场竞争中保持差异化,提升企业竞争力。九州通是较早一批与互联网接触、开启电子商务业务的医药企业,自2012年开启电商业务以来,2015年销售额达10亿,2016年20多亿,2017年40亿,2018年达到近百亿,一路高歌猛进,取得了快速的发展。

据万有钢介绍,作为传统企业,九州通能够始终保持竞争优势的秘诀在于对信息化的持续投入,集团自主研发的核心ERP系统,有多达200余家下属企业,目前承载了上千亿业务。在此基础上,九州通将自身信息化能力向外延伸,推出了面向上游供应商的协同系统,并将其独立为制药通平台,目前该系统为近十万供应商提供支持,2018年流经该系统的销售流水达20余亿元;与此同时,通过B2B医药平台,连通九州通与下游零售终端及客户,通过好药师APP开展B2C和O2O业务,帮助各零售药店迅速接入互联网,提升销售水平。

从私有云到混合云 从未止步

业务的高歌猛进离不开底层技术的支撑,2015年,九州通基于OpenStack平台建设企业私有云,支撑B2B供应商协同营销平台的业务发展,受到了供应商们的广泛好评。随着业务的发展,B2B私有云也遇到瓶颈,为了满足高并发需求获得可靠的技术保障,2016年至2017年九州通开始尝试公有云,将B2B业务向公有云迁移。

谈到公有云选型时,万有钢表示,九州通的标准十分简单,数据安全是第一位的,必须得到应有的保障,因此首先看法律环境和规则性,其次是持续的服务能力(包括公有云厂商的经济实力)和技术的先进性。

“九州通B2B平台的性能压力来自两个方面,一个是应用层,另一个是数据库层。应用层的压力分解是比较容易的,只需要横向扩展。但是数据库的横向扩展比较难,面临的压力也更大。” 万有钢如是说:“九州通早期用的是Oracle数据库,无法向云上迁移,但是出于上云的决心与坚持,我们花了不少力气将B2B系统的Oracle数据库换成MySQL,当业务真正搬到公有云的时候,就会觉得当时投入的这些精力还是很划算的。”

与AWS之间的接触始于2017年,针对数据库层的压力,AWS向九州通推荐了Amazon Aurora数据库,它是为云构建的一种兼容 MySQL 和 PostgreSQL 的关系数据库,既具有高端商用数据库的性能和可用性,又具有开源数据库的简单性和成本效益,能够帮助九州通在业务高峰时更好的将数据库的压力分解。

“数据库的切换需要特别的谨慎、稳妥,当时九州通在内部使用时候还是比较担心,但是通过压力测试,我们发现跟Aurora对外公开的数据一致,与MySQL数据库相比性能提升了5倍。“万有钢提到,测试阶段的工作非常多,首先由AWS提供环境,让九州通去部署服务、部署数据库;二是尽可能多的准备数据,让压力测试尽可能达到极限水平;三是测试样例,为了保证每一个业务环节都被测试到,一方面采用人工测试的方式测试每一个流程和环节,找出偏慢的环节,另一方面进行数据自动化的压力测试。经过全方位的压力测试,万有钢和他的FBBC团队找出了系统中的诸多瓶颈和安全隐患,为数据库上云打下了坚实的基础。

值得一提的是,九州通在进行数据自动化压力测试的过程中形成了两个内部的自动化系统,一是哈士奇系统,专搞系统破坏,例如随机干掉其中的N个服务,查看业务能否正常运行;另一个是啄木鸟系统,用于侦测服务的活动状态,当一些服务被哈士奇干掉时,系统能否做到及时发现,及时修复。哈士奇和啄木鸟这两个小宠物系统不仅用于测试环境,生产环境也在使用,能够实时监测云上的每一个服务的运行状态,丝毫不影响用户的访问体验。

在进行了大量前期测试及数据准备后,九州通于2018年10月正式将B2B业务部署到AWS并上线,目前已平稳运行半年有余。万有钢认为:“通过压力测试和一些保障措施,我们觉得将MySQL向Amazon Aurora迁移这件事是值得去做的,完成后发现数据库的瓶颈确实解决了。”

据记者了解,目前九州通采用混合、多云的架构,两朵公有云之间互相备份,保证应用与业务的安全、稳定运行。万有钢表示,在混合环境,如何保障数据的一致性是一大难题,因为从云机房到用户端,链路非常长。

例如在一个简单的交易场景中,用户提交订单,这个动作在公有云上完成,但是订单信息还需要进入到内部的私有云和ERP里,在这个过程中,需要遵循药品行业中各类严格的监管规则,并且这些规则很多是动态的,会经常调整,为了保持规则的严谨和统一,九州通在私有云中建立统一的规则引擎,所有公有云上的订单都要经过私有云中规则引擎的检查。这时就会遇到一个两难的问题,如果规则跑的慢,客户等待时间长体验欠佳,但是由于从公有云到私有云之间要跑很多个节点,提高规则验证的时间其实很难。

接下来,九州通将通过进一步抽象,把诸多应用和引擎向公有云迁移,让内部变简单,将复杂的应用做成共享服务放到公有云上去,让AWS从整个引擎和规则的效率上提供更多的技术支持。

九州通万有钢分享医药行业上云实践 探索云与数据融合之道

唤醒沉睡的数据尽显融合之道

九州通FBBC终端事业部下一步的工作重心是唤醒沉睡的数据,将各类数据融合起来,做全产业链的数据智能引擎,进一步提升业务综合水平。