AWS 案例研究:九州通

Jointown-logo

“使用Amazon Aurora后,九州通B2B整体数据库性能提升了5倍,TCO降低了50%。借助Application Load Balancer实现版本更新的灰度发布,每月节省加班时间11人天以上,同时提高了业务效率。”

——九州通FBBC事业部技术副总经理 王晓海

关于九州通

九州通医药集团股份有限公司(以下简称“九州通”)是一家以西药、中药、器械为主要经营产品,以医疗机构、批发企业、零售药店为主要客户对象,并为客户提供信息、物流等各项增值服务的大型企业集团,2019年销售收入预计突破1000亿元。公司是中国医药商业领域具有全国性网络的少数几家企业之一,连续多年位居中国医药商业企业前列,领跑中国民营医药商业企业。其中,线上B2B业务目前年收入约100亿元,每年以30%以上的速度增长,是九州通重要的业务增长点。

基于AWS搭建平台,服务上万家药厂和药店

作为国内领先的医药流通企业,九州通秉持“技术让服务更卓越”的理念,在技术与服务提升上做了许多尝试。其中FBBC业务就是九州通在医药+互联网大健康产业链的创新代表。其中,“F”代表上游药品生产企业,第一个“B”代表九州通,第二个“B”代表终端药店和诊所,“C”代表消费者。

据九州通电商业务平台技术负责人王晓海介绍,FBBC旨在搭建连接药厂/供应商、终端客户、消费者的F2B2B2C平台,实现产品向更广泛终端的快速分销。

通过B2B医药平台以及“智药通”APP平台,九州通有效整合与管理医药资源,实现惠及药品生产企业、九州通、终端药店和诊所以及消费者四方的完善体系,为医药健康产业提供高性价比的服务。目前,已有七千多药厂、七万多名业务员通过九州通的“智药通”APP平台开展业务,随时查询药品价格、库存等信息,辅助业务决策。

同时,九州通旗下的“健康998”是一个第三方B2C平台,为药店免费提供线上销售工具。在帮助药店获取更高经济效益的同时,吸引其更多地通过九州通平台采购。“门店通”是专门给药店使用的后台,预计2019年入驻的药店将达到8000家,覆盖全国省会和核心城市。“九州通网”则是整体支撑线上B2B业务的后台,提供搜索、下单、在线支付,以及后台运营管理等功能。

目前,包括“智药通”、“健康998”、“门店通”、“九州通网”等在内,所有这些业务都运行在AWS上。王晓海表示,“通过多方对比测试,从运维的便捷性、工具的创新性等角度综合考虑,我们最终选择AWS云。AWS卓越的技术、严谨而专业的支持服务令人印象深刻。”

九州通使用的AWS云服务包括Amazon Elastic Compute Cloud (Amazon EC2)Amazon Simple Storage Service (S3)Amazon VPCAmazon AuroraAWS LambdaAmazon EMRAmazon ElastiCache、Application Load Balancer (ALB)、Amazon CloudWatch等。

高效的Amazon Aurora

在所使用的AWS服务中,让九州通印象深刻的是Aurora。九州通B2B系统的业务特点是读多写少,读写比例在8:2到7:3之间,并且有一定的波动性。受促销活动、工作时间及其它因素的影响,经常会出现波峰波谷落差较大的情况(如图1所示)。

Jointown-arch-diag1
图1 九州通数据库访问流量示意图

采用Aurora,九州通轻松实现了数据库的读写分离及按需扩展。使用Aurora数据库服务,单个Aurora集群可以支持多达15个只读节点,支持在线自动扩展与收缩。九州通日常使用一主一从2个Aurora数据库节点来应对常规访问流量(如图1中蓝色横线所示),并且设定了从节点(只读节点)的横向伸缩策略。当服务器CPU使用率或连接数等指标大于设定的监控阈值时,Aurora会自行逐步增加一个或多个只读节点,及时满足高峰访问流量的需要;高峰期过后,系统又可以按照设定的策略将数据库节点的数量自动缩回到2个,从而减少了资源的占用和成本节省。如果采用自建MySQL数据库的方案,因为其横向扩展不灵活,DBA(数据库管理员)需要预先配置足够数量的数据库服务器资源,以便应对可能到来的访问高峰(如图1中红色横线所示);访问高峰过后,部分服务器资源就处于空闲状态,这样既浪费了资源、又增加了成本。

