2018年10月17日~19日,由IT168旗下ITPUB企业社区平台主办的第十届中国系统架构师大会(SACC2018)将在北京隆重召开。本届大会包括了核心业务系统架构设计、大数据平台架构、传统企业数字化转型、人工智能应用四大主线。
为了让大家更为深入地了解SACC 2018大会的日程设置及专场收益,ITPUB社区&IT168企业级编辑部对十多位出品人和专家顾问进行了系列采访。
本期采访嘉宾:腾讯基础架构部云存储开发中心副总监 程彬,金融行业开源架构落地实践专场出品人
程彬,2008年加入腾讯技术工程事业群,工作一直聚焦在数据存储领域,主要包含NOSQL、SOL、Block和File等几种存储形态的开源和自研技术体系。目前在基础架构部主要从事云数据库、云硬盘和云文件等技术研发工作,为腾讯公司内部业务以及腾讯云提供基础存储平台服务。
正文:
如果把时间调回到10年前,你对金融行业的CIO或者CTO提“开源技术”,他们会把头摇成一个“拨浪鼓”,并补上一句:我们坚决不会使用开源技术!这样的场景,如同当初的公有云和私有云。一种叫做“行业特性”的偏见,把开源技术远远地挡在金融行业应用的大门之外。
十年后的今天,开源技术在金融行业的发展呈现如火如荼的态势。人们已经不再讨论要不要采用开源技术问题,而是在考虑如何使用开源技术,探索开源技术实施路线。
开源技术为何走入金融行业?
那么,什么是开源技术?开源技术最通俗的理解就是开放源代码,让公众可以通过这个代码来编译系统、软件等。包括操作系统、虚拟化管理软件、SDN、架构等。
其实,开源技术最核心的内容是开源软件。当越来越多的软件技术人员开始信奉开源哲学,开源技术变得越来越成熟。有数据统计,全球有超过400万软件工程师不断地为开源技术社区贡献源代码,产生积累超过20万个开源软件产品,很多优秀的开源项目已经走向企业应用场景。比如OpenStack,已经开始大规模落地。
开源技术正在开启IT新时代,因其免费、开放等特点,被广大厂商、工程师追捧。但是,并不是所有的开源技术都能直接拿来用,而是需要修改源代码。并且,开源技术强调的是自由,起初的开源应用属于无序、动荡和无目标的状态,很容易出现系统漏洞和安全问题。正是因为这样的特点,开源技术被金融类企业贴上了“不靠谱”的标签。但是,别忘了,还有个词叫做“重压之下必有勇夫”。
多年来,金融行业信息化都在做数据大集中,这种模式的优势是安全可靠、自主可控;但是,过于保守的业务模式和IT架构,已不适用于今天的互联网金融架构。所以,选择更先进的业务管控平台进行创新,是金融行业类的企业开始拥抱开源技术的最根本原因。
在大规模、高并发、渠道类应用日益增多的互联网金融背景下,海量数据处理、分析需求开始增多;而开源技术可以帮助金融企业构建更敏捷高效、精细化管理、可管可控以及可扩展的IT系统。因此,我们可以看到,越来越多的金融类企业纷纷踏上了开源技术之路。一份调研数据显示,78%的金融行业机构已经或计划于1年内使用开源技术。
什么样的开源项目更“靠谱”?
然而,开源项目浩如星云大海。我们如何去选择适合自己的开源技术?
“并不是所有的开源技术都适合自己的企业,也并不是所有的企业都适合开源技术。” 腾讯基础架构部云存储开发中心副总监程彬,如是说。
程彬是少有的优秀数据架构领域专家之一。2008年加入腾讯技术工程事业群,工作一直聚焦在数据存储领域,主要包含NOSQL、SOL、Block和File等几种存储形态的开源和自研技术体系。2016年,曾代表团队参加了SACC中国系统架构师大会,分享了腾讯数据库技术演进主题,也因此结识了很多朋友。
如今,程彬已成为业界资深专家。在腾讯基础架构部主要从事云数据库、云硬盘和云文件等技术研发工作,为腾讯公司内部业务以及腾讯云提供基础存储平台服务。日常工作主要包括三个方面:业务、技术和管理。在业务上,主要是从横向、纵向来思考新的机会点,加固已有业务战场,拓展新业务战场;另外,还要关注用户诉求以及行业变化,加深对业务的理解。在技术方面,主要聚焦在数据库和存储领域的新技术以及发展趋势,尤其开源技术,包括开源项目和公开的paper。在管理方面,主要考虑的是如何提升团队使命感,怎么样才能培养出更多的专业人才等。
程彬对于金融行业的开源架构有着深入的研究和实践经验。他认为:“企业架构选型时,最根本的还是看ROI,不仅仅是技术层面。开源技术和自研技术没有绝对的好还是不好,任何一种技术都是把双刃剑。”
开源技术应用,应该按照控力度分不同阶段。总结下来,主要包括三个阶段,即:使用者、定制者、创新者。
第一阶段:作为使用者,仅仅考虑怎么用好开源技术,纯粹拿来;高端点的使用者,会把几种开源技术糅合,构建一套技术解决方案。
第二阶段:定制者就是能根据需求来对开源技术进行贡献,这里也可以细分普通定制者和深度定制者。目前TOP级别的云厂商都属于深度定制者,比如在MySQL开源生态下,TXSQL和AliSQL都属于对MySQL内核深度定制者,为云上客户提供更好的数据库服务。
第三阶段:创新者。这个阶段属于“高级玩家”,能够另起炉灶、开山立派,能就某个领域贡献出新的开源技术。随着国内互联网高速发展,企业会遇到前所未有的业务挑战,无论在成本、性能还是可用性上,所以创新者更容易出现在互联网企业。纵观金融行业新玩家,比如微众银行的开源技术选型,就可以看到趋势,未来会有更多的落地案例。当然,这需要更多有志于开源技术的工程师们的共同努力。
金融类的企业要想不走弯路,少采坑,需做到以下四点:
第一,看成熟度,不能一味求新。任何技术都是一个逐步演进的过程,开源也不例外,选型要充分考虑到风险。
第二,看适配度,不能蛮用。开源技术一般也是从某个特定业务场景中逐步抽象出来,而一百个业务有一千种独特的业务场景,所谓“众口难调”,很难说一种开源技术就能适配所有的场景。比如:数据库领域,分OLAP和OLTP两种场景,对数据库技术有完全不同的要求。
第三,看掌控力度,不能乱用。在选型开源技术时,尤其是核心业务系统,要看看团队是否有相关方面的人才。如果没有相关人才储备,建议还是使用云服务。国内腾讯云、阿里云在主流开源技术上都有非常大的影响力。
第四,还有一个license的问题,这个问题一定要注意,避免侵权。
腾讯有哪些开源实践经验?
把开源技术有效应用于企业应用场景,我们需要站在巨人的肩膀上,才能专注于业务创新。作为国内最顶尖的互联网技术与云服务技术提供商,腾讯在开源技术方面也有着突出表现。
在自主开源项目方面,腾讯一直在投入大量精力。截止到 2018 年 6 月,腾讯官方正式对外开源的项目共计有56个。腾讯曾参与贡献的知名开源社区和项目包括:MariaDB、 Openstack、 KVM、docker、NVDIMM、ceph、HBase、Hadoop、linux、Spark、kubernetes、torrent、dht、goprocinfo、flannel、netlink 等,并成为这些社区的会员和maintainer,受到国际知名组织的肯定和认可。比如,腾讯云数据库CDB团队和MariaDB基金会达成了深度合作,参与技术roadmap讨论以及patch研发。
腾讯开源应用的成功落地,给金融行业用户带来了巨大价值。首先,实现了开源技术的自主可控,帮助金融类企业有效控制风险、成本,实现效率的最大化,让系统更具可用性。其次,实现了 IT架构的全面升级。互联网开源技术追求的是高性能、低成本、弹性扩展;而传统金融技术追求的是:高可用性、低风险。两者结合,才是新一代金融架构的非常好的选择。腾讯能帮助金融行业用户实现跨系统、异构平台的整合。
为了确保开源应用的安全性和可靠性,腾讯从三个角度加大了力度:第一,构建安全、可靠的架构。腾讯采用的是多租户隔离,实现了多维度的数据安全。对于用户来说,数据安全尤为重要,腾讯一般会从存储安全、访问安全和操作安全三个体系分别review架构,从而保证在系统架构层面万无一失。第二,采用分级物理部署方式。比如:独立的机房、独立的机器、独立的网络等,从物理上进行隔离。第三,深度拥抱开源技术。不仅拿来用,还要做出贡献。所以在开源技术上,腾讯投入了最优秀的人才,参与各种开源社区技术活动。
以腾讯为代表的企业,在开源应用的努力,让我们看到——开源技术的未来已来。尤其是当金融行业用户放下“偏见”,积极拥抱开源之后,开源技术必成为大众创业、万众创新的基石和引擎!
当然,机遇和挑战总是如影随形!想了解金融行业企业在使用开源技术过程中是如何规避风险,解决痛点问题的吗?快来参加由IT168旗下ITPUB企业社区平台主办的第十届中国系统架构师大会(SACC2018)。2018年10月18日,金融行业开源架构落地实践专场,尽享技术饕餮大餐。专场内容包括:金融行业对开源架构的要求,开源架构如何去支撑金融行业业务场景,具体的技术复盘案例是怎样的,开源架构在金融行业实践的方法论总结等。
金融行业开源架构落地实践专场日程如下,快速报名!
抢票入口: http://sacc.it168.com/goupiao.html
大会官网: http://sacc.it168.com