这个标题的由来是#devops社区论坛上一篇有趣的文章“infrastructure is code(基础设施是代码)”的变体。我认为这是一个能够时刻提醒我们的好主意,尤其是在技术转型之时。尽管有些人认为这是“秃子头上的虱子”——明摆的事儿,但是显然有一大群人仍然固执的认为所谓的“Storage”指的就是那些闪闪发光的金属机柜。我认为意识的转变越早越好。
事情在变化
在存储行业从业15年之久,我认为我可以凭借经验断定事情正在发生着变化。所以让我们来看看目前的事态…
作为开篇,大多数存储的硬件是基于服务器行业正在普遍使用的标准部件。当然,有一些坚定的“存储迷”试图分析出“这儿有一点”或者“那儿有一点”的特殊芯片元件,但趋势是:部件就是部件,仅此而已。目前,我看到硬件的差异仍然有“表演”的空间,比如结构的更新、更聪明的硬件封装、或者使用最新的芯片制造工艺、甚至仅仅是使用更加可靠的制造工艺。但总体上,我认为这种硬件上的差异表述会越来越少,或者说越来越不重要。而且我们身处于一个激烈竞争的商业环境,绝大多数客户不会接受过时的或者是过高标价的硬件设计。
谈谈存储软件
最基本的,用户希望能够对存储写入数据信息,并在需要时重新获取到这些信息。
你会希望能够用便捷的方式做到这一点,传统上是块数据或者文件,也许可以用新的形式比如“数据对象”,或甚至是图表。这是软件的功能,而不是硬件。
你希望能够在各种不太好的情形下保护好数据信息,例如硬件故障、软件故障、人为误操作,等等。这是软件的功能,而不是硬件。
你希望从你拥有的硬件中“榨取”出每一点每一滴可用的性能和效益:把活跃的数据信息放到高性能介质上、把不活跃的信息放到低成本的介质上去,而且通过压缩和消重把所有的空间都释放和充分利用起来。
更多的软件
如果有多个地方要考虑,你希望尽可能的在合适的时间在合适地方得到合适的数据,不管这么做的目的是为了更好的保护信息、还是增强用户的使用体验、或者任何其它的目的,这些统统都是软件的功能。
这些需求不胜枚举,但是当我们开始讨论这些事儿的时候,最终都归结到软件功能的探讨上面来了。
可以肯定的是,新的硬件层出不穷,像是更快的CPU、闪盘、万兆网连接等等,但却是软件的功能使得这些新硬件发生了作用。
开源的影响力
就像工业标准的硬件部件和结构为高性价比存储打下了基础一样,开源软件成为了高性价比软件功能的基础或者说基准。软件功能的进化仍然有不小的空间,但前提是你必须是在开源软件涉及未深的领域去这么做,相反开源软件会越来越成为企业级软件功能领域的重要的一部分。对这种趋势的抗拒将是徒劳的,而且浪费了宝贵的时间。
将软件和硬件分开
我们通常认为存储的软件和硬件是交织在一起不可分割的,但是当这个行业越来越转向工业标准的硬件部件时,这变成了商业模式的课题,而不仅是技术的课题。
这样的例子比比皆是。
Atmos云存储平台现在可用于VMware的虚机。在任何VMware支持的硬件环境中运行它,你就得到了一个新一代、全功能、面向对象、具有丰 富元数据、策略驱动的云存储环境。某些人可能会争论是用一个专门用途的硬件平台好、还是用通用的硬件平台运行Atmos软件来得到同样的功能好,但这仅仅 是实施方案的选择问题,有选择总是好事儿。
很多人可能知道Avamar客户端消重平台也是同样的运作方式,备份的目标端可以是一个专用的硬件设备——上面运行Avamar软件,或者是将Avamar软件运行在基于通用硬件平台的虚拟机上面,用户可以自行选择。
更进一步,还有许许多多的EMC存储产品将要摆脱硬件平台的桎梏和藩篱,像RecoverPoint、VPLEX、Celerra(VNX)、Centera等等,这张清单会越来越长。
甚至会有更多的开源软件成为选择,例如用于Iomega统一存储平台的EMC LifeLine stack。
那么为何不在一夜之间让这一切都完全变成现实呢?这里有很多的原因,根本的原因是,这很困难。
要使得存储软件在虚拟机的环境中稳定可靠的工作需要额外的工程开发方面的努力。这部分额外的努力必须和其它的投资方向竞争以得到公司的资源投入,其它的投资方向包括增加新的功能,支持新的硬件,亦或是和某些应用环境更加深入和紧密的集成等等。
这一切正在发生,不是一蹴而就的,仍需等待…
时不我待
假设你身处在决定使用什么样的存储的决策位置,你正待决定为企业的某部分运行支持拿出一套解决方案来。
你可能从“为某些应用和用户提供一系列的服务”开始,你评估不同的软件选项,从功能、价格、可靠性、服务支持、易用性、集成、应用编程接口等方面去 考虑,然后将不同的软件功能组合在一起。从最基本的数据类型开始入手(文件、块、数据对象等等),再加上一些复制的功能,可能还有一些自动分层,或者智能 归档之类的东西。你开始测试这些功能、集成、以及管理的界面。这些都在虚拟机的环境中进行。
没有必要再将存储的功能作为纯硬件来考虑了。
当你准备实施的时候,你拥有更多的选择:可以在虚机上运行这些存储软件,或者是采用软硬件一体的专用设备解决方案。
功能第一,实施第二。
更进一步
这种从硬件到软件的转变必然会影响到存储的硬件本身。在低端市场中,一个一体化的设备可以通过增加新的软件功能来达致更新换代。
而在高端市场中,不难想象的是,更大的动态虚拟存储池在资源配置和功能性方面更加灵活和有弹性,就像是服务器的虚拟化今天在做的那样。客观公正的说,这就是VMAX 和VPLEX今天在做的。
实际上我们可以观察到存储软件的功能越来越灵活多样,要么在一体化平台上运行,要么在虚拟机上运行,又或者是在专用于这一功能的硬件平台上运行,可以根据需求的不同而变化与组合。
这将会导致一系列的变化。
总结
VMware的成功和普及使人们把注意力和考虑的重点从服务器转移到了软件功能(software image)上面来,硬件平台还是在那里,仍然需要它来完成它的工作,但是我们对它的看法已经发生了本质改变。