在传统的计算环境中,构建一套IT系统不仅需要购置大量的硬件基础设施,还需要购买软件许可及雇用充足的专业维护人员,并且,当企业规模扩大时需要进一步升级、扩展相应的软硬件设施。然而,就企业自身而言,这些计算机软硬件设施可能并不是企业真正需要的,它们仅是用来提升工作效率的工具而已。企业只需要少量“租金”租用相应的硬件和软件服务来完成它们的需求,这样可以为企业节省许多购买软硬件的资金。如同用户每天用水和用电一样,用户支付少量的资金就获取相应服务,而无须建设基础设施。
云计算的目标是将计算、服务和应用作为一种公共设施提供给用户,使用户能够方便、快捷、低成本地使用各种计算资源。云计算所采用的模式类似于电厂集中供电模式。在云计算环境中,用户自身的计算环境需求十分简单,不需要具备大量的内存、硬盘和应用软件,就可以完成复杂的计算任务。用户通过浏览器给“云”发送指令并接收数据,从而使用云服务供应商所提供的计算、存储和各种应用软件等资源。
在云计算环境中,用户对计算资源的使用观念发生了颠覆性变化,从“购买产品”转变为“购买服务”,即用户可能不再需要购买属于自己的硬件设施,也无须支付机房、设备、供电、空调制冷及人工维护等相关费用,不用再忍受漫长的供货、项目施工周期,仅需要向云服务供应商订购所需的服务,就可以立刻开始自己的工作。
一般意义下,计算模式可以被理解为满足特定用户需求的计算方案,即特定的应用总要对应于某种特定的计算方案,即计算机的特定应用是需要在某种计算模式下来实现的。随着计算机技术的快速发展,新的计算模式不断涌现。自计算机于20世纪40年代诞生以来,主流的计算模式已几经变化,从最初的大型计算机中央计算模式到个人计算机分散计算模式,再到客户端/服务器计算模式和浏览器/服务器计算模式,如今,迎来了具有革命性意义的计算模式变革——云计算。
1.大型计算机中央计算模式
大型计算机中央计算模式是最早出现的计算模式。大型计算机由大型主机和多个用户终端组成,其CPU、内存、外存等计算资源全部集中于大型主机,用户终端是“哑终端”,不需要任何计算资源,仅用于输入接收数据并输出计算结果。大型计算机所采用的中央计算模式具有安全性好、可靠性高、计算和数据存储能力强、系统维护和管理费用低等优点。但其缺点也同样突出,如初始阶段的硬件投资额极高、可移植性差、资源利用效率低等,特别是其高昂的价格令其无法实现大面积的普及应用。
2.个人计算机分散计算模式
从20世纪80年代开始,大规模集成电路技术的快速发展促进了计算机微型化的进程,PC(Personal Computer,个人计算机)开始面世。个人计算机将计算资源固化到了本地终端系统,实现了用户终端与计算资源的合二为一。PC满足了用户的个性化计算需求,使之前由昂贵的大型计算机集中提供的计算能力快速分散到数量巨大且廉价的PC,更为重要的是PC迅速地普及了计算机及相关技术。不同于大型计算机,PC的单机分散计算模式难以实施资源共享及数据的安全管理,也不利于降低维护成本。
3.客户端/服务器(C/S)计算模式
随着局域网及数据库技术的日益成熟,PC的单机分散计算模式逐步向以局域网为中心的应用模式转变。20世纪90年代初,由PC与网络服务器协同计算的解决方案——C/S(客户端/服务器)计算模式应运而生。C/S计算模式是基于局域网的两层计算模式,分为两个组成部分:前端为运行客户端程序的客户机,后端为提供数据库查询及管理、规模计算等服务的服务器。这种计算模式实现了数据存取与客户业务逻辑相分离,即服务器完成数据操作,而客户端执行应用业务逻辑。其优点是:通过客户应用与服务器数据库的彼此隔离能够更有效地保障数据的安全和完整,并充分利用客户端和服务器计算能力不对等的特性构建经济、高效率的分布式应用环境。C/S计算模式的主要问题在于成本的投入及使用管理等方面,它对于规模较小、复杂程度较低的信息系统是合适的,但在开发和配置更大规模的企业应用中存在明显的不足。
4.三层结构的“瘦”客户端/服务器计算模式
随着分布式技术的快速发展,在大型企业的管理系统中产生了三层结构的C/S计算模式,即“痩”客户端/服务器计算模式。其基本思想是,在将数据存取与客户业务逻辑分离的基础上,进一步将客户业务逻辑中的用户界面同企业业务逻辑分离,即将信息系统划分为用户界面、业务逻辑处理、数据操作三个独立部分,并分别由客户端、业务逻辑服务器、数据库服务器进行处理。用户界面层一般不涉及业务逻辑,或仅处理不涉及企业核心信息的应用逻辑,是用户与系统信息交互的窗口。业务逻辑处理层主要实现核心和易变的企业业务逻辑(如规划、运作方式、管理模式等)。数据操作层负责数据库的管理与维护,完成批量数据的更新和检索。这种结构能够显著减轻客户端负担进而降低组网成本;当业务逻辑改变时,仅需要修改或升级第二层的服务器端程序,显著降低了升级与维护的成本,减小了工作量。
5.浏览器/服务器(B/S)计算模式
20世纪90年代末,出现了基于互联网Web应用的三层(或N层)结构的B/S(浏览器/服务器)计算模式。这种结构的最大特点是终端设备无须安装任何专用的应用用户界面,而是统一使用WWW浏览器来实现。其特点是:用户可以在任何地点通过浏览器实施操作,从而摆脱了对应用客户端的依赖;无须开发和安装专门的用户操作界面,减小了系统升级维护的工作量,降低了成本;应用与用户软硬件平台无关,可以跨平台访问;系统管理维护简单、可用性高并易于扩展,支持异构数据库;后台服务器的集中管理模式能够有效实施数据平台保护及访问权限管理。可见,这种B/S计算模式具有分布应用与集中管理、跨平台兼容性、交互性和实时性、协同工作、系统易维护等特点。
6.云计算模式
随着网络存储(Network Storage)、虚拟化(Virtualization)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、网格计算(Grid Computing)、负载均衡(Load Balance)等新兴计算技术的发展成熟,一种新的集中计算模式蓬勃兴起,即“云计算”。通过将互联网上大量的服务器作为一个巨大的抽象计算资源池,云计算以Web服务的形式为用户提供IT基础架构、服务平台、应用软件等不同层次的应用服务。可见,云计算的交付和使用与其他计算模式明显不同,其他计算模式中计算资源所需的专业技术能力和先期基础设施投入,在云计算环境中以计算服务的方式提供给用户,并且当需求变化时,仅需要用户调整其订购项目而已。
作为新兴的计算模式,“云”可以将各种计算资源以计算服务的方式交付给用户,服务可以是各种各样的互联网应用、运行应用的平台及虚拟化的计算和存储资源等,同时还要保证服务或资源的可伸缩性、可用性及安全性等。本节将介绍云计算架构的基本层次结构及各个层次的基本功能。
1.云计算架构的基本层次
在云计算环境中,“云”可以被划分为基础设施云、平台云及应用云。从这种分类方式就可以看出云计算架构的基本层次。基于虚拟化和标准化的思想,云计算架构有机“整合”云中所有的软、硬件资源,并根据用户的需求通过网络将订购的服务交付给用户。如图2-11所示,典型的云计算架构由三个基本层次构成,即基础设施层(Infrastructure)、平台层(Platform)和应用层(Application),通过不同的层次向上提供公有云、私有云和混合云三种类型的服务。
图2-11 典型的云计算架构的基本层次
(1)基础设施层是虚拟化的硬件资源(如计算、存储和网络等资源),以及相关管理功能的集合。通过对这些物理资源进行虚拟化的抽象,并实施自动化的内部流程和资源优化,进而提供动态、灵活的基础设施层服务。
(2)平台层介于基础设施层和应用层之间,是所有可复用的通用软件资源的集合,负责提供开发、运行、管理及监控环境。可以认为平台层是优化了的“云中间件”,其目的是更好地满足应用对于可伸缩性、可用性、安全性等的需求。
(3)应用层是云中所有应用软件的集合,它构建在基础设施层所提供的硬件资源及平台层所提供的环境之上。云应用的类型各异,但是从大的方面可以分为三类:第一类用于满足个人用户的日常生活办公需求,如文档编辑、事务管理、登录认证等;第二类为企业和机构用户提供可定制的解决方案,如财务管理、供应链管理和客户关系管理等;第三类是独立软件开发商或开发团队为了满足某一特定需求而提供的创新型应用,一般搭建在公有云平台之上。
2.云计算的服务层次
在云架构中,不同的层次能够为用户提供不同的服务,进而形成了基础设施即服务、平台即服务、软件即服务等相关概念。
1)基础设施即服务
基础设施即服务的基本含义是:交付给用户的服务是云所提供的基础设施资源,即不需要购买、维护任何硬件资源及相关系统软件,用户就能够在云所提供的基础设施上构建其平台和应用,并且这些资源能够按照用户的需求动态分配。云基础设施不但为用户提供虚拟化的计算、存储和网络资源,还提供安全防护措施,如入侵检测、防火墙等。云基础设施提供的服务偏向于底层,用户可以按需使用,可以灵活地适应用户的动态需要。
2)平台即服务
平台即服务(PaaS)提供给用户的是丰富的“云中间件”资源,包括应用运行时环境、共享服务及自动化管理服务等。其中,应用运行时环境为用户应用提供最基本的应用运行能力;共享服务如共享的数据库服务及消息中间件等服务,为用户应用提供比传统软件更高的灵活性、可用性、安全性等属性;自动化管理服务负责提供快速的部署和配置,以及服务等级协定(SLA)等与管理相关的各项功能。
一般情况下,平台即服务用户分为以下三种。
(1)平台管理员:通过自动化管理服务监测平台状态,保证平台的运行和资源的合理利用,以及进行系统优化等工作。
(2)应用管理员:完成以应用为中心的监控和配置。
(3)应用开发人员:基于平台层所提供的规范及共享服务完成应用开发。
平台即服务的优势如下。
(1)提供的高级编程接口简单易用,开发人员能快速完成开发工作,缩短应用上线时间。
(2)开发和运行基于同一个平台,不存在兼容性问题。
(3)开发者无须考虑应用的可伸缩性、服务容量等问题。
(4)平台层的运营管理功能为开发人员提供了应用的监控和计费功能。
3)软件即服务
软件即服务(SaaS)为用户提供定制化的软件应用,即根据用户需求,以租用的方式将软件或应用提供给用户,其具有以下特征。
(1)用户无须安装软件副本及维护相应硬件资源。
(2)软件以服务的形式交付给用户。
(3)采用多租户技术,虽然服务同时面向多个用户,但是每个用户都感觉独占该服务。
这种服务交付模式无论是在商业上还是在技术上都是一次巨大的变革。用户无须关心软件的安装和升级,也不需要一次性购买软件许可,而是根据租用服务的实际情况付费。对于软件开发者来说,软件相关的所有资源都在云中,因此能够方便地进行软件部署和升级,并且这些操作对用户是透明的。此外,由于无须安装软件副本,软件即服务更有利于知识产权的保护。
Salesforce.com公司是软件即服务概念的积极倡导者,该公司面向企业用户推出了在线客户关系管理软件Salesforce CRM,获得了积极的市场反响。Google(谷歌)推出的Gmail和Google Docs等,也是软件即服务的典型代表。
经虚拟化后的基础设施层计算、存储和网络资源能够以基础设施即服务的方式被用户使用和管理,虽然不同云提供商所提供的服务有所差异,但是作为提供底层基础资源的服务,一般具有以下基本功能。
(1)资源抽象。在搭建基础设施层时,为实现高层次的管理逻辑,必须对各种物理资源进行抽象,即进行硬件资源虚拟化。
(2)资源监控。资源监控是保证高效工作的关键,是优化负载的前提。基础设施层需要针对不同资源实施不同的监控方法,如CPU需要监控其使用率,而内存和存储除需要监控使用率外还需要监控其读/写操作。
(3)负载管理。在基础设施层,如果太多节点资源利用率过低或彼此负载差异过大,则会产生严重的后果。一方面,太多节点负载过低将浪费宝贵的计算资源,因此需要提供自动的负载平衡机制完成负载合并且关闭整合后的闲置资源。另一方面,若资源利用率差异过大,将造成部分节点负载过高,影响其服务性能,而其他节点负载过低,未充分利用资源,此时需要负载平衡机制实施自动的负载转移,使所有资源在整体负载和利用率上趋于平衡。
(4)数据管理。在云计算环境中,数据的完整性、可靠性和可管理性是其基本要求。而现实软件系统的数据类型各异,并且不同基础设施层的功能不同,使得数据管理的实现差异巨大,导致其数据完整性、可靠性和可管理性的实现极富挑战。
(5)资源部署。资源部署是指通过自动化部署流程将资源交付给上层应用的过程,即使基础设施服务变得可用的过程。资源部署方法随构建基础设施层所采用技术的不同而不同,如使用虚拟化技术构建的基础设施层和未使用这些技术的传统物理环境有很大的差别,前者的资源部署更多是虚拟机的部署和配置过程,而后者的资源部署则涉及从操作系统到上层应用整个软件堆栈的所有自动化部署和配置。相较而言,虚拟化的基础设施层的资源部署更易于实现。
(6)安全管理。安全管理的目标是保证基础设施资源被合法地访问和使用。云计算需要提供可靠的安全防护机制以保证云中数据的安全,并提供安全审查机制以保证对云数据的所有操作被授权且可被追踪。
(7)计费管理。云计算按量计费,通过监控上层使用情况,计算某时段应用所消耗的存储、网络、内存等资源,并根据计算结果收费。在具体实施过程中,云计算提供商往往采用某些适当的方式来保证用户业务的顺利完成,同时减少其支付的费用。
在软件的完整生命周期中,开发、运行及维护是其中最关键的环节,虽然已经出现了一些辅助的工具用于提高软件开发速度、完成自动化测试流程或加速版本更新,但是相对于快速动态变化的业务需求仍显不足。在云架构中,平台层负责提供应用的开发、运行及运营环境,同时能够满足其业务的动态需求,按需提供底层资源。平台层的用户一般是独立的软件提供商(Independent Software Vendor,ISV),该提供商通过其专业的开发和运营团队,借助平台层所提供的资源,为最终用户快速、按需地提供服务。云计算平台为应用开发、运行及运营等各个方面带来了变革。
1.开发测试环境
对于其上运行的应用,平台层是该应用的开发平台,因此需要清晰地定义应用模型,提供API代码库及必要的开发测试环境。
首先,应用模型包含应用开发所需的编程语言、元数据模型及打包发布格式。一般情况下,平台层基于对传统应用平台的扩展而构建,因此应用可以使用流行的编程语言进行开发,如Google App Engine目前支持Python和Java这两种编程语言。即使平台层具有特殊的实现架构,开发语言也应该尽量在语法上与现有编程语言相似,从而缩短开发人员的学习时间,如Salesforce.com使用的是自有编程语言Apex,该语言在语法和符号表示上与Java类似。
元数据在应用与平台层之间起着重要的接口作用,例如,平台层在部署应用时需要根据应用的元数据对其进行配置,在应用运行时也会根据元数据中的记录为应用绑定平台层服务。应用的打包格式需要指定应用的源代码、可执行文件、其他不同格式的资源文件应该以何种方式进行组织,以及这些组织好的文件如何整合成一个文件包,从而以统一的方式发布到平台层。
其次,平台层所提供的代码库(SDK)及API对于应用的开发至关重要。代码库为应用提供的统一的服务,如界面组件、消息机制等,基于代码库的应用开发能够减少重复工作,缩短开发周期。在云计算环境中,一个云提供商的平台层代码库可以包含第三方服务,并且这样的组合模式对用户的应用开发过程是透明的。
2.运行时环境
开发测试工作完成后,应用需要部署上线,部署激活是平台层的基本功能。首先,需要将打包好的应用上传到云平台;然后,云平台通过解析元数据信息对其进行配置,其能够正常访问平台服务。平台层不同用户间彼此独立,因此,配置过程需要必要的验证以避免冲突。配置完成后,激活应用进入运行状态。
此外,平台层还需要提供其他高级功能以充分利用其基础设施层所提供的各类资源,因此必须具备三个重要特性,即隔离性、可伸缩性和资源的可复用性。
(1)隔离性具有两个方面的含义,即应用间隔离和用户间隔离。应用间隔离指不同应用之间在运行时不会相互干扰,包括对业务和数据的处理等各个方面。用户间隔离指同一解决方案不同用户之间的相互隔离,比如对不同用户的业务数据相互隔离,或者每个用户都可以对解决方案进行自定义配置而不影响其他用户的配置。
(2)可伸缩性指平台层分配给应用的处理、存储和带宽能够根据工作负载或业务规模的变化而变化,即当工作负载或业务规模增大时,平台层分配给应用的处理能力能够增强;当工作负载或者业务规模下降时,平台层分配给应用的处理能力可以相应减弱。
(3)平台层必须能够容纳众多的应用,因此需要满足应用的扩展性需求,即当业务增加需要更多资源时,平台层能为其分配更多资源,然而,平台层拥有的资源是有限的,需要通过统计复用来高效地利用资源,保证应用在不同负载下可靠运行、按需索取。
3.运营环境
平台层需要对运行的应用进行实时监控。一方面,用户需要实时了解应用的运行状态,如当前的工作负载及是否发生错误或异常等;另一方面,平台层也需要监控所消耗的系统资源。根据监控目的不同,采用的技术也不同。监控应用的运行状态,平台层可直接检测响应时间、吞吐量及工作负载等实时信息,进而判断应用的运行状态,并根据请求的响应时间评估应用的性能。
对于资源消耗的监控,可以通过调用基础设施层服务来查询应用的资源消耗状态,这是因为平台层为应用分配的资源都是通过基础设施层获得的。例如,通过使用基础设施层服务为某应用进行初次存储分配。在运行时,该应用同样通过调用基础设施层服务来存储数据。这样,基础设施层记录了所有与该应用存储相关的细节,供平台层查询。
应用不是一成不变的,市场也会不断变化,新应用会不断涌现,旧应用可能被淘汰。平台层需要提供高效的卸载功能删除某些应用程序,并且合理地处理该应用所产生的业务数据。此外,平台层需要明确应用卸载操作对用户业务和数据的影响,并在必要的情况下与客户签署书面协议,对卸载操作的功能范围和工作方式给出清楚说明,以避免造成业务上的损失和不必要的纠纷。
平台层运行环境还应该具备统计计费功能。这个计费功能包括两个方面:(1)根据应用的资源使用情况,对使用了云平台资源的ISV计费;(2)根据应用的访问情况,帮助ISV对最终用户进行计费。通常,平台层会提供用户注册登录、ID管理等平台层服务,通过整合这些服务,ISV可以便捷地获取最终用户对应用的使用情况,并在这些信息的基础上,加入自己的业务逻辑,对最终用户进行细粒度的计费管理。
应用层是运行在平台层上的所有应用的集合,每个应用对应一个业务需求,实现一组特定的业务逻辑,并提供相应的服务。一般可将应用划分为三类:(1)面向大众的标准应用,如Google的Google Docs、IBM的Lotus Live等;(2)为某领域客户专门开发的应用,如Salesforce CRM;(3)由第三方独立软件开发商所开发的用于满足用户多元化需求的应用,如GifTag等。应用层的主要目标是为用户提供丰富的功能、简化IT流程及简化日常需求的方方面面。
1.应用层特征
应用层是云中所有应用的集合,用户可以通过SaaS的方式获取其中的各种服务,使用云服务时,不需要一次性投入,只需要按照实际的使用情况付费。应用层的应用一般具有三个基本特征:(1)能够通过浏览器访问;(2)具有开放的API;(3)允许用户或“瘦”客户端调用。
用户的需求往往是综合性的,因此云应用之间的整合能力对于提高用户体验至关重要。如果用户所需的功能需要由若干个无法整合的应用程序独立实现,则用户体验和操作效率将难以达到用户的预期。
2.应用层分类
一般来说,用户不关心应用在哪里托管、采用何种技术实现,也不希望在本地安装应用,只关心如何访问所需的应用。根据应用的具体特点,应用可被分为以下几类。
(1)标准应用:如在线文档编辑服务,通过采用多租户技术同时为众多用户提供相互隔离的操作空间,并且所提供的服务是标准的、一致的。可见,标准应用是常用应用的云上版本,除界面上的用户个性化设定外,不具有更深入的自定义功能。
(2)客户应用:指提供丰富的标准功能模块,并允许用户进行深度定制。与标准应用不同,客户应用一般面向企业级用户,需要进行复杂的自定义和二次开发。由此可见,客户应用一般是传统企业IT解决方案的云上版本。
(3)多元应用:一般由独立软件开发商或开发团队在公有云平台上搭建,是用于满足用户某类特定需求的创新型应用。不同于标准应用用于满足大众用户的日常普遍需求,多元应用主要用于满足特定用户的多元化需求。
公有云平台的出现推动了互联网应用的创新和发展。这些平台降低了云应用的开发、运营、维护成本。从基础设施到必备软件,从应用的可伸缩性到运行时的服务质量保障,这一切都由云平台来处理。对于云应用提供商,尤其是多元应用提供商来说,一款云应用的诞生甚至可以实现零初始投入的目标,唯一需要的是富有创意的点子和敏捷而简单的开发。
1.物联网与云计算的关系
物联网与云计算都是基于互联网的,即互联网是实现彼此互联的纽带,并且从物联网的结构来看,云计算将成为其重要环节,二者的结合必将促进资源共享、业务快速部署、人机物交互业务扩展、信息价值深度挖掘等各个方面的快速发展,进而带动整个产业链和价值链的升级与跃进。
物联网的日益发展,势必产生海量数据,传统的硬件架构服务器很难满足数据管理和处理的要求。如果将云计算结合到物联网的传输层与应用层,即构建采用云计算的物联网,则可以大幅度地提高运行效率。一方面,物联网实现了物物相连及终端与终端相连;另一方面,云计算能够为连接到云上的设备终端提供强大的运算处理能力,以降低终端自身的复杂性。二者都是为满足人们日益增长的需求而诞生的。可见,云计算将成为物联网的智能核心,通过云计算能够使物联网中海量“物”的实时动态管理、智能分析变得可能;物联网通过将射频识别技术、传感器技术、纳米技术等新技术充分运用在各行各业中,实现“物”的充分连接,并将采集到的实时动态信息发往处理中心进行汇总、分析和处理。
2.云计算与物联网结合的模式
云计算的IaaS模式、PaaS模式及SaaS模式同样可以在物联网应用中充分地发挥作用。
1)IaaS模式在物联网中的应用
随着物联网的规模化发展,其物理资源层与云计算相结合是必然的趋势。一方面,部分行业应用,如智能电网、地震监测网等,规模化的终端数量对物理资源提出了很高的需求;另一方面,接入海量的终端所采集的数据也是海量的。无论是横向的通用支撑平台,还是纵向的特定物联网应用平台,都可以在IaaS技术虚拟化的基础上实现物理资源的共享及业务处理能力的动态弹性扩展,可见IaaS技术为海量终端的接入和数据处理提供了有效的解决途径。同时,IaaS能够为内部异构的物理资源环境及资源的定制、出让和高效利用提供统一的界面,利于实现物联网应用软硬件系统之间的松耦合。目前,国内与物联网相关的云计算中心、云计算平台的切入点主要集中在IaaS模式的应用。
2)SaaS 模式在物联网中的应用
SaaS模式实现的仍然是物联网应用提供服务被多个客户共享使用,这为各类行业应用资源和信息共享提供了有效途径,也为高效利用基础设施资源、实现高性价比的海量数据处理提供了可能。在物联网范畴内,出现的一些变化是SaaS应用在感知延伸层进行了拓展,依赖感知延伸层的各种信息采集设备,采集了大量的数据,并以这些数据为基础,进行关联分析和处理,向最终用户提供最终的业务功能和服务。在ITU-TY.2221中提及的USN Weather Information Service(USN气象信息服务)是一个类似的案例。在这个案例中,多个传感网服务提供商(USNSP)在不同地域布放传感节点,提供各个地域的气象环境基础信息。其他提供综合服务的USNSP可以将多个这样的USNSP提供的信息聚合起来,开放给公众,为公众提供出行指南。同时,这些信息也被送到政府的监控中心,一旦有突发的气象事件,政府的公共服务机构就可以迅速展开行动。
3)PaaS模式在物联网中的应用
PaaS分为两类:为应用提供运行环境和数据存储的APaaS(Application Platform as a Service),以及集成和构建复合应用的IPaaS(Integration Platform as a Service)。目前,PaaS平台大部分都是指APaaS,如Force.com和Google App Engine等。在物联网领域,由于其构建目标不同,PaaS模式的具体实现存在不同的应用模式和方向。此外,电信运营商正致力于网络与IT应用的结合以达成“能力开放”,即将网络能力标准化,以统一的接口开放给IT应用,这也是PaaS的一种应用模式。
3.云计算在物联网应用中的问题
1)标准化问题
云计算基于不同的技术、面向不同的应用,平台不同则可能导致无法互通。同样,物联网之间也存在同样的问题。标准是对某一技术的统一规范,云计算和物联网都是由多设备、多网络、多应用互相融合构成的复杂网络系统,因此需要提供统一的接口、通信协议等标准,这将是其共同发展和进一步广泛应用的关键。但是,二者也存在明显的区别,物联网是指“把所有物品通过射频识别等信息传感设备与互联网连接起来,以实现智能化的识别和管理”,而“云计算”则强调“利用互联网的分布性等特点进行计算和存储”。可见,前者是对互联网的进一步拓展,后者则是一种网络应用模式。
从另一方面来看,物联网需要完成大量的快速运算,云计算高效率的运算模式能够为其提供坚实的基础。因此,缺少云计算的支撑,物联网无法顺利实现,而物联网的发展又能够促进云计算技术自身的进一步发展,即两者深度融合、彼此促进。
2)安全问题
(1)感知层安全威胁。感知层中的节点硬件结构简单,存储和计算能力较弱,因此传统保密技术难以直接应用,容易受到各种攻击,如节点控制、节点捕获、拒绝服务及认证攻击等。
(2)网络层安全威胁。网络的异构性可能导致跨网认证攻击(如中间人攻击)等安全威胁。此外,网络规模性增长及信息的分布式处理方式导致其容易遭受拒绝服务攻击、路由攻击等威胁。
(3)应用层安全威胁。应用层安全威胁主要包括两方面的安全威胁:终端用户的认证过程及云计算平台自身的安全威胁。
云计算平台的服务无处不在、无时不在,因此必须具备高可靠性保证服务不中断,并且具备抵抗外来攻击的能力,可避免系统崩溃。物联网终端用户数据上传到“云”中之后,随机存储在云计算平台的服务器上,而服务器分布在世界各地,终端用户无法知道具体的存储位置,因此,云计算平台必须保证数据存储的安全性。此外,云计算平台通过虚拟化技术实现资源共享,多个虚拟机可能被绑定到同一个物理资源上,如果无法实现用户数据的有效隔离,数据则可能被非法访问。