最近,蓝色巨人IBM公司委托一家咨询机构做了一个调研,主题是“开源在云时代的价值研究”。我们先不说IBM做这个调研的目的是什么,直接看调研结果。
在3400多名受访者中,有70%的人“更喜欢能提供开源技术的云服务提供商”,这一结果似乎并不意外,毕竟每家云计算企业都或多或少的有一些开源应用。但有一点让人难以理解,那就是79%的人之所以转向开源,是因为防止被某家云计算厂商锁定。事实是这样吗?使用开源技术真的是在从公司层面帮助企业降低成本?
具有魔幻色彩的开源技术
在笔者看来,所有让人感觉自我良好的开源技术背后,全部是由开发者在推动,他们为什么一定推崇开源?其实原因很简单!那就是基于统一框架的云计算技术,可以让开发人员更快地发布代码,降低云计算技术的学习曲线。换言之,开源是开发者职业生涯的终极保护伞,只要熟悉开源技术,你就会对所有基于开源技术的云计算平台了如指掌。所以,开源技术才会越演越烈,甚至被魔幻化。
调研显示,大约55%的受访者认为,“学习单一云提供商提供的独有云计算技术限制了自身职业发展”,实际情况可能高于这个数据,几乎所有开发者都不愿意只专注于一家云服务提供商。很多人可能会想到,这是多云及混合云时代环境下造就的产物,逼迫开发人员不得不了解多个厂商的各种应用。
其实,多云和混合云只是偶然出现的现象,并不是云计算发展的必然。为什么这样说呢?正如Citrix前副总裁Christian Reilly所指出的那样,人类永远在创造历史,追寻更具可替代性的技术,可大多数时候的“可替代性”并不能和收益成正比。也就是说,多云确实存在,但并不是永恒,聪明的人正在寻找新的“可替代性方案”。假如多云是人类技术创新的终极,整个世界真的变成一个永远多云的世界,对于用户来说也不见得是一件好事,最终可能会演变成一种灾难。
当然,眼下的问题是,多云确实存在,如何解决跨环境部署及管理问题?开源帮助开发人员降低了学习成本,只要了解了开源技术,他们就知道如何去使用微软Azure、谷歌云、AWS或阿里云的原生服务。
云厂商锁定是个伪命题
至于,为什么有人会把开源和云厂商的锁定问题联系在一起呢?
归纳起来,大概有几个重要原因:第一,如果使用专有云计算提供商提供的服务,可能随时面临强行加价的风险;第二,对于客户来说,很多更具依赖性的关键业务功能,可能会被云服务商删掉,不再提供服务;第三,个别云服务商可能会因为某些原因倒逼,无法让业务获得永续性支持;第四,云服务商可能会利用平台优势抢占买家的市场,由合作伙伴转为竞争对手;第五,一些bug或者关键业务性能问题会在买家形成强依赖关系的时候暴露得更加明显;第六,专有云技术太过复杂,很难在市场上找到合适的技术专家,等等。
殊不知,上述所有问题对基于开源类技术提供服务的提供商来说,境遇都是相同的。如果你的应用建立在开源应用框架之上,但你并没有驾驭开源的能力,其结果是一样的。对于大多数企业而言,对开源背后的逻辑并不清楚,不管你使用的是开源还是非开源,其实都无足轻重,最首要的问题是能让应用运转起来,让技术更好地支撑业务。对于开发者来说,就不同了,尽管他们不直接负责采购,但依然有很大的话语权,在专有云和基于开源技术的云服务之间,他们当然更愿意选择开源,因为从职业发展空间角度考虑,开源能让他们收益最大化。
值得一提的是,了解有特定需求的云业务场景还是非常必要的,但从大的战略方向选择上,他们更愿意选择以Kubernetes、Linux、PostgreSQL等为代表的开源技术,因为这些技术可以让开发人员在各种云之间游刃有余。所以,从开源技术在多云及混合云时代扮演的角色来看,真正的推动力并不是来自公司层面,而是开发者在推动,因为对于他们来说,了解的开源技术越多,选择工作的余地就越大。