尽管,很多人对于开源技术以及OpenStack持有不同看法,但是腾讯的态度是始终拥抱开源,并积极推动开源技术的全球化发展。5月21日~22日,2019腾讯全球数字生态大会在昆明召开。会议期间,来自腾讯云、OpenStack基金会、英特尔全球系统软件产品部门的三方领导高层,各自就开源技术话题,接受了媒体采访。
▲从左至右,依次是:腾讯开源管理办公室高级社区经理 于朵;腾讯开源管理办公室 执行总监 许勇;OpenStack基金会创始人兼执行总监Jonathan Bryce;腾讯云TStack首席架构师贺阮;英特尔全球系统软件产品副总裁 Mark Skarpness;腾讯云TStack产品总监邬沛君
为什么要拥抱开源?
开源,即开放源码,在开源精神的指引下,使用者可以使用、复制、散布、研究和改进软件。简单理解,开源倡导的开放和自由理念,是软件开发的最高境界。尽管,开源软件发展并不顺畅,存在着这样那样的挑战;但是总体来说,开源已是大势所趋,很多企业都在通过开源技术构建自己的IT应用。在Gartner调查中显示,有99%的组织在其IT系统中使用了开源软件。我们熟悉的日常软件功能,有60-80%的代码库都来自开源社区。尤其随着主流的开发平台Linux,、Android等逐渐开源化,IT产业想要取得更大的市场份额,拥抱开源是当务之急。
“云服务不只包括底层的基础设施能力,还包括PaaS、SaaS等,在TStack全栈云研发过程中,借鉴了很多开源技术。” 腾讯云TStack产品总监 邬沛君表示,作为集IaaS、PaaS和SaaS于一体的全栈云平台,腾讯云TStack的“底座”,就是基于OpenStack和k8s等开源架构来构建。在这种模式下,腾讯云TStack可以为用户带来更开放的多平台兼容能力,可支持多种异构云纳管。同时,存量虚拟机平台也可无缝纳管至TStack平台。与闭源相比,云平台的核心采用开源技术的最大好处是,可以让整个平台架构获得更大的兼容性、灵活性和可扩展性。
开源技术带来的好处,显而易见,比如:开放、透明,功能更丰富等。对于腾讯来说,开源更是企业整体战略中最重要的组成部分。 当然,使用开源技术也有一定的门槛,并不是谁都可以拿来直接使用。OpenStack是一个通用的开源框架,涉及不同的社区版本,到具体落地的时候,企业要根据不同的内容和场景做不同的处理。腾讯云TStack从网络、存储、计算的分配等等方面,都做了不同场景的优化。不仅在全栈云平台的构建方面,在机器学习和人工智能应用的广泛落地过程中,开源技术也已作为服务封装到系统内部。
“腾讯不会为了开源专门去做一个项目,而是当开源项目足够成熟后,再推广到社区。比如:腾讯的机器学习项目Angel,在精准推荐等方面有了充分应用后,才会推广到社区,吸取社区更多案例后,再不断增加技术的应用范围。”腾讯开源管理办公室高级社区经理 于朵补充道。
在开源技术的全球化发展过程中,腾讯做过什么?
腾讯不仅是开源技术的支持者、参与者和使用者,也在通过自身努力源源不断地向开源社区输出优质开源项目。从腾讯内部技术积累来看,开源技术研发横跨各个领域,涉及的开源项目达到8000个,并且已经过海量用户验证。
从2016年开始,腾讯就不断将内部开源出来的优质项目在GitHub上发布。截至到2019年5月19日,腾讯已在Github上发布73个开源项目,包含微信、腾讯云、腾讯游戏、腾讯AI、腾讯安全等相关领域,这些都是经过腾讯众多明星业务海量检验的项目进行对外开放,腾讯发起的开源项目累计在 Github 获得了221435 Star数,在国内和国际收获了关注和认可。如今,腾讯开源逐步进入快节奏时代,分别以发起者、贡献者等不同方式积极参与开源。
腾讯参与贡献了众多知名开源社区和项目,包括 Openstack、 KVM、docker、NVDIMM、ceph、HBase、Hadoop、linux、Spark、kubernetes、torrent、dht、goprocinfo、flannel、netlink 等。腾讯对于开源的贡献受到国际肯定和认可。目前,腾讯已成为 OpenStack 基金会白金会员,获得 2017 全球 OpenStack Superuser 奖项。腾讯已是 Linux Deep Learning 基金会白金会员,并获得董事会席位,此举增强了对公司业务至关重要的 AI 领域在未来国际范围内的领导力。 凭借Linux 基金会黄金会员(即将升级为白金会员)身份,腾讯强化了与 Linux 基金会开展深度合作的基础,接触到了更多开源社区资源。而成为CNCF 黄金会员后,腾讯在容器服务、KVM 虚拟化等重大开源项目贡献了力量。腾讯还加入 Linux Foundation Networking(LFN) 基金会,以银牌会员的身份参与 LFN 项目的维护,规划以及建设。此外,腾讯与MariaDB达成战略合作,通过MariaDB释放腾讯云数据库 CDB 和腾讯游戏 DBA 的多年的技术积累。
腾讯在开源技术领域,倡导的是“开放、共享、合力开发”的研发理念。对外,腾讯积极与开源社区合作; 对内,腾讯成立开源管理办公室,每个开源项目都设立的相应的管理委员会。在腾讯自主开源项目中,除了前面提到的Angel(灵活而强大的参数服务器型分布式机器学习平台),还有Tinker(微信前端团队Android 热补丁方案)、WeUI(轻量而优雅的微信 UI 样式库)、VasSonic(轻量高性能的 H5 提速框架)、Tars(整套微服务治理和开发运营一体化解决方案),也都是比较受欢迎的项目。通过这些开源项目的成功落地,腾讯建立了自下而上的生态环境。这些项目有的可能是多年服务于企业内部,有的可能是几个程序员为了方便协作而建立的库,都极大地激发了中国开发者的开发激情与乐趣。
在腾讯参与的诸多开源项目中,OpenStack是最具代表性的一个。腾讯云TStack不仅会基于OpenStack不断升级,还会与OpenStack基金会以及Intel等生态伙伴,建立紧密合作关系,共同推进OpenStack在全球的发展。据英特尔全球系统软件产品副总裁 Mark Skarpness介绍:“Intel和腾讯在社区开源项目中有很多合作,比如通过dpdk、vxlan、ssl offload等技术,共同促进了OpenStack开源生态的落地及应用。未来,还会围绕StarlingX边缘计算项目,探索更多的合作点。”
如何看待开源技术的安全性问题?
另外,使用开源技术,很多人都担心安全漏洞问题,但事实上开源软件比一般的软件更安全。
“开源软件更透明,其内核技术已经被很多人检验过、研究过,代码审查的程度远远超过一般商业软件。” OpenStack基金会创始人兼执行总监 Jonathan Bryce强调,开源软件并不是安全漏洞的“代名词”。恰恰相反,从某种角度来看,开源软件还要更安全。
OpenStack基金会是OpenStack的全球独立家园,旨在推动OpenStack云操作系统在全球的发展、传播和使用。OpenStack基金会的目标是在全球范围内服务开发者、用户及整个生态系统,为其提供共享资源,以扩大OpenStack公有云与私有云的成长,从而帮助技术厂商选择平台,助力开发者开发出行业最佳的云软件。说白了,OpenStack是把全球技术专家整合在一起,共同致力于世界上最顶尖级的软件,他们为社区贡献代码、架构,实现新技术开发,同时企业也会基于这些开源技术推出商业化解决方案。
目前,OpenStack社区拥有超过130家企业及1350位开发者。OpenStack以Apache许可证授权的自由软件和开放源代码项目,它是一个开源的云计算管理平台项目,支持几乎所有类型的云环境,旨在提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack适用的场景很多,包括政府、金融等等。
腾讯开源管理办公室执行总监许勇表示,开源组件占所有内部组件的10%,针对开源组件漏洞这块,腾讯对外的开源项目一般都会经过严格、安全的扫描,进行安全审计。另外,其实腾讯安全部也会联合外界的“白帽子”,主动进行漏洞曝出合作,及时修复各种漏洞,腾讯有专门的安全部门在支持开源项目关于漏洞方面的处理。腾讯也会非常重视开源协议的审核,保证法律程序上的完备性,会对每个项目做第三方的扫描,然后对应开源协议,再去制订属于自己开源项目的协议,确保开源项目不会被开源协议影响。
最后,开源无国界,不会因哪个公司、哪个国家而改变,腾讯和OpenStack基金会以及所有基于开源技术的生态伙伴,都会以技术为核心,为人类发展做出更大贡献。