“不管黑猫白猫,能捉老鼠的就是好猫。”相信所有人都知道这个著名的黑猫白猫论。在云领域,无论是基于开源技术开发还是所谓自主开发,能全面满足用户需求的才是可用好用的云!
应用相对比较简单的普通用户,其实并不在意云姓“自”还是姓“开”,只要能够在云上快速开启其业务,满足其应用需求就算万事大吉。但是对于那些传统大型企业用户来说,云姓“自”还是姓“开”这个问题确实是一个值得深思熟虑的问题。
通常来说,传统大型企业用户在IT建设方面投入了大量资金,也建成了比较完备的IT系统,甚至是私有云,在从私有云过渡到公有云中的过程中,如果让他们放弃原有的系统和架构,推倒重来,这个决心并不容易下,而且很可能会产生诸多后患。华为云首席战略官宋哲炫表示,很多大型用户在经历了多年的信息化建设后,最大的感触就是不能被某个厂商或平台绑定。在实践中,越是规模大、IT能力强,并且舍得在云上进行投入的企业用户,往往倾向于购买最基础的云服务,比如云主机、云存储等,反而少购买一些高级功能,其中一个考虑就是怕被绑定。对于怕被绑定,宋哲炫举了个例子:“企业用户选择公有云服务商与结婚一样,婚前一定要慎重,如果结婚后再分手,付出的代价可能是惨痛的。”
无论是从性能、稳定性,还是对大规模集群的支持、可用性等诸多方面衡量,开源技术都堪当大任。将开源简单地等同于“拿来主义”,这是老黄历了。现在,企业级的用户都十分清楚,许多开源软件是不能直接下载就用的,而是必须在深入了解开源内核和所有技术细节的基础上,增加适合企业实际需求的功能改进和优化,这样才能实现开源与商业的平衡。
在开源领域已经耕耘了十多年的华为,始终秉承开源发展的十二字诀——源于开源、强于开源、回馈开源,华为云也不例外。
源于开源:厂商的自然选择
在公有云领域,开源正在承担越来越多的责任。
当前,在公有云上运行的系统大多都是基于开源的。宋哲炫以华为云为例现身说法,在华为云售出的虚拟机中,超过2/3的虚机在运行在各种版本的Linux平台之上,同时大量的服务也是基于开源的,比如基于Hadoop的大数据服务、基于MySQL的关系型数据库服务、基于MongoDB的NoSQL数据库服务等,以及最近非常热门的AI领域的几个应用框架也是开源的。
从商业应用的角度看,开源的公有云OS似乎有些滞后。开源云OS首先从企业私有云市场崛起,OpenStack很早就被公认为是私有云领域的云操作系统行业标准。当时全球有影响力的公有云服务商还比较少,而私有云用户不仅数量多,而且对开源的诉求十分强烈。在以OpenStack为代表的开源云OS被企业广泛接受后,开源云OS才开始慢慢从私有云走向公有云。这时,社区也将研究的重点逐渐转向解决大规模集群和高可用性等公有云的需求。
几家先走了一步的公有云服务商都推出了自己的公有云OS,这也让人有了先入为主的印象,似乎开源对于公有云来说并不是必要的。的确,公有云在发展初期并没有出现一个像Linux那样被广泛使用的云OS。但是,这并不能说明开源技术不适合公有云。包括华为云在内的几家新晋公有云服务商,都是在开源的OpenStack之上逐步演进。从目前情况看,虽然在技术上面临一些挑战,但并非不可逾越的鸿沟。“开源不适合公有云OS,是一个伪命题。”宋哲炫表示,“很多企业用户其实更倾向于选择基于开源的公有云服务,因为有大型公有云厂商做背书,用户使用开源技术可以更省心,也更放心。”
在实践中我们也发现,很多公有云和企业内广泛使用的私有云并不兼容,这也是企业上公有云的一大障碍。而容器很可能是解决这个问题的良方。目前,Kubernetes是容器领域已被广泛接受的开源项目之一。451 Research的调查显示,使用者认为Kubernetes最大的价值之一便是对混合云/多云的支持,以及避免被厂商锁定。
宋哲炫指出,容器将成为公有云开源的重要领域。在加入CNCF后,华为在Kubernetes上大量投入,积极采用Kubernetes对自身的业务进行微服务化改造,并将相关成果反馈给社区,涉及多集群联邦、高效调度等。