万物皆可互联 一切均可编程

2020-12-28 07:00梅宏
中国信息化周报 2020年46期
关键词:网络化虚拟化定义

软件定义的本质是把原先一体化的硬件设施打破,将基础硬件虚拟化并提供标准化的基本功能,然后通过管控软件,控制其基本功能,提供更开放、灵活、智能的管控服务。

无处不在的软件

某种意义上来说,我们这个时代就是一个软件定义的时代。回顾过去计算机软件发展,大概分为三个阶段。第一个是1946年到1975年中期,是软硬一体化阶段。第二个是1975年以后,软件产品化、产业化阶段;第三个是1995年以后,软件的网络化、服务化阶段。

在软硬一体化阶段,也就是计算机刚出现的时候,是没有软件的,都是以程序实现的,大体上展现方式的是机器语言、汇编语言。早期应用领域以破解密码,军事领域的计算为主。上世纪60年代初期,开始出现“软件”一词,融合程序和文档为一体,作为独立的形态从硬件分离出来,以IBM 360系列机为代表(尽管还是和硬件捆绑一起销售),也逐渐形成了计算机学科和程序员行业。它的展性形式是高级程序语言+文档,应用领域主要是商业计算和其他科学计算领域。

软件产品化、产业化阶段,以Microsoft和Oracle的出现,标志着软件开始成为一个独立产业。PC的广泛应用和软件产品化催生了人类历史上信息化的第一波浪潮,其主要特征即以单机应用为特征的数字化阶段。紧接着就出现了办公软件,彻底改变了人类传统的办公行为,微软office迄今依然是微软标志性产品之一。上世纪90年代中期开始,软件进入网络化,服务化阶段。互联网推动了软件从单机向网络计算环境的延伸,带来了信息化的第二波浪潮,其基本特征是以联网应用为特征的网络化阶段。

做软件的人总希望把互联网作为平台来研究软件。软件的形式也因互联网发生变化,从传统的拷贝行为变为软件服务。后期移动互联网的产生,促成APP的诞生,整个软件模式都发生了变化。应用领域已经渗透到社会经济生活中的方方面面。

互联网环境下软件的新特性和新特征

网构软件指的是面向互联网计算的软件新范型。这些新范型是什么,总结有几个性质,实体的自主性,实体对环境的情景感知,实体之间的自主协同,实体的在线演化,以及可信性需求。简单来说,软件呈现网络化体系结构,基于网络进行开发,通过网络交付分发并提供服务,这就是软件的服务化。

软件和硬件相比,同样都作为功能性产品,但软件这种工具和互联网结合就能够实现一种真正的服务化。紧接着移动互联网的产生,又产生了一种新的模式,这就是APP。苹果商店拥有多300万+个APP,累计下载量超过1500亿次。这创造了一种新的模式,客户端要和服务器端合起来完成一件任务,他也是一种拷贝,不过是一种新的拷贝方式。互联网深刻改变了人类社会和生活模式,而互联网的核心价值是连接,软件是实现互联网核心价值的重要使能技术。硬件连接虽然很重要,但最终的灵活连接还要靠软件。

软件定义的时代

互联网及其延伸,正推动我们走向一个新模式,即人机物融合。信息技术的网络化、泛在化、智能化趋势蕴含了人机物和谐发展的愿景。

随着科技的发展,在人机物融合环境下的信息基础设施是海量的资源,且需求形态多样。因此,人机物融合需要新的平台环境。如何凝练应用共性,如何有效管理资源是对这个平台的基本要求。在这样的平台之下,由于应用需求变化频繁和应用场景动态多变,这个平台能否实现按需灵活定制?

软件定义的真正落地,还于云计算平台里面的应用。2011年前后,OpenFlow被用于云计算平台中进行网络管理,并被广泛接受。在2015年的时候,Gartner战略报告首次出现SDN(软件定义),SDN重新“定义”了传统的网络架构甚至通信产业。

软件定义网络的技术原理是通过一组API对网络设备进行任意的编程从而实现新型的网络协议、拓扑架构而不需改动网络设备本身。

计算机操作系统是什么?是管理硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统软件,即向上提供公共服务,向下管理资源。从操作系统视角来看软件定义,操作系统是软件定义的“计算机”;从软件研究者的视角,操作系统体现了“软件定义”之集大成。

在我的理解看来,软件定义的技术本质就是把过去的一体化硬件设施打破,基础硬件及其虚拟化提供标准化的基本功能,然后通过管控软件控制基本功能,提供更开放、灵活、智能的管控服务。

软件定义的技术本质:硬件资源虚拟化,管理功能可编程。硬件资源抽象为虚拟资源,然后用系统软件对虚拟资源管理和调度。就是在硬件资源虚拟化的基础上,用户可编写应用程序,满足访问资源的多样性的需求。

大家现在可以看到软件定义出现了各种各样的延伸,软件定义的存储,软件定义的计算,软件定义的环境,软件定义的数据中心等。但所有架构都跳不出操作系统的三层架构,就是说软件平台的三层架构,这些SDX均符合“硬件资源虚拟化”与“管理任务可编程”的技术原理。

软件定义带来的机遇和挑战是什么

目前,我们可以看到的机遇就是软件定义一切。定义一切,人-机-物互联是我们追求的目标。我们是不是最终能做到万物皆可互联,一切均可编程呢?这就是软件定义给未来世界达成的目标,也就是我们的机遇所在。随着人、机、物的融合,软件定义的挑战可以分为这几个方面:体系结构设计决策、系统质量、系统安全、更轻量的虚拟化、从原有系统到软件定义系统平滑过渡高度自适应智能软件平台。

体系结构设计决策,包括比如如何确定受管元素的合理“粒度”和“层次”?如何界定软、硬件的功能划分并组装、配置相应元素等。

系统的质量需要解决的问题有如何合理平衡管理灵活性和“虚拟化”后的性能损耗(与直接访问原系统相比),如何降低“软件实现”的复杂性和故障率,如何有效定位故障以保障可靠等。

系统安全,对硬件资源管理可编程带来开放性、灵活性的同時,也可能会带来更多的安全隐患。对于工业控制等安全重点领域来说,可能会带来难以难以估量的损失。

更轻量的虚拟化。大量的新设备产生,虚拟化实现了对硬件资源的软化,是软件定义的基础技术,现有以虚拟机为单位的技术过于重载,难以满足性能和实时性要求。原有系统到软件定义系统平滑过渡。如何将原有系统平滑过渡到软件定义系统?通过对已有的资源进行大幅度的改造,我们需要安装新的硬件,需要做新的软件管理系统,以及面临的人力、时间、经济、风控等因素。这个平滑过渡也需要合理的方案,否则很难达成。

高度自适应软件平台。从软件人追求的目标来看,我们想追求一种更为高度自适应的智能软件平台。现在平台方式是以硬件资源为中心的,如果基础设施层发生变化,软件平台就要发生改变,改完之后,上面的应用也可能发生改变。我们追求的理想方式是,软件平台具有预测和管理未来硬件资源变化的能力。

(本文根据中国工程院梅宏院士公开演讲整理而成,未经本人确认。)

猜你喜欢
网络化虚拟化定义
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在计算机技术创造中的应用
当代新闻学的网络化发展
成功的定义
存储虚拟化还有优势吗?
基于OPC的网络化群梯管理系统开发
网络化时代社会认同的深刻变迁
我国食品安全网络化治理的思考
修辞学的重大定义