2023年10月31日-11月2日,2023云栖大会在中国杭州·云栖小镇举行,上海复星健康科技(集团)有限公司技术总监陈清阳在【一云多形态】专场中带来了题为《云边端协同一体化,构建新一代双SaaS星医平台》的主题演讲,围绕复星健康集团在双SaaS服务建设过程中选型思考、集团数据能力建设、混合语音组网解决方案、复星健康的平台化工程实践等相关话题展开分享。
以下是他的演讲内容整理,供阅览。
陈清阳 上海复星健康科技(集团)有限公司技术总监
一、公司业务背景简介
首先介绍下我们公司的一些业务背景,复星是一家创新驱动的全球的消费产业集团,它业务聚焦于健康、快乐、富足和制造四大板块。
健康板块是复星最早布局且深耕的一块领域,复星健康作为复星旗下在医疗大健康领域布局的一个重要的一家公司,我们不断地去整合集团内的一些优质资源,然后为我们的客户带去更好的服务体验,解决他们全病程的一个闭环管理,同时为他们提供了医、药、保、健一体化的一站式的解决方案,致力于打建以医疗为核心医疗及全场景一站式的健康管理平台。
复星健康在很早的时候就已经开始布局线下的医疗服务,目前复星集团已经拥有19家线下的医疗机构,刚刚也介绍了位于大湾区的复星佛山长城医院,是一家集医疗、鉴宝、科研、教学一体化的一个大型的三甲综合医院。
连续6年位列中国非工医院竞争力排行榜的榜首,面对这一个情况,整个全局的一体化的医疗运营,和我们线上服务模式的推广,就成为了我们业务发展的一个重大难题,那么如何打通线上线下的医疗资源,促进我们健康服务的发展,也是我们需要思考的问题。
在这个环境下我们的双SaaS平台运而生,一方面是我们线下的云his的服务,还有一方面是基于我们的c端用户的互联网的医疗服务,依托于我们双SaaS平台服务,一方面在纵向拉通了用户线上线下的服务体验,然后在横向也拉通我们院内的一些医疗资源的连接,通过依托双SaaS的能力,我们会在相关的一些区域去打造我们共同的高质量服务的一连体。
二、双SaaS服务建设过程中的一些选型思考
接下来介绍我们在整个双SaaS服务建设过程中的一些选型思考,我们的健康互联网的服务发展的比较早,它主要是面对我们的c端用户,可以提供丰富的一些医疗服务,作为面向c端的一个服务产品,它有如下几个特点。
第一个,互联网的业务它是一个不断迭代的一个过程,然后同时它的流量不太稳定,可能会有一些爆点,就存在一个很大的流量波动。
第二个,在上云的过程中,我们肯定要依托于云的一些能力,全面去拥抱云原生的一些技术栈,因此在整个研发的过程中需要丰富的paas能力组件的支撑,然后同样需要在不断的一个过程中去应对云原生技术迭代的一些变化。
基于这个场景,我们从一开始整个基于微服务spring cloud技术上就选择以公有云为依托,在去年年底疫情的二次爆发时间,我们复星的新冠特效药阿兹夫丁的面世,瞬间就已经引爆线上问诊和商城的一个流量,也是依托于公有云的很好的一个弹性过速的能力,我们可以很快的扛住这波流量拉力,同时在整个流量过去以后,我们也可以很快地去做一些服务的退订。
第二块就是应对我们线下医疗机构,case业务开展的一块服务,在这一块它主要有下面几个需要考虑的场景。
第一个因为大家都去过医院,线下的医疗服务对网络的要求很高,它需要一个极低的时延,因为在医院里面有很多的一些诊疗设备,它是需要有非常高的一个精度的支持的,所以它对网络的要求非常高。
第二块,我们知道整个医疗行业,尤其是我们线下的医疗机构,他还有对应的一些监管机构的一些监管,所以对数据安全性的要求非常高,他不能很简单的做一些公有云的上云的一些操作。
第三个就是作为我们一个集团化的公司,我们在全国有很多的一些分支机构,我们需要去应对传统行业转型过程中原生技术的应用和集团集中化运维管理的一些思考,也是通过很长时间的一段调研,最终我们发现阿里云的云盒产品,确实是适合我们在这一场景下的,为我们提供一个基础设施,然后还有 Paas 能力的一个支撑。
三、集团的数据能力建设
第三块是集团的数据能力建设,其实就是一个集团化的数据中心,基于这个数据中心,然后我们会去做一些数据分析和一些场景的挖掘,然后唤醒数据的能力,去实现我们跨区域、跨机构,一些数据的共享,然后实现共享互利。
在这一方面它的场景在架构的过程中有一些特点。
第一就是对于数据中心,它的数据的存储量大,但是它的波动非常小,你是一个逐渐构建的过程,你基本上可以有一个很前期的规划,然后去做到每一年有多少的一个数据增量。
第二个,作为一个集团的医疗数据来说,它的安全性是非常非常高的。
第三个,数据平台建设,它是一个长期的工作,它的成本投入非常高,尤其是最近大模型的一些热度,一些推广,和大数据方面的一些结合,所以这一块的成本投入非常高。所以我们可能最终决定的是使用专有云的一个解决方案,保证数据在本地,然后同时可以遗落于飞天的一些 Paas 的人组件,并且我们对所有的数据资产、应检资产拥有保有权。
基于上面的一些思考,最终我们是打造了一个混合云的一个架构,如图是我们基于公有云边想c端用户的一个基础设施的场景,它里面主要用了丰富的一些阿里云的一些 Paas 能力,以及在基础设施层面像一些负载均衡网络,计算等一方面的能力。
专有云也是阿里的一些飞天架构,这里我们主要用的是一些大数据的一些 Paas 能力,包括我们的 data works 的开发套件,然后我们 Marks computer,grass的一些大数据分析的一些组件。
在下面是我们面向于边端医疗机构的一个云和的一个架构,整体目前的规模我们的CPO应该是在 10 万家以上,我们的 K8S 集群目前有9个,整个的运用数量达到了700多。
回到我们区域云盒这个架构的探讨,我们在华南区域,通过云盒架构做了一个双滑的架构,其中有一个云盒是摆在我们复星长城医院的机房,然后还有一个云盒是放在我们在深圳地区选址的一个机房,这样可以覆盖我们在湾区的所有的4家医院。
云盒机柜它落到我们的环境,落到我们的机房,它其实是一个轻量化的输出,然后它可以保留我们的医疗数据驻留在本地,也避免了我们一些数据上云的一些风险。同时我们也基于云盒带来的一些云上的一些Paas组件,我们去打造了一个异地双活的一个单元架构,使用云盒,还有一个就是由于我们的医疗机构比较多,同时也要考虑到TCO的一个成本问题。
云盒是管控在公云上,构建云盒它没有很大的一些像私有云一样云底座的一些负担,具备了很好的一些公有云的产品能力,可根据实际的业务需求量,然后进行特需的一些定制。
四、混合语音组网的一个解决方案
下面介绍下我们整个混合语音组网的解决方案,刚才朗坤介绍了通过云盒的一些组网方式,然后同VPC,跨VPC很多的一些实现场景,云盒提供的多种的一个接入方式,我介绍一下我们的,首先我们的医院是通过运营商的双专线,借助于阿里云的高速通道产品接入我们的pop点,同时每一套云盒,在阿里云出厂以后都带有 SAG 的智能网关的设备,它可以通过你的本地机房的互联网线路进行上沿,可以做另外一方面的一个保障。
接入阿里云的pop点以后,我们有多家的分支机构,我们可以运用阿里云的云企业网的能力,然后在全局形成一张大网。
整体上我们依托于阿里云高校的一些传输网络,然后还有一些丰富的SDN的一些技术运用,扩展到我们整个的广域网络,使我们的区域医疗体形成一张完整的一个大网。
组网后肯定要考虑一些安全问题,云盒作为公有云的延伸,它天生具备了很多阿里在公有云上的安全方面的一些保障。
首先最重要的一个是网络安全,因为我们有多家分支机构通过阿里云的大网组成了一张网,所以在边界网关防护上,阿里云的云防火墙提供了很高的一个安全性的保障。我们可以基于防火墙去做定制的一些网络连通性的设置,同时它本身也具备一些网络流量的监测和一些漏洞拦截的功能。
第二块是我们的主机安全,主机安全我们是借助于阿里云的云安全中心的产品,基于阿里硬件虚拟化技术和虚拟机的管理,然后我们在多个VPC节点上进行了物理隔离,同时云安全产品也会对我们所有的计算资源定期进行漏洞扫,然后病毒查杀,保证主机层面的一个安全。
还有一块是我们的数据安全,数据安全方面我们用到了常规的一些数据加密存储组件的能力,然后还有我们针对一些关系关型数据库,然后大数据产品的审计能力,同时然后基于云上数据网关的服务,去做一些数据泄露的一些风险检测。
最后一块是应用安全方面的一些安全能力,阿里云在这一块也有一个很好的榜单,第一块是在整个对于容器应用镜像扫描,通过静态扫描的时候,它可以及时地发现一些应用方面存在的漏洞,同时它也可以在运行时,然后针对一些漏洞的入侵进行及时的一个防护拦截。
上图是我们借助云和丰富的云原生Paas能力,构建我们的一个医疗的异地双活的一套系统,首先在流量层,我们是通过内网的一个DNS解析来通过医院的一个租户的ID进行流量的分发,在这一块我们是做了一个DNS管控的系统,同时也借用了阿里云的msha的服务高可用的组件,通过它然后帮我们做一个流量的兜底,以防止串流量的时候进行一个流量纠偏,在数据层面上,我们是通过阿里云的DTS服务去做到双向的实时数据同步。
另外在缓存方面,我们也是通过DTS,然后去做与我们Redis或者Tair的一些数据同步。
在对象存储方面,我们是基于阿里云的Ossimport 工具去实现双向的数据同步。
在消息层面,包括我们的RMQ,ES,指通过我们自己的一些消息区域存储来实现我们的双活机制,整体的RTO、RPO可以达到秒级,RPO 在分钟级达到了一个 5 级的一个保障。
同时我们也是借助一云多态的一个架构支撑,来全面地提升我们的一个运维效率,主要可以从两个方面介绍。
第一个是在我们的研发效率层面,借助于阿里云效的支撑,它天然的支撑你的公有云、你的私有云和你的云盒,然后通过它我们可以达成全局一致的流水线,然后把我们的应用分发在不同的一个基础设施环境里面,同时它也提供了丰富的一些功能保障,包括我们的代码检测,容器纳管等。
第二个是我们基于阿里云的可观层套件,可以很好地解决我们在多站环境下的全局统一可观测性能力。我们基于prometheus,基于Grafana,基于阿里云的 SLS 日志服务,然后基于我们的 APM 工具 ARMS 来实现全链路一站式的可观的性质内的展现。
同时阿里云是把所有的监测的指标数据都拉管到prometheus,我们可以通过一致的Prom Q 2,还有4Q2 可以快速地构建我们定制化的一些需求,从 prometheus 里面拿到我们的链路数据以后,就可以构建应用的诊断墙,在出现微服务架构问题的时候,我们可以通过整体的应用墙的链路快速地定位最终导致问题的一个导火索在哪里。
第二个是我们可以通过 prompt Q2 去构建我们自己的一些监控大屏,同时对于每一块区域,每一块组件和一些应用的特型能力,我们都可以去用Grafana服务去做一些监控小屏,然后阿里云的日式服务也是支持一些 SQL 查询,通过这个能力我们也可以快速的去定制基于 SQL 的一些监控告警的一些能力。
五、复星健康的平台化工程的一些实践
基于阿里云提供的一些能力,我们在这个基础上构建了我们自己的复星健康的平台化工程的一些实践,可以在基础设施层基于阿里云的一些saas建设,我们有公共云的设施,有专营云的设施,有云盒的设施,通过在这一层我们就用一些云原生技术通过K8S 对我们的计算网络存储来进行统一的编排调度封装,打造了一个安全稳定的面向于原生的不可变的基础设置层。
在这个基础设置层级以上,我们要去发掘我们一些特有的运维能力,包括发布能力,借助发布能力,要去做到我们所有的生产发布,可监测、可灰度、可回滚。
第二块是流量管控的能力,基于流量的管控能力,然后我们去做一些熔掉熔断限流,全链路压测。
第三块是跨集群的管理能力,通过跨集群的管理能力,去对分布在外面的集群做一个很好的弹性扩缩,通过集群之间的一些联邦调度,然后提高我们整体集群的一个可用性,在这些能力之上,我们去梳理多云管控上面需要具备的一些核心流程,包括我们的发布资源调度,弹性伸缩,多云之间中间件的一些能力的升起,和一些容灾的一些管控切换,这个上面就打造了我们复星健康自己的一个统一的运维平台,它具有一个完整的应用发布管控,然后包括我们的资源申请的自动化运维,还有我们实时的一些监控告警能力,以应用为中心,全面覆盖所有的基础设施环境,包括分布在各个环境上的一些 Paas 组件资源。
六、总结
最后是我们在整体云盒实践上的一些分析
首先第一个云盒带给我们的好处就是整机交付,因为作为传统的医疗机构,我们经常会去通过服务器的采购,然后交付,然后硬件检测,然后还要考虑虚拟化等一堆的事情,最后才能做到服务上架。而云盒最大的好处就是把这些都在出厂前,由厂家帮你操做,直接把整机柜交付到你的机房,你只需要插上网络,就可以通过公有云的管控平台进行你所有的一些资源调度,包括你的一些应用发布。
第二块是成本优势,我们知道云盒是按需定制付订阅费,所以它的起件成本很低,我一次不需要拿出很大的一些硬件投入,第二块就是它的部署的成本也很低,因为我们知道它有很好的一些公有云的一些管控能力,我们通过公有云的管控能力,可以快速地调度我们所迎合上的所有的资源。
第三块就是高效运维,这一块云盒和公有云拥有统一的标准体系,同时它也和公有云提供一致的 open API,通过这些能力,可以快速地实现我们的运维一些管控的接入。
第四块是能力一致,包括是公有云、私有云,还有我们的云盒,都是一个同源的架构。在我们云盒没有部署之前,其实我们就可以借助一些公用能力去做一些功能的验证。
目前,我们为了节省资源,包括我们一些验证环境其实都是在公有云的环境下进行,同样一串代码可以快速地部署到我们的云盒类。
第五个是我们的数据合规,一个是数据本地处理,一个是数据本地保存,你的数据不用放在云上,放在你的枕边就有一个更高可靠性。
今天的分享就到这里,然后也再次感谢阿里云团队对我们业务创新的一些支持,也希望我们继续合作,为我们复星健康的一些数字化转型做出一定的指导,然后共同去打造我们的智慧医疗服务,谢谢大家。