中金云金融研发总监汪浩根据中金云金融的云化微服务的实战经验带来精彩分享。
中金云金融DPaaS平台研发历程
2016年10月,我来到中金云金融时,遇到了各种各样的问题,有一个个的“烟囱”,大量项目外包,缺乏统一的技术栈。
我们认为这些问题都是“野兽”,要把这些“野兽”都装进“冰箱”,就提出了DaaS的概念。
要统一应用架构,形成前后端分离的架构,开始研究微服务模型。
我刚来到中金云的时候公司里开发人员很少,有大量的外包团队来帮助我们做项目。要想改变这种现状,就需要统一技术栈,拆分所有的服务然后上云。
这时DaaS就变成了DPaaS。项目外包模式被人员外包所取代,统一技术栈,非技术栈的项目基本灭绝。
始点-2016年10月
从2016年10月,我们开始做调研。我发现了数据问题、计算问题、技术栈等等一系列的问题。
What should we do?
我们把它分为三大类问题。第一种就是技术栈不统一。这个问题就像“小白兔”,看似无害,一个个起来的应用好像都能提供服务。但是多了以后需要运维,公司将会不堪重负。
第二个问题是“狮子”,我们能否统一架构,是否能用统一架构的方式去处理微服务。
第三个是大数据问题,这个问题就像“大象”,也是很厉害的“野兽”。
“I have a dream”
我们希望把以上的“小白兔”、“狮子”、“大象”统统装进冰箱。
架构平台化
端到端的典型数据流程——从数据到应用
以后所有的数据都是流应用,要对外提供服务,需要有应用和界面。无非分为两类,一类是外部访问调用,一类是从里面往外“扔”。
平台服务化
我们希望以后应用可以是拼接的,要拼接的层次是“services”。有很多微服务参考模型可以作为参照。
基于这样的技术进行拼接,因为监控需要有高可用性、要调用、纠错等等,我们做了DAAS的监控平台。
服务云端化
云计算发展分为三个阶段,云计算1.0的时候是计算虚拟化,更好地提高资源利用率;云计算2.0的时候对软件进行定义与整合,基础设施云化,资源服务标准化、自动化。
现在已经到了云计算3.0的状态,我们要降低开发难度,提升效率。云计算3.0的时候有Docker、Rancher、DC/OS、Kubernetes、Mesos、Cloud Foundry和OpenShift。
其它需求
提供开源的企业级容器管理平台和技术支持,避免技术锁定。
支持多种编排方式。
支持独立部署。
支持未来的二次开发。
支持应用商店和应用模块开发。
支持图形化拖拽形式的应用构建。
支持一键部署测试环境和生产环境。
支持研发、测试、生产环境的一致性。
支持CI/CD的快速构建。
中金云金融企业级金融云管理平台
中金云操作系统其实就是把Rancher做了定制化。上面还有一个统一的管理平台,从容器云的角度来说它是一朵云,但实际我们需要管控很多朵云。
So far,so good!
我认为大数据至少分为两种人,第一种人是数据科学家,第二种人叫数据工程师或软件工程师。
数据科学家就像传统的软件开发工程师以前一样,开发完程序再把它导出来并存储,变成一个jar。应用人员可以直接用这个jar。
而数据工程师要做的是数据的探索、数据的准备和数据的建模,还有可视化展现。
于是我们就有了数据智能引擎,把它塞到了中金云操作系统里。现在很多公司在做“数据湖泊”,可以把数据导进来,可以分析数据。但它没有说明数据能否做完后变成一个应用直接可以跑,这件事才是未来。
基于DPaaS的业务生态构建
业务软件化、在线化:把所有核心业务报到线上,尽可能多的方便各参与角色。
涉众生态化——协同网络构建与演化:卷入更多的协同方,赋能;降低门槛,让原来不存在的供给者进入,才能极大地扩大生态容量,持续升级生态格局。
过程数据化:数据化是业务的自然过程,是业务活数据的记录与汇集过程。
数据智能化:数据就是决策,机器通过数据处理,直接产生业务决策。智能化的本质是学习,采用AI以提供精准智能化服务。
实时互动,及时反馈:支持多方实时在线互动,在持续性互动中,对产品(服务)进行迭代和优化,从而更加精准。
服务迭代演进:不断审视数据智能能力,升级产品,提供更多智能服务。
未来在路上
我们还要在“冰箱”里装进人工智能。因为到目前人工智能还没有真正的突破,用的都是蛮力计算,没有根本性的改变。未来要把所有的“野兽”统统装进“冰箱”。
我今天的分享就到这里,谢谢大家!