返回目录:经济新闻
五年前,我写过一篇文章,叫《银行业“云”时代的变革》,那时候银行业对虚拟化技术的接受程度和今天金融行业对容器技术的态度如出一辙。都是更多地应用于研发和测试环境,都是给研发和测试带来了效率的提高和改善,运维部门也因此受益。但是当时的虚拟化技术还没有被谨慎的金融业用户应用于生产环境。而今,虚拟化技术已经在金融行业的生产系统中大行其道,容器技术还是更多地在研发测试环境里发挥作用。那么五年后会是怎样呢?容器技术会不会像今天的虚拟化技术一样,被广泛地应用于生产环境呢?
我们来看看今天的大型金融企业是如何运用容器技术的,我们也许会从中找到答案。
华泰证券(601688,诊股)的IT规划与目标
华泰证券成立于1991年,华泰证券是国内大型的综合性证券公司,业务指标、财务指标在券商中都名列前茅。2016年华泰证券的交易规模在26万亿左右。
华泰证券希望从传统券商,依托领先的技术和互联网平台,做数字化转型。希望成为兼具本土优势又适应全球视野、在亚太地区有影响力的金融平台。
在券商领域,原来都是传统的IT架构,这种模式随着数字化转型,已经不再适应现在的发展速度。因此,华泰证券在IT架构上做出了新的规划和转型目标。
华泰证券新的诉求是:能够自主可控,降低对原有证券领域方案商的依赖,技术可以保持领先。华泰证券制定的IT规划长远目标是这样的:坚持“自主可控,技术创新”的发展理念,拥抱并谨慎落地开源技术,保障技术的前瞻性和开放性,降低对固定技术栈的依赖;提高企业的业务敏感性,实现统一且平滑地从传统架构到微服务化架构的过渡方案,整合企业资源,加速业务迭代速率。
DevOps平台建设
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合,减少开发和运营之间的摩擦,从而快速部署软件或应用程序,并且可以快速检测。
之所以要引入DevOps平台,是因为随着华泰证券的研发转型,研发部门面临着很多挑战:
第一, 原有的模式基本上靠方案商,自身根本不会关心代码开发、测试等工作。现在随着IT部门从原来几十个人发展到几百个人,自主研发就必须由自身的研发组织来主导,这是一个很大的挑战。
第二,金融产品比较复杂,对它们的生命周期管理以往没有很好的管理办法,都是每个团队自己做自己的产品研发,产品交付的周期都比较长。
第三,测试环境过去没有标准化,都是用虚拟机,这种做法也很零散。华泰证券希望为整个测试研发过程建立统一的平台,把测试在平台里面做统一的规划。
第四,以往研发效率比较低,一个版本是以月为交付速度考量的。现在华泰证券通过技术的进步,希望以星期或者天作为交付速度的考量。通过一个平台,能够把内部所有的研发动作归纳到平台里。
这些都是华泰证券一度面临的挑战。
在虚拟化技术兴起的时候,虚拟化技术给金融行业的研发和测试带来了效率的提高和管理的改善。但随着虚拟化技术应用越来越普遍,它也遇到了难以解决的问题。Docker技术则给虚拟化技术提供了很好的补充。Docker是更小型化的系统封装,可以在一台虚拟机上同时运行多个不同的应用,如网站,数据库,可以更充分地使用虚拟机资源。同时实现更快速的部署。
读者可能会问:如果用户需要更多的资源配置,那多划出一些虚拟机不就行了吗?答案是用虚拟化手段和容器技术来解决这个问题,效果是不同的!虚机更大。一个虚机的镜像最少也要几百兆,Docker可能几十兆就够了,并且效率更高。Docker相对于虚拟化,它是比较轻量级的,它应用的交付可以标准化。但虚机没有办法做到应用的标准化,因为虚机虚拟出来之后,应用本质上还需要去做部署,当然用户也可以做模板,但是这种模板很重,不适用于快速的交付模式。Docker运用于金融行业用户的开发测试,不仅提高了开发测试的效率,还能规范开发、测试的流程。
另外,按照传统券商的IT架构,业务系统越来越庞大。开发、测试、上线的周期越来越长。这时候,就需要将系统拆分成若干微服务,即所谓的微服务架构,按照小的业务单元来管理,才可能缩短系统开发、测试、上线的时间。从而避免这种情况出现:一旦一个开发人员有Bug,所有人都上线不了,周期就会越拖越长。拆分成微服务,拆完之后大家独立工作、独立上线。这种微服架构,也是华泰证券技术架构转型中要做的工作。从而,来整合所有的企业资源,加速业务交付的速度,整体提高券商产品的迭代速度。微服务架构也非常适于用容器技术来实现。
虽然说自主研发力量在增强,但是还不能所有的系统都自建,所以华泰证券希望在市场上跟比较优秀的合作伙伴做整体解决方案,采用容器技术,并搭建微服务架构。如何选择供应商?华泰证券对合作伙伴的要求是这样的:
第一, 能够最终解决软件产品发开、测试、交付和运维一体化的问题,降低产品推向市场的时间;
第二, 具有企业级平台质量,经过真正的生产实践验证;
第三, 技术栈走主流路线,并具有长远发展潜力;
第四, 有本地化、高质量服务团队,有专业技术支持和维保。
第五, 厂商技术实力强,能够对选型、落地和业务迁移都有专业支持。
基于以上考虑,多方比较,最终华泰证券跟灵雀云合作,整体研发了企业级的DevOps一体化平台。华泰证券希望这个平台能够把所有的部门串在一起,而不是像以往割裂的状态。
容器在使用当中,只有所有的部门对它有比较深刻的了解,未来才能上生产系统。如果各部门对它缺少认知,上生产系统就会遇到壁垒,不愿意配合。所以华泰证券反过来做,从CI开始来推动各部门的对容器的认知,然后再推到生产,目前主要是在CI环境当中实现标准的落地。
引入了灵雀云相对成熟的企业级容器云平台,并搭建自主可控、自下而上的云管理技术平台,华泰证券实现了IT基础设施从硬件化到软件化IT的转化。采用容器技术,规范了开发、测试管理流程,标准化了系统交付。采用应用商店的模式配合分级镜像中心的技术实现企业资产管理。应用灵雀云的集群调度平台,华泰证券把IT平台所有的子调度能够有效的做出来,实现全网编排调度机制,实现应用、服务、数据多层的容灾。
DevOps平台带来效率的提升和管理的规范
DevOps平台项目实施有三四个月,从研发管理方面,华泰证券由传统的手工作坊式的研发状态,进入到高效、敏捷、协同的研发动作,所有的研发动作全部通过一体化的平台进行研发组织。
从项目管理方面,所有的版本交付,通过这个平台运转。在版本管理方面,华泰证券目前需要做到两个方面,一个是容器镜像的管理,还有要做到传统应用的版本状态。这跟以前用容器平台,只做一个计算管理、版本管理有区别,但是有的还是需要用传统的交付方式来交付。所以华泰证券在这个平台上,做到容器的镜像版本和传统应用的镜像版本,两个版本的模式来过渡。这样所有的企业资产全部管理起来,一目了然。
从测试环境来看,华泰证券希望每一个项目、每一个团队,从组织形式上,必须按照资源有效隔离,这是证监会有明确要求的。在这样的测试环境下,极大提高了交付速度。比原来虚机的测试环境,不仅提高了交付速度,还提升了测试环境的资源利用率,实现更有效的管理。
从交付速度的角度,传统的金融研发模式,基本上一个月能上线已经很不错了,现在基本上都提速到一个星期、两个星期发布一个版本。通过这种模式,研发的交付速度得到非常大的提升。如果是微服务的话,就是以天来计算交付的速度,几行代码节可以搞定一个服务。
整体的DevOps的平台,让华泰证券整个研发体系不管是管理流程、开发流程,还是交付速度,都有较大幅度的提升。下一步,华泰证券还会在平台上做更深层次的思考。
金融行业对系统的可靠性要求高,要远高于互联网企业。因此,目前还没有将Docker技术应用于生产环境,而是更多应用于开发测试,用于交易监控系统等等。而虚拟机已经大范围地在生产系统中使用了。五年前,虚拟机也只是应用于开发测试环境。
“如果你认为,Docker技术只适用于中小企业那你就错了。其实,越大型的企业用Docker的几率越大。因为他们的研发队伍更强大,研发、测试的需求多,也有能力把Docker用得更好。”灵雀云CEO左玥在Alauda EE企业专享版平台发布会上这样讲到。而Alauda EE企业专享版的新功能有许多来自于华泰证券等金融行业用户的实际需求。