首页 云计算 服务器 大数据 存储 IT 安全 物联网 软件 商品

云计算

云资讯频道旗下栏目: 云资讯 云安全 云开发 云趋势

2019云计算开源产业大会丨张君:互联网金融保险场景下的云原生运维增效之道

张君:大家好,我在国泰产险负责保险中台运维工作,同时也是云原生在国泰的推广者,今天和大家一起分享的是“互联网金融管理场景下的云原生运维增效之道”。

国泰产险是在2008年8月在国内成立的第一家产险公司,2016年7月引进蚂蚁金服作为战略投资者,2017年中旬启动凤凰涅磐的项目,背后做的就是IDC上云工程,整个年度保费增加102%,其中互联网业务占比68.5%,2018年中启动保险中台战略,也有引入微服务架构,2018年底整个保费上涨195%,其中互联网业务占比93%。2019年初公司提出科技赋能业务、降费增效业务,3月底保险中台上线,目前中台处于产品稳定迭代周期,赋予了国泰很强的实施业务的能力,更多日结业务也在往实时业务转型。

国泰产险在生态的产品也是比较丰富的,帐户安全险、健康险和意外险等等,产业合作伙伴包括哈罗、饿了么、飞猪和小米等等,2018年中旬启动保险中台计划的时候,整个技术部有了这样的诉求,我们要有互联网化的交付速度,敏捷响应业务的需求,同时会有更大规模的微服务运维,大规模的微服务给运维带来了很多难题,比较期望通过容器解决环境标准化、资源调度、业务互联等等问题。这些也有一些历史背景,不是说上云就上云,也有一部分业务是在虚拟机里面跑的。

我们选择这样一个公有云平台支撑业务的时候就会有这样的要求,除了按照经典运维发布的产品化能力以外也要有容器的产品,除了已有的K8S技术,更强的Serverless和Mesh产品也要有比较完善的能力,同时要有完善的监控体系。目前国泰产险在云上面已经有了6套KOS集群,可以满足不同研发测试和上下游需求,其实每个环节都不仅仅是90个应用,已经有100多个应用了。

选择公有云供应商的时候,刚才也有同学提到SOFA Mesh,包括中间件和分布式数据库的需求,我们就有找到蚂蚁金融云,主打金融分布式解决方案,并且是做FaaS方案支撑。SOFA Stack是蚂蚁金服自主研发的金融及分布式框架,包含各个需要的组件,其中比较常用的包括SOFA IDC、SOFA Mesh,SOFA Stack Cafe就是蚂蚁金融云的容器产品。

为什么我们会选择蚂蚁金融云的SOFA Stack Cafe?我们选择某种技术方案的时候,考虑落地持续运营的情况下不只是考虑产品本身,比如选择K8S,对比公有云产品的时候就要做一些差异化的比较,社区版本的能力基础上Cafe提供的是这样的能力。

首先是简化落地,K8S本身的概念比较多,Cafe在简化落地方面也下了功夫,具体就是通过外部UI的形式定制化、流程化地把我们要部署在K8S上面的原生资源具象化,每一个资源都是有很多特定的配置选项,这种成本会非常之高。

然后是日志采集,我们知道最佳实践包括两种:一种就是把更加云原生的业务改造,比如MQ等等存储,通过后端再抓取到日志平台当中。另一种就是在没有做云原生改动的应用,一般来说就是部署Sofa Stack。

我们在做选型之前其实是有一段时间的探索的,这些经验告诉我们,每个应用上面都配置组件的话目录繁多,每个目录都有不同的日志文件,我们要配置很复杂的收集规则,应用数量增大以后管理的工作也会非常繁重,管理成本也会非常之高。我们和这些团队接触之初就提出搜集创想,终端用户只需要配置一个搜集日志的目录以后就什么都不用管了,Cafe团队通过两个迭代,帮助我们实现这样一个创想,有了这样的功能以后现在回过头来看各个公有云的产品就会发现大家都有这样的能力,之前没有人具备这样的能力。

原地升级是Cafe一个比较有趣的功能,有些场景只能针对IP和网段来做安全限制,这种情况下可以用到原地升级,也有支持做发布变更的特性。

应用管理就是通过外部UI定制化和流程化,原来这种晦涩的云原生资源屏蔽,终端用户可以延续原来的经典发布习惯,可以四处发布部署自己的服务。我们刚才说的日志采集也是通过应用管理的入口去做编辑配置,包括上面的日志采集也是通过应用管理来做。

原生升级现在我们已经在大规模使用,落地场景当中还要有最后一公里的代码发布部署,社区版本的K8S并没有持续升级的能力,一般都是需要用户自己搞定,我们希望Cafe团队提供一个最简单、最有效的持续提升的方案,最后我们采用的是双重构建的形式,直接从代码仓库拉代码,再到构建运行逻辑框架,非常简单地解决我们最后一公里的难题。

持续运营优雅发布也有被称之为无损发布,实际生产发布的过程当中我们发现原生社区很多并不优雅,经常出现大概2%-5%的比例的错误,我们基于这种情况,结合Sofa、Cafe以及原生K8S的能力研发出了一套适合我们自己的方案,这套方案已经支持多个协议,可以做到实时业务链路的全覆盖,不单是给我们业务赋能,就是随时随地变更的能力,同时也解决了研发测试运维发布线的痛点。

事件审计中心这个功能源自于我们生产实践的过程当中发现的社区版本K8S事件功能,覆盖面不够全,力度也不够细,基于社区扩展的功能我们作出我了一些改进,其实就是社区提供的NPD方案,目前包括内核错误日志,还有我们关心的组件发生了什么,没有这样的功能的话我们是非常被动的,很多时候生产场景并不像原生社区那样简单。

监控方面SofaStack也有一些独到的地方,结合业务级和应用级的监控能力,现在这些能力已经具备,其中有一个能力是比较有亮点的,比如我们正在和Cafe团队来谈监控分析能力的接入,其实在蚂蚁内部是经过生产实践的,应用也是非常便捷的,如果把这种监控分析能力接入Cafe之后,我们在生产上遇到的比较极端的情况就不需要自己再去手动把内存文件传到本地这样复杂的过程,开发运维点击两个按纽就可以实现现场分析的能力。

我们还有一个亮点叫做发布审计,应用原生版本的K8S的时候会非常方便,一个Apply就可以搞定你想要做的很多事情,金融级的生产产品方便和安全其实是有冲突的,Cafe提供一个发布单的功能,所有的变更发布、运行调配、扩速溶等等需要变更的功能都需要一组发布单,当然刚开始可能觉得非常不方便,原来Apply一下就搞定了,现在鼠标去点三四下就会觉得很不方便,其实用下来以后,这个功能让我们的受益是很大的,可以做到发布的过程可追溯,原来的K8S只能通过授权,不知道谁做了什么事情,或者想查发布行为也是很难查的,发布单做到可追溯可审查可分段管控,也可以让开发创建发布单,验证以后去做一个发布的动作,生产上的很多故障都是发布引起的,发布单也对我们排除故障有好处。