自建MySQL的主库与从库之间的数据复制延时经常会超过1秒,这样一来就不能把所有的读操作都放在从库上,只能把一些报表类的查询、对时间要求不敏感的查询放在从库上执行,导致主库压力一直居高不下,读写分离效果不好。使用Aurora后,主从节点之间的数据延时基本保持在20毫秒左右,从而可以把更多的查询操作放在从库执行,有效降低了主库的工作负载。

数据库的持久性、可用性、安全性、易用性等方面也是九州通非常关注的地方。Aurora跨 3 个可用区复制 6 份数据、跨可用区部署数据库实例、自动故障转移、自动备份和时间点恢复等特性,深受技术团队的欢迎。使用Aurora后,九州通B2B整体数据库性能提升了5倍,TCO降低了50%。

借助ALB节省时间和精力成本

借助ALB,九州通实现了业务系统版本更新的灰度发布。发布时,启动一个生产环境实例,将新代码和流量切过去,然后把老版本的虚拟机停掉,就可以完成一次新版本的发布。王晓海介绍,过去,每次新版本发布,团队都要从晚上8点开始做准备,等到午夜12点左右,避开波峰上线。现在,灰度发布可以做到随时发布,再也不用为此加班。九州通的众多系统,一个月内大大小小的发布多达100余次,通过灰度发布,大大节省了团队成员的时间和精力。

体验Lambda无服务器计算

无服务器计算是未来的发展趋势。通过Lambda无服务器服务,九州通深入体会了新一代的云上应用构建方式。九州通使用Lambda构建了一个应用,自动运行脚本对中间件和应用做检查,找出那些频繁调用接口的代码,验证和保障系统稳定性。使用Lambda无服务器服务,只需要在每次检查时付费,因此既不需要花费精力多管理一台服务器,也节省了服务器空闲时间的开支。王晓海表示,AWS Lambda方便易用,对用户非常友好。

九州通主要使用了由西云数据运营的AWS中国(宁夏)区域,其基于AWS的系统架构如图2所示。

Jointown-arch-diag2
图2 九州通基于AWS的系统架构示意图

取得的效益

王晓海总结说,使用AWS云,九州通获得了以下几方面的收益:

第一,节省了成本。使用Aurora数据库后,九州通B2B整体数据库性能提升了5倍,TCO降低了50%,实现了跨可用区部署、负载均衡/自动故障转移、精细监控/按需自动伸缩等功能。

第二,提高了效率。以新版本发布为例,每月100多个新版本发布,可以随时进行,再也不用每次加班五六个小时。每月减少加班时间11人天以上,大大提高了工作效率。

第三,AWS可靠稳定,为业务运行提供了坚实的保障。

同时,AWS的支持服务非常及时、到位。在原型构建、日常随访、架构重构与优化等方面,让九州通能够不断深化新技术、新服务的应用,不断提高应用水平。

王晓海表示,AWS在工具和基础架构方面都能提供强大的支持,数据仓库和深度学习框架等是下一步应用的方向。未来,九州通将基于AWS进一步扩展大数据和AI应用,例如客户画像、需求预测、智能推荐等。

九州通这样一家年销售收入达1000亿元的医药流通企业,在云计算浪潮中勇立潮头,值得赞赏。技术让服务更卓越,希望云计算的优越性让九州通能够像初创公司一样创新,建立起独特的竞争优势。

更多信息

欲了解更多AWS保健与生命科学行业方案,请访问医疗保健与生命科学详细信息页面。