最近两三年,IT圈除了云计算、大数据、人工智能之外,最火的就属“软件定义”了,先是有软件定义网络 (SDN),继而有软件定义数据中心(SDDC)和软件定义存储(SDS)。后来还陆续出现了软件定义基础架构 (SDI),软件定义一切(SDx)。
那么,到底什么是软件定义呢?软件是相对于硬件而言,在出现这个词汇之前,我们购买的IT或智能设备,又是什么定义的呢?里面没有软件吗?
当然,里面也有软件,但相对固化,不提供或者提供非常少的接口,缺乏灵活性。以空调为例,很早以前的空调,通过遥控器,我们只能选择温度,或者开关;后来出现了更多的选择,如风速、风向等的设定。到了智能家居的时代,通过向应用软件开放空调的编程接口,智能家居服务商帮助我们达到,能在回家之前,就借助手机或者平板,开启并设置空调了。
我们知道软件是用户与硬件之间的接口界面。用户主要是通过软件与硬件进行交流。早期为了大规模制造,降低制造的复杂度和成本。许多功能都固化在硬件里,我们可以称之为硬件定义。随着人民日益增长的多样化、个性化定制的需求,以及更加智能、更加灵活所需的自动化的需求,软件定义的需求将越来越多、越来越广。
软件定义其实是一个过程,不是一蹴而就的目标,它分成不同阶段。软件定义就是要将特定的硬件与软件进行解耦,将硬件的可操控成分按需求,分阶段的,通过编程接口或者以服务的方式逐步暴露给前端应用,分阶段地满足应用对资源的不同程度、不同方面的灵活调用。
那么,什么是软件定义存储呢?
在IT基础架构领域的软件定义,最早出现的是:软件定义网络(SDN)。SDN起源于2006年斯坦福大学的Clean Slate研究课题。2009年,Mckeown教授正式提出了SDN概念。通过将网络设备的控制平面与数据平面分离开来,并实现可编程化控制,实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
2012年,VMware在其vForum大会上首次提出软件定义数据中心(SDDC)的概念。作为VMware软件定义数据中心五大组成部分(计算、存储、网络、管理和安全)之一,软件定义存储(SDS)的概念也首次被提出。
EMC公司在当年的EMC World发布大会上也发布了SDS战略,引发了业界对SDS的大讨论,SDS迅速成为存储业界的研究热点。
不过,时至今日,SDS的定义并没有统一的标准,各家权威咨询机构,各大厂商等,都对这一概念有着不同的解释或描述。下面我们列出主要的机构和厂商对SDS的描述,看看有何共性和差异。