以下为演讲实录:
今天我的题目重点是两个,第一个是企业级区块链目前的进展,这是甲骨文的一个开源项目。第二个是Fn函数及服务开源生态的建设。
区块链发展到今天,我就不会再跟大家普及区块链的定义了,区块链目前有两种比较常用的。第一个叫公有区块链,或者叫公共区块链,或者叫无需许可的区块链技术。第二个是联盟链,这一块大部分用在微信上,过年期间有很多3点钟在微信群里讨论区块链以及区块链应用的,将近80%的讨论以及资金都在联盟链上,不需要许可的公共区块链。今天我们想谈的是能够面向企业级的联盟链技术。今天我想跟大家汇报的项目是在联盟链这块我们所做的一些能力。
联盟链有三大特点,和公有链不一样。第一个,联盟链相对来说是一个闭合系统,成员邀请才能够加入。第二个,成员之间有一定的互信基础。第三个,成员加入区块链,他需要对基本规则接受,要履行这个规则。目前区块链技术大概有三种不同实现方法,比较多用的。第一个是以太坊,这个大部分用在B的开发上,企业级用这个有很多问题,效率问题也好,性能问题也好,安全问题也好,不太适合生产级应用。第二个是Corda,不是我们今天要谈的。第三个是我们今天要谈的,超级账本,Linux基金会下面的项目,这个是要许可的,许可制的,以联盟链的规则发展起来的,它用的开发语言是Go的语言,也有大量用Java开发的。我们发现,联盟链未来在企业级应用它的前景是比较广的。所以甲骨文公司在这方面开发基于企业级的区块链云服务平台,这个平台我想跟大家报告一个好消息,大概三四个月以后我们就正式发布,基本上90%的开发人员在中国,所以中国谈论的很多开源标准等等,会有相当多的标准已经进入产品平台云服务里面去了。
甲骨文做这个区块链目的就是为了企业级的应用,企业级应用目前有几个大的问题,第一个是门槛,使用区块链门槛很高。第二个是目前区块链技术没有达到企业级应用所要求的生产级别。第三个是技术发展非常快,对企业来说有比较大的挑战,怎么样跟得上快速技术迭代,技术变革,这个有人才方面的培养,还有安全、代码、管理等等方面的问题。所以这方面是我们在做区块链技术产品平台的时候,我们着重解决的是面对企业级区块链的问题。到目前为止,我们已经成型的企业级区块链组成部分是这么几个组成部分。
第一个是节点的,平台都已经成型了,分布式账本平台都已经成型了。智能合约,双方之间要能够达成,或者我们到一个社区来,大家互相要遵守的规则,以智能合约的形式,这个平台也都成型了。后面的阶段逐步发展,包括像节点、成员服务,我们用REST代理,包括平台控制台。所以我们这个图体现出来的是今天我们已经成型的基础的区块链在企业级要提供的基础服务模式。这是基础节点,基础服务模块。
第二个,刚才提供的基本模块都是以微服务形式作为基础架构提供的,它们中间是这三层关系。左边和右下角全部是可以支撑在公有云上运行,也可以支撑在企业私有云上运行,也可以在平台混合云上运行。
第三个,这个平台不能够只是作为区块链自己运行,还要跟企业目前运行的企业级应用,比如说ERP系统,比如财务系统、物流等等,包括企业已经有的需要互联。所以外面我们加出来的那一层,是和企业目前企业级管理应用系统运营平台,我们把它叫区块链云的生态服务系统,互联是我们要解决的,目前已经成型了。
核心的事务流包括,比如说,怎么加入这个联盟,大家之间怎么解决签名授权的问题,包括每一条线是一个业务流,怎么样把背书申请、签名等等实现了,这个是我们目前已经成型的平台。所以我就不会一条一条去提怎么做,但是这个平台目前已经基本上开发完毕,会在三四个月、四五个月以后正式发布了,包括提交交易等等。
最后是开发,刚才讲的是我们提供的比较成型的,能够沉淀下来的,可以做成模块化的云服务,另外一个,在这个平台上要增加新的开发力量,新的功能,要开发的一个界面。所以我们也有一个开发平台是专门给开发者使用的,增加一个功能,以及智能合约服务,企业内部特定条款智能合约开发平台现在也提供了。
这是我想特别点到的,我们在提供区块链平台的时候,我们提供的云服务基本上涵盖了目前90%多的企业级应用能够看到的地方,今天我们在这里跟大家汇报这个项目,其实目的就是为了希望企业能够利用这个平台,多利用这个平台,可以开发出自己的行业逻辑,一些企业管理流程,把这个应用推到行业里去。
多云连接,区块链这个东西出现,不是企业自身的云服务,也不是在私有云或者公有云里运行,我们考虑多云连接,未来企业的多云连接是比较明显的发展趋势。所以我们会做两个不同的技术标准之间的连接,这个目前也是在我们计划中四五月份以后推出的功能之一,区块链技术在多云环境下运行。总结下来,要想实现企业级的区块链应用,就必须解决以下五条问题。
第一是高性能,目前公有云性能很差,达不到生产级应用。甲骨文的目标是在云服务上面,能够让区块链事务处理每秒钟超过百个,一定要10倍-100倍的增加,这才是企业级应该有的性能级别。目前的区块链在公有链上很难企业级应用。
第二是快速应用开发和集成,不能说区块链一出现其他所有的都淘汰,还是要相对成熟的集成平台,怎么样用REST调用机制,集成目前现有的,不需要去改动,现有的企业级应用。
第三是安全和私密。
第四是快速拓展网络,不光是处理功能,还有私有通道,如果有容量可以快速增加。
第五是更高灵活性、可用性。
这五项都是企业级应用,基本上都要满足这些要求,我们通过联盟链、超级账本等项目打造面向企业级区块链云平台,目前该平台已经基本建设完成。所以请大家关注未来我们开放这个平台的时候,欢迎大家更多的运用这个平台。
这是我们公司在不到一年前正式往开源社区开放的第二个项目,叫Fn.Fn是函数级服务项目,看到这张图大家就明白是怎么回事了。函数是给他输入X,最后得到结果。我们未来希望有大部分功能,特别是在容器上面,把一些处理的过程,一些逻辑,包装成为函数,放到云上,提供函数服务,在云上提供。它这个处理是开源无服务器,不会被底下的服务器所限制,不会被底下服务器所限制,完全是基于容器技术实现的。
最简单的,函数级服务是先把函数封装起来,只知道函数输入输出,中间代码封装起来提供给大家,大家使用这些函数的时候就不需要一条条去写了。
网站是这个,现在已经开放了,大家可以去看,基本上不到一年时间,我们已经有610多个发布,这个项目的发展是非常快的。这个项目解决了几个问题:第一个,目前能够支持很多开发环境,也是用公有云写的,但是它也支持java上面这么多种开发语言。最重要的是三个部分:命令行,Fn服务器,处理函数执行过程的,这叫本地命令行。第二个是开发工具、开发包,FDK是开发包,里边包含了大量的工具包。这个包连着我们前面的片子,可以是java语言写的东西,也可以是别的语言写的东西。第三个是可视化界面,做工作流定义,所以叫Fn flow,可视化界面定义流,不需要写代码。这三个是最重要的组成部分。
其实这里还有一个是负载均衡,负载均衡是系统后面自动带的,让它的性能提高。最重要的是这三个大部分,运行底层支撑技术是dooker,对服务器是透明,不会被服务器所限制,再往下是具体的执行平台,我们现在所有裸金属服务云,这是我们公司提的,在云上提供所有运算资源的服务,虚拟机也在后面支持,Kubernetes也是比较重要的能够处理容器的。
最后的总结。为什么要做函数级服务?这会使得将来这个容器复杂性大大降低,开发运营一体化,容器的使用会越来越多,所以用了函数级服务这些项目,会使得容器的复杂性大大降低,很容易开发,很容易快速迭代,更敏捷的去部署,这个完全是面向企业级应用,容器它面临迟早会碰到的复杂问题,用函数级项目做简化。基本上是面向APPDev应用环境,企业级大规模的使用。