在2017年北京云栖大会的“开发者服务专场”上,阿里云高级技术专家余珊带来了《敏捷智连——基于容器技术的区块链业务创新》的精彩分享。分享中,他重点从阿里云容器服务和区块链项目解决方案等方面介绍了阿里云区块链技术优势。
以下内容源自2017年北京云栖大会演讲整理。
区块链的基本概念
区块链技术是分布式共享账本技术,主要运用于互联网数据库技术,旨在参与区块链网络的交易各方及监管方共享,每方均持有一份账本。特点是一旦交易经过各方确认达成共识并写进账本,则账本不可被更改;交易历史可以回溯;交易信息和交易方身份均获得隐私保护;交易通过智能合同自行执行。
区块链类型划分为公有链、私有链和联盟链。关键技术有共识算法、密码学和分布式体系架构。该技术可用于解决信任问题、实现去中心化/多中心化。
Hyperledger Fabric隶属于Linux基金会,是超级账本Hyperledger项目下最具影响力的子项目,同时也是最具应影响力的区块链基础架构之一。项目基于Apache License v2进行开发,使用Go语言进行编程。Chaincode开发目前已支持Go,即将支持Node.js,Client SDK目前已支持Node.js,Java;未来计划支持Python和Go语言。该项目于2015年12月17日成立,2016年9月16日发布v0.6.0(开发者预览版),2017年7月11日发布v1.0.0(正式版),2018年第一季度预计发布v1.1.0版本。
Hyperledger Fabric区块链网络通过Kafka Cluster来进行消费者进程信息收集,Zookeeper Ensemble来进行生产者进程信息收集,统一汇总到Orderer Service进行管理,每一方都进行平等服务和交易信息收集,参与区块链网络的交易各方及监管方共享数据,每方均持有一份账本。
阿里云容器服务
阿里云容器服务通过DevOps(一体化管理)、微服务、企业运用和智能创新等四个方面主导。容器服务采用多集群管理、安全合规、混合云、和日志监控技术;对APP市场采用镜像仓库及应用、服务目录;在阿里云服务器端方向,Kubernetes功能组件采用Linux集群进行服务,在Docker容器方面采用Linux和Windows兼容模式;在专有云敏捷版服务器端方向,物理机采用Linux集群记性服务,虚拟机采用Linux和Windows兼容模式。
阿里云容器服务运用Docker+K8S技术实现。Kubernetes功能组件目前支持的是Kubernetes v1.8.1版本,即将升级到v1.8.4版本。阿里云Kubernetes管理服务运用Helm/Docker Compose技术进行应用编排及扩展,运用日志、架空灰度发布进行容器应用运维,服务目录采用应用目录方式展示,运用实施多集群管理、集群生命周期管理(版本升级、扩缩容)、混合云管理(支持本地与云端的集群联邦)、安全合规(RAM、Action Trail、KMS等)、容器安全(镜像、运行时)等技术。
K8S集群通过节点和管控模式进行处理。在每个Docker、Containerd、Windows Container节点都有Kubelet组件,网络、存储、日志、架空插件和2个APP端进行收集。在Kubernetes集群管控方向运用存储卷管理,SLB支持,AutoScaling支持,集群联邦支持和以灰度发布、服务依赖处理、遗留环境兼容为主的应用扩展。
区块链解决方案
区块链业务创新面临巨大的挑战,主要包括需要对区块链底层技术有较深了解,配置部署技术复杂度高、耗时长;二次开发技术难度大,相关平台技术学习曲线陡峭,延缓迭代速度;区块链所需的基础资源和服务选型繁多,整合难度大,投入和质量难以把控;部署平台和环境安全保障薄弱,缺乏企业级安全管控和风险预防能力;服务质量难以达到生产级别要求,运维流程和手段不成熟、不统一。
阿里云服务器区块链解决方案的优势在于:图形化向导,配置简单,一键自动化部署,省时省力;基于业界最主流的Kubernetes和Swarm容器集群技术,原生支持Hyperledger Fabric,加速区块链业务开发;阿里云丰富和强大的基础资源和服务保障,无缝整合区块链技术,提升成本效率;可信、安全的云平台,提供多维度的安全管理和风险防范能力;强大、丰富、直观的监控、日志、运维服务,一站式保障平台和应用的稳定运行。
阿里云容器服务——区块链解决方案的业务应用场景为资产证券化,信用证,资产托管,全球物流航运,食品药品安全和溯源,医疗保险,公益慈善等等方面。Hyperledger Fabric是将面向企业的主流开源区块链实现;其开发、部署和运行都建立在容器技术基础上;系统同时支持Kubernetes和Docker Swarm Mode;服务区块链的应用解决方案开发、测试和教育培训等,推进云端区块链商业普及。
容器无区块链解决方案整体架构如上图,通过阿里云的总体技术和服务器的运营,可以达到企业级批量数据处理水准。
Swarm集群在区块链网络配置的图形化界面,意见部署区块链网络,支持CLI、SDK APP联调测试,支持Hyperledger Fabric Explorer监控。
Kubernetes集群基于容器服务Kubernetes应用目录,以Chart的形式发布;图形化界面指定区块链网络,一键部署到Kubernetes集群;Namespace隔离不同的区块链网络;支持CLI、SDKAPP联调测试;支持Hyperledger Fabric Explorer监控。
相比于其他区块链配置部署方式的消耗时间,阿里云在这个方面很有优势。
阿里云区块链技术经过环境准备,图形化界面配置区块链,一键部署区块链,通过多种方式访问区块链,删除区块链等过程进行操作。具有流程简单,支持多种访问方式,形成高效开发闭环等多方面优势。
容器服务通过镜像漏洞安全扫描、打造企业软件供应链和Kubernetes应用部署和应用仓库方式助理区块链应用创新。
Kubernetes部署区块链演示
该系统可以通过集群、节点、镜像和应用目录来构建系统,由图所示也可以部署多个集群来处理企业级问题。
本文由云栖社区志愿者小组王晓慧整理,丁匀泰审校。编辑:郭雪梅