软件正在吞噬整个世界。无论是计算、网络、存储,还是其他传统基础架构,都在软件定义时代面临威胁。简而言之,软件定义就是通过虚拟化将软硬件分离,把服务器、存储、网络计算资源池化,最终实现这些虚拟化资源的按需交付。在向SDDC(软件定义数据中心)迈进的过程中,通过底层可编程标准,使得SDN、SDI、SDS等衍生技术都有了自己的发展路径,在各自领域的架构优化时起到了重要作用,甚至是软件定义内存(SDM)。
软件定义颠覆传统数据中心
软件定义颠覆传统数据中心
软件定义的概念最早可以追溯到90年代,起初是为了推动网络数据传输的效率,在硬件设备通路上进行编程实现动态网络。不过,由于通用硬件底层与上层编程环境的资源没有有效协调,也只能感叹“生不逢时”。直到10年前虚拟化技术出现,才借助软件和硬件分离的方法初步解决了难题。与传统架构相比,软件定义可以将数据和控制分离,软件负责管理、控制和调度硬件资源,硬件负责运算和执行。
需要注意的是,软件定义的转换过程并非一步到位,是软硬件解耦后将可操控部分通过编程接口或其他形式,结合前端应用的需求,分阶段实现对各类资源的调用。这种可编程的过程,类似对智能家居的控制,将传统一体化硬件“打散”,建立虚拟化、API层,借助控制软件进行调度和管理。顾名思义,本质上就是软件驱动硬件资源。
软件定义之所以能成为潮流,一方面是得益于其自身优势,不仅研发创新的速度加快了,价格成本也比硬件便宜不少,对数据中心性能、节能、扩容的升级应变灵活,而且现在基础设施也引入了智能化。同时,开源软件也为软件定义提供了更多可能性,厂商做系统时有了新选择。另一方面,摩尔定律为硬件性能带来的增强也为软件定义奠定了基础,可以通过虚拟化计算资源完成更复杂的任务。
前文提到了不少软件定义,包括SDN(软件定义网络)、SDS(软件定义存储)、SDI(软件定义基础设施)、SDDC(软件定义数据中心),这里简单介绍一下:
SDI旨在让开放架构数据中心的IT资源“动起来”,推动管理模式向自动化转型,为客户提供动态感知工作负载、数据资源的环境,使得应用负载在本地或混合云中选择最优环境运行。本质上说,SDI就是消除可变的复杂度,通过对物理和虚拟基础设施资源进行动态、开放的控制,从而满足应用、IT和业务用户的需求。
SDN是通过分离网络设备的控制面与数据面,将网络能力抽象为应用程序接口(API)提供给应用层,构建开放可编程的网络环境。通过对底层的网络资源虚拟化,实现对网络的集中控制和管理。SDN将网络设备控制能力集中至中央控制节点,搭载网络操作系统,以软件驱动网络控制和业务配置的自动化灵活部署。
对于SDS来说,多云平台的适用性让操作便捷化,无论是内置磁盘、闪存,亦或是外部存储,均可打包起来连带管理。同时,智能化流程也能够自适应工作负载,降低了人力成本。借助自动分层技术,不同存储系统和虚拟机产品可以迅速迁移至存储层,“就地”进行优化。从某种程度上来说,SDS为传统存储方案带来了新的可能,而非一棒子打死,数据中心或许可以在“无视”硬件基础设施的情况下实现自动化。只要是经过预先配置的服务和工具,经过测试后可以立即投入使用。
SDDC可谓软件定义的终极目标,简单来说就是虚拟化、软件化数据中心的一切资源,包括服务器、存储、网络等。通过虚拟化构建由虚拟资源组成的资源池,用户可以将这些资源横向扩展为内存池、存储池、计算池、网络池…再把其拓展为一个个小型虚拟数据中心,使得资源利用率提升。
可以说,软件定义打破了传统以硬件为核心的框架,带来了灵活性和可扩展性。不过,软件定义也离不开硬件的性能支持,二者相辅相成。从SDN到SDS,再到SDDC,软件定义“再造”了传统IT架构,甚至解决了一些虚拟化手段难以应付的问题。更重要的是,软件定义的颠覆不止局限于架构层面,还挖掘了新型的商业模式和相应的创业公司,其中就包括软件信息技术的发展。
不仅是SDS,其实内存同样面临着软件定义的趋势,尤其是存储和内存逐渐融合部署之后。美光推出的全闪存NVDIMM(非易失性双内存模块)让系统内存变得复杂,需要兼顾内存速度和数据中心存储架构的持久度。从一定程度上来说,NVDIMM与SSD的互补性增强了。举个例子,新型的NVDIMM完全有能力支持大容量的DRAM和内存,用户在系统运行时可以将数据从闪存转到DRAM中,亦可以在任务结束时让DRAM的数据返回闪存。
既然涉及到存储架构的可持续性和可移植性,那么内存就有理由与存储协作,通过软件工具在硬件之间进行数据交互,也就是上文所说的DRAM、DIMM、SSD之间的数据迁移,这种概念也被认为是SDM(软件定义内存)。尽管当前SDM的话语权还掌握在英特尔这种上游厂商手中,但随着内存性能、压缩技术、开发工具等配套服务逐步升级,SDM迟早会出现在更多厂商的产品路线图上。有一些专预测,融合内存和SSD存储池的新型集群可能会在明年亮相。
借助软件工具,内存和闪存可以形成共享资源池,而NVDIMM-N有时也可以拿来当做DRAM使用,以获得快速的读写速度。诚然,SDM在数据中心虚拟化的过程中仍扮演着“新人”角色,有不少问题待解决,例如DIMM的性能瓶颈,或是介于NAND与DRAM之间的速率提升难度。但在长期来看,随着基础架构的改进、软件工具的完善,以及虚拟化技术的增强,SDM将很可能在软件定义时代占有一席之地。
本文转自d1net(转载)