1.4 云计算

云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用于表示互联网和底层基础设施的抽象。

对云计算的定义有多种说法。国内较为广泛接受的定义是著云台给出的:“云计算是通过网络提供可伸缩的廉价的分布式计算能力”。

1.云计算影响

(1)软件开发的影响

云计算环境下,软件技术、架构将发生显著变化。首先,所开发的软件必须与云相适应,能够与虚拟化为核心的云平台有机结合,适应运算能力、存储能力的动态变化;二是要能够满足大量用户的使用,包括数据存储结构、处理能力;三是要互联网化,基于互联网提供软件的应用;四是安全性要求更高,可以抗攻击,并能保护私有信息;五是可工作于移动终端、手机、网络计算机等各种环境。

云计算环境下,软件开发的环境、工作模式也将发生变化。虽然,传统的软件工程理论不会发生根本性的变革,但基于云平台的开发工具、开发环境、开发平台将为敏捷开发、项目组内协同、异地开发等带来便利。软件开发项目组内可以利用云平台,实现在线开发,并通过云计算实现知识积累、软件复用。

云计算环境下,软件产品的最终表现形式更为丰富多样。在云平台上,软件可以是一种服务,如SAAS,也可以就是一个Web Services,也可能是可以在线下载的应用,如苹果的在线商店中的应用软件等。

(2)对软件测试的影响

在云计算环境下,由于软件开发工作的变化,也必然对软件测试带来影响和变化。

软件技术、架构发生变化,要求软件测试的关注点也应做出相对应的调整。软件测试在关注传统的软件质量的同时,还应该关注云计算环境所提出的新的质量要求,如软件动态适应能力、大量用户支持能力、安全性、多平台兼容性等。

云计算环境下,软件开发工具、环境、工作模式发生了转变,也就要求软件测试的工具、环境、工作模式也应发生相应的转变。软件测试工具也应工作于云平台之上,测试工具的使用也应该通过云平台来进行,而不再是传统的本地方式;软件测试的环境也可移植到云平台上,通过云构建测试环境;软件测试也应该可以通过云实现协同、知识共享、测试复用。

软件产品表现形式的变化,要求软件测试可以对不同形式的产品进行测试,如Web Services的测试,互联网应用的测试,移动智能终端内软件的测试等。

2.云计算应用

(1)云物联

“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。

随着物联网业务量的增加,对数据存储和计算量的需求将带来对“云计算”能力的要求。

a.云计算从计算中心到数据中心在物联网的初级阶段,PoP即可满足需求。

b.在物联网高级阶段,可能出现MVNO/MMO营运商(国外已存在多年),需要虚拟化云计算技术,SOA等技术的结合实现互联网的泛在服务:TaaS(everyTHING As A Service)。

(2)云安全

云安全(Cloud Security)是一个从“云计算”演变而来的新名词。云安全的策略构想是:使用者越多,每个使用者就越安全,因为如此庞大的用户群,足以覆盖互联网的每个角落,只要某个网站被挂马或某个新木马病毒出现,就会立刻被截获。

“云安全”通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。

(3)云存储

云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。

(4)云游戏

云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。就现今来说,云游戏还并没有成为家用机和掌机界的联网模式,因为至今X360仍然在使用LIVE,PS是PS Network,Wii是Wi-Fi。但是几年后或十几年后,云计算取代这些成为其网络发展的终极方向的可能性非常大。如果这种构想能够成为现实,那么主机厂商将变成网络运营商,它们不需要不断投入巨额的新主机研发费用,而只需要拿这笔钱中的很小一部分去升级自己的服务器就行了,但是达到的效果却是相差无几的。对于用户来说,他们可以省下购买主机的开支,但是得到的确是顶尖的游戏画面(当然对于视频输出方面的硬件必须过硬)。你可以想象一台掌机和一台家用机拥有同样的画面,家用机和我们今天用的机顶盒一样简单,甚至家用机可以取代电视的机顶盒而成为次时代的电视收看方式。

(5)云计算与大数据

从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式计算架构。它的特色在于对海量数据的挖掘,但它必须依托云计算的分布式处理、分布式数据库、云存储和虚拟化技术,如图1-4-1所示。

图1-4-1 云计算数据分布图

云计算的普及和应用,还有很长的道路,社会认可、人们习惯、技术能力,甚至是社会管理制度等都应做出相应的改变,方能使云计算真正普及。但无论怎样,基于互联网的应用将会逐渐渗透到每个人的生活中,对我们的服务、生活都会带来深远的影响。要应对这种变化,我们也很有必要讨论我们业务未来的发展模式,确定我们努力的方向。