从理论上来说,软件定义一切绝对是靠谱的。然而从时间角度来看如那件定义呢?
软件定义网络(SDN),软件定义存储(SDS),软件定义计算(SDC),软件定义数据中心(SDDC),我们传统意义上的基础设施几乎都被打上了软件定义的标签。供应商希望突破硬件的界限,从而打造一个更加动态且包含更多软件功能的平台。
站在理论层面上,“软件定义一切”就是要将特定的硬件与软件进行解耦,这种方法是可行的且收益明显。
一个基础硬件平台可以是通用的产品,通过虚拟化和云计算技术将实际的运营平台从硬件中抽象出来。然后,通过软件将平台的功能剥离,这些功能需要响应技术与业务市场的需求,因此我们只需要修改软件就能实现这个目的。也就是说,我们不再需要进行“笨重”的硬件升级。
当然,理论与实践总是会有所差距。软件定义并没有看上去那么简单,它只是解决问题的方法之一,并不是全部。技术仍然在滚滚向前,今天的服务器性能永远会被后来者所超越;存储密度和速度也会不断地改善;网络功能提升,包括带宽以及运行介质(比如光纤网络的普及)仍将需要硬件的升级才能够实现。然而通过软件定义方法,你可以更轻松地将软件从遗留系统转移到新的硬件平台。
与从前相比,现在软件在整体平台的运作过程中将发挥更加重要的作用。传统的系统管理框架也许会走向灭亡,要获得一个复杂异构IT平台的整体视图需要一整套软件来实现。而且不光是在管理方面,这个平台所提供的实际功能也非常重要,因此我们将看到越来越多的平台会被软件所定义。
软件只是组成部分之一
我们来看看市场上***个软件定义——SDN(软件定义网络)。开放网络基金会(ONF)最初试图把SDN作为转向商品化的一种手段,把通过OpenFlow在软件层面上做的所有事转移到网络去。然而,服务供应商们发现,把这么多来自数据平台的数据包迁移到基于软件的管理和控制中会给系统带来太多延时。所以,为了最小化延迟,他们把网络功能虚拟化(NFV)作为了整合功能的并行系统。
像思科公司(已收购 Insieme Networks公司)和瞻博网络(已收购Contrail公司)决定采用更综合的方法来更加直接地满足客户的需求。一些功能是通过软件来处理的,而另外一些功能是智能内嵌在网络本身内部的,它们是通过内部的网络操作系统(思科的IOS和Juniper的Junos)、应用专用的集成电路(ASIC)和现场可编程门阵列(FPGA)实现的。
新组合试验
这种做法在别的地方也有所应用。远离商品化的服务器层,我们可以看到更多标准化的API,它们都是针对异构环境链接整合而定义的。各种不同性能处理器的混合使用,再加上Intel x86 CPU一起使用的现象变得更加普遍了。例如,IBM的Power芯片和低功率ARM处理器,加上来自Nvidia的GPU和像来自Azul系统的那些无负荷服务器,这种组合应用的情况正变得越来越普遍。
来自IBM、Dell、HP、Fujitsu和其它公司的融合系统将会把智能内建于系统本身。一些融合系统的智能是由软件提供的;然而,其中有很多可以追踪到系统的工程和专有技术内部的智能。融合系统中的专用方法不算是问题,只要它不影响管理和升级的成本就好。
虽然许多功能都被抽象到了软件中,但仍然有一些重要的部分需要硬件智能来实现,这部分是与软件协同工作的。
为***融合而生
在存储方面也是类似情况。从传统磁盘向基于闪存的系统做迁移会给现有存储管理软件带来巨大的压力,更多供应商都意识到了存储、网络和服务器之间的相互协作才是最主要的问题。
例如,部署一套完全基于闪存的存储阵列可能不会给性能带来期望的理想提升,因为网络不能处理闪存存储阵列产生的IOPS。如果我们修改网络以适应需要的IOPS,又会导致服务器处理能力不足,会超过CPU能处理的数据量。
EMC打算通过其VIPR技术来解决这个问题,作为EMC联邦公司(包括EMC II,VMware和Pivotal,还有RSA和VCE)的一大支柱,ViPR是整个SDDC方法的一部分,SDDC方法的目的是确保硬件平台的所有组成部分都能在***化的层次上被管理。然而,大部分智能仍然位于EMC存储阵列中,VMware管理程序和VCE的VBlocks并不是纯软件实现的。
像Pure Storage、Nimble和Violin Memory这些新时代的存储供应商已经意识到未来不只是在于阵列,而且还有围绕阵列的智能和软件功能。在这些供应商之间的大战将会持续进行,他们都在为了明天的IT平台在拼软件,给客户提供从物理环境转向虚拟环境的智能功能。
选择正确的时机
工作负载成了大问题。在异构IT平台中,包含有不同的功率的CPU,不同的云环境和网络技术,要确保合适的负载由合适的平台在合适的时机承担是一个很大的挑战。
IBM在zEnterprise系统中就采用了负载管理器来解决这个问题,不过其它厂商也表示可以用高度动态化的资源池以更自动化的形式来管理负载。
其它想在软件定义世界中占有更大空间的公司还包括一些老牌系统管理公司,比如CA和BMC。物理IT平台写在墙上的倒计时日所剩无多了,这两家公司都在快速开发基于软件的工具整合,它们可以与私有云、公众云和混合云这些抽象平台协作以优化性能。从硬件的角度来看,CA和BMC也不是别有用心,他们在研究的绝对不只是纯粹的软件方向,但是需要确保他们可以实现主要竞争者们已经实现的基于硬件的智能。
加大压力
随着硬件和软件平台变得越来越复杂,把它作为单独实体并相应单独管理也变得很重要了。
这里,期望看到数据中心基础设施管理(DCIM)的供应商们变得更加直言不讳了。像Nlyte、FutureFacilities、施耐德和艾默生这些公司都有软件,而且这些软件的发展水平直追IBM、CA和BMC。在DCIM和“系统管理”之间尽管有些软件看起来是配角,但是DCIM供应商提供的整合面板明显在市场上占重要角色。
软件定义方法的另一个领域是对DevOps世界产生了很大影响。DevOps有效工作的唯一方式是通过高度自动化和基于软件的方法实现的。像Serena软件、IBM和BMC这些公司都提供了软件产品使DevOps工作更好。Delphix提供了软件定义虚拟数据的一种方法,DevOps开发者们和测试者们可以利用这种方法针对近乎实时的数据进行开发测试,而不会影响运营环境。
空言不如实证
那么,我们将何去何从呢?纯粹的软件定义世界,还是基于商品化的硬件,看起来都不会单独存在和发生。一定是个混合的世界:一些功能通过软件实现,而另一些智能功能通过底层硬件实现。这种结果出现的可能性更大。
从IT采购方的角度来看,要确保在开放(但是优化放在其次)和专用方法(但是依赖紧密)之间的夹缝中前行。要确保你部署的内容支持新技术和新供应商,但是也要满足企业在性能和灵活性方面的需求。系统抽象功能有效性很重要,但是利用供应商的API才能挖掘到***层的功能,也会效果***。
“软件定义”仍然是很重要的,但是“软件定义一切”可能还为时尚早。