在技术领域,总是有很多关于“开放”这个词的讨论,尤其是涉及到云的时候。毕竟,没有人想被锁在一个“封闭”的系统里,对吗?9月9日星期一,我的朋友、Datamation的执行编辑詹姆斯马奎尔(James Maguire)主持了一场关于“开源云”的谷歌Hangout活动,这似乎是一项有趣的活动。他有桉树、红帽、星云和思杰的人准备在视频群聊中发言。
这几年,我在很多小组都讲过开源云,总有一个问题:开源云到底是什么?
在我看来,仅仅使用开源技术并不能让云开放,这是我每次有人问我时都会提出的一个论点。我喜欢像用户一样思考。坦率地说,云中(和其他地方)的用户通常有一个主要问题,那就是数据。
数据可移植吗?也就是说,如果我将数据存储在一个云中,我可以将其取出并移动到另一个云中吗?这是一个简单的问题,但并不是每个案例都有简单的答案。
此外,工作负载是否可移植?也就是说,如果我在云上运行一个应用程序工作负载,我可以将它转移到我选择的另一个工作负载上(而不仅仅是由同一个供应商操作)吗?
是的,开源非常重要。这意味着作为一个用户(如果我有技能),我可以随心所欲地弯曲代码来“挠痒痒”,得到我需要的东西。这也意味着可以有跨多个供应商支持的真正标准。然而,现实是,许多用户将需要供应商提供的完整烘焙解决方案。以OpenStack为例。如果您在供应商的OpenStack云中运行工作负载(红帽、Rackspace、惠普、SUSE、Canonical、Piston、星云或其他),您能否以完全互操作的方式轻松地在这些实现之间移动数据?
今天的答案是肯定的,也是否定的。使用OpenStack Image Service(代号为sketch),我应该能够在一个实现上拍摄图像的快照,并将其移动到另一个实现上。这是一个开放的形式,而不仅仅是开源。在其他情况下,用户可能需要或希望混合部署来跨所有实现和供应商解决方案(专有和基于开源)移动数据。
消费者需要问的问题不仅仅是代码是否开源(我个人认为应该是开源)。更大的问题是,这些解决方案可以互操作吗?如果由于某种原因没有解决方案,即使代码本身是开放的,仍然有被锁定在解决方案中的风险。