开源生态红似火-华为引领中国力量显峥嵘
开源生态红似火 华为引领中国力量显峥嵘
当 Richard Stallman 发起开源运动之时,他恐怕不曾想到开源能够给今日的世界带来如此巨大和深远的变化。开源的开放、共享以及大家齐心协力共同向着同一目标努力奋进的精神,如今已经成为人类共同的精神财富,激励着无数仁人志士为开源积极的贡献着自己的力量,而开源的思想也已经深深的烙印在每个 IT 人的心中!
开源改变世界
很难想象,如果没有开源,现在的世界会是怎么一番模样。
Linux
、
OpenStack
、
KVM
、
Docker
这些耳熟能详的开源技术,在今天,基于这些开源的技术已经诞生了如红帽、
SUSE
等世界级的软件公司,而这些开源技术也已经几乎被所有的
IT
厂商或多或少的在采用。据相关数据显示,在超级计算机市场,
100%
采用开源;
80%
的企业级操作系统是
Linux
;
82%
的智能手机操作系统是
Android
;在云计算领域,
90%
的公有云负载运行在开源软件之上。而
Linux
以前的死敌微软也坦诚,在
Azure
云上,
60%
的工作负载都运行在开源的
Linux
之上。同时,
IBM
、英特尔、谷歌、微软、苹果、华为等国际巨头也在通过加入各种方式不遗余力支持着开源事业,为开源社区贡献自己的力量。由此足见,开源之火已经燎原,开源的种子已经在世界各地落地开花,开源已经改变世界!
源于开源
不过,对于在
IT
技术方面长期以来落后于欧美的中国来说,开源的重要性已远远不是改变那么简单,它实际上给中国企业带来了一个从落后到追上,直至最后赶超的机会。可以说,如果没有开源,中国的企业还只能停留在使用价格昂贵的闭源软件的时代,如果没有开源,中国的
BAT
也不会取得如此快速的发展,如果没有开源,中国的许多云计算厂商就将不复存在,以华为云为例,在华为云发出的虚拟机中,有超过
2/3
的虚机在运行各种版本的
Linux
上,基于开源的服务,比如基于
Hadoop
的大数据服务,基于
MySQL
的关系型数据库服务,基于
MongoDB
的
nosql
数据库服务,都是被广泛使用的服务,在最近非常热门的
AI
领域的几个框架也都是开源的。像华为云、腾讯云、青云
QingCloud
,
EasyStack
、海云捷迅等一干厂商,也都是基于开源的
OpenStack
而逐渐成长起来的优秀中国云计算企业,对于中国厂商来说,采用开源开放的技术顺应了广大用户的需要,是更合理的选择。
强于开源
然而,对于中国厂商来说,如果仅仅是
“
拷贝
”
、
“
粘贴
”
开源代码,或者将开源项目直接拿来就用,是不能取得较好的效果的,开源的软件作为创新项目的基础很不错,但如果直接投入商用却稍嫌不足:开源软件在功能上有不少创新,但是在可靠性和高可用性上却有些不足;开源软件由多个组件拼装而成,各个组件之间的配合有时候会出现版本没有拉齐等问题;基于开源软件开源框架的应用在云化场景也会遇到运行和运维的挑战,比如:云上云下环境的不一致带来的调试问题,分布式复杂环境的部署、运维、扩缩容的问题。企业在使用开源软件时缺乏支持等等,导致企业在正式使用开源软件的时候多少会有些纠结,也不一定可以得到很好的效果。
华为自身也是开源软件的大用户,在使用的过程中的确碰到种种问题,但是毕竟华为技术能力强,很多时候通过分析代码发现了原因并加以解决。华为深知其中的痛苦。所以在华为进入企业市场面向企业销售软件的时候,尽量从开源开放的系统出发,贴近具体的客户化场景,在高可用,用户友好等方面进行加强,并进行深度地测试验证,能够满足商用的标准。
在应用层,目前微服务应用框架业内是百花齐放的状态,华为云的微服务云应用平台
ServiceStage
也充分考虑微服务框架的开源开放、生态接入能力,不仅仅支持华为原生的
ServiceComb
框架,也已经支持
Spring Cloud
等开源的微服务框架。开发者在本地开发完成的微服务应用之后,不用再过多考虑应用开发环境与运行平台的不一致性问题,以及分布式环境的部署、调度、资源管理、应用监控,服务治理等等问题,
ServiceStage
能提供稳定可靠的基于容器和虚机资源的运行环境和友好的微服务管理控制台;同时也充分考虑开发者易用性和微服务开发生态,包括:对接多仓库的微服务流水线,帮助微服务开发者在运行时管理和监控微服务
UI
化的多平台(
Linux
、
Windows
、
Docker
、
Darwin
)本地注册中心,轻松切换云上云下开发环境。
回馈开源
实际上,开源原本的初衷,并不仅仅意味着索取,更多强调的是贡献。只有大家在索取的同时积极贡献社区、反馈社区,开源社区才能
“
众人拾柴火焰高
”
,不断发展壮大。
Linux
,
OpenStack
、
Hadoop
等开源社区取得巨大成功的原因也大都根源于此。华为深知这一点,因此华为一直以来都是不遗余力的向开源社区贡献自己的力量:
在
OpenStack
社区拥有
2
个
TC
席位,
7
个
PTL
(包含
Nova
,
Neutron
等核心项目),
26
个
Core Members
,代码贡献在近两个版本排名第二,
Blueprint
贡献在近两个版本排名第一;在
CNCF
,华为有一个
TOC
席位,一个
K8S SC
席位,
5
个
Maintainer
席位。截止到一个月前,华为累计
Pull Requests(PRs)
贡献
2400+
条,厂商贡献排名第
3
。在
Hadoop
社区,华为贡献社区排名第三。
同时华为云还主导开源了
ServiceComb
,
CarbonData
,
OpenSDS
等项目。其中
CarbonData
是中国本土公司首个
Apache
顶级项目,有来自
30
多家公司
110
多个直接代码贡献者,
ServiceComb
使用用户覆盖
IOT
、生物医药、金融、互联网、地产、
AI
、
ISV
等行业,当前共贡献给
Apache
社区
33
万多行代码,
160
多位代码贡献者。
2017
年
5
月,同样在
LC3
大会上,华为云将其微服务引擎服务的代码进行了开源,并于
17
年
11
月捐赠给了
Apache
软件基金会,是国内第一个进入
Apache
孵化的微服务项目。华为云微服务引擎在华为内部系统商用了
3
年多时间,在保持电信行业高性能低时延能力的同时也历经了华为
VMALL
商城等电商场景的历练。例如,华为消费者云业务拥有数亿级用户访问量,业务对性能和时延等要求都非常高,曾尝试使用其他分布式框架实现,由于大部分业务是
I/O
密集型的,同步微服务调用模式导致
CPU
利用率低,性能也无法提升,硬件资源利用率低。采用
ServiceComb
的
Reactive
全异步模式之后,
QPS
提升
2
倍
、时延降低
45%
,大量的硬件资源因此被节省,并异步模式同时解决了传统分布式框架经常遇到的雪崩效应,即某个微服务调用慢导致上游调用方被阻塞引起雪崩。
华为云历经考验沉淀下来的
ServiceComb
严格遵循微服务设计理念,是具备多通讯协议、服务治理、多编程模型、动态配置、流量控制、负载均衡、服务度量、注册发现、分布式事务、插件式扩展设计、服务化契约特性、轻量级边缘服务、脚手架等能力的一站式开箱即用微服务解决方案,它和
SpringCloud
等主流框架兼容互通,又同时补充了其中的不足,不必像
SpringCloud
一样需要高的学习成本去组合不同的组件来实现微服务应用,也不会有由于使用其他分布式而非专注于微服务化的框架而引入的类似于服务间
Devops
协同开发困难等非遵循微服务化原则而导致的设计弊端,使用
ServiceComb
可以在
30
分钟内轻松构建一个房产
CRM
云原生应用。华为云将经验沉淀在了
ServiceComb
并捐赠给了
Apache
软件基金会,致力于帮助企业能够轻松构建微服务应用,帮助开发者和企业从微服务化的复杂性和困难中解放出来。
华为云开源
ServiceComb
一年以来,越来越多的中国企业也陆续开源了其自研的分布式或微服务框架,也有更多的企业追随华为云的做法将自己项目贡献到
Apache
进行孵化。
ServiceComb
将全球最大的开源社区的精髓
Apache Way
带入了中国企业的中间件领域,影响国内的众多企业以更加开放的态度拥抱开源,也使得各个开源项目社区更加开放多样,给开源用户和开发者提供了更加亲和的土壤。
这些信息能够充分体现出华为是开源的积极贡献者之一,也是中国在开源运动中的先锋。华为以后也会继续以开放的态度回馈开源。
引领开源中国力量
基于
“
源于开源,强于开源,回馈开源
”
的理念,华为云已经逐渐成长为中国开源力量的引领厂商,这从上面的各种数据中就可以得到很好的证明。而华为云绝不会躺在这样的成绩单上徘徊不前。华为云深知云服务同商业软件交付客户的模式存在很大不同,因此,在华为云坚定的开源步伐中,华为云经常大胆尝试最新的技术,通过用户的反馈迅速改进。华为云积累的经验也已经或者在不久的将来回馈给社区。