admin 管理员组文章数量: 887021
文章目录
前言
第一篇 基础篇
一 绪论
1.1 云计算的概念以及特征
1.1.1云计算的基本概念
1.1.2云计算的基本特征
1.2 云计算发展简史
1.3 三种业务模式介绍
1. 基础设施即服务(IaaS)
2. 平台即服务(PaaS)
3. 软件即服务(SaaS)
1.4 云计算的未来发展方向
1.5云计算的适用条件
1.5.1云计算的优势和带来的变革
1.5.2云计算技术的优点
1.5.3云计算技术的缺点
二 云计算架构及其标准化
2.1云计算架构以及阿里云和Node.js介绍
2.1.1云计算基础架构
2.1.2阿里云和 Node .js
2.2 云计算标准体系
第二篇 技术篇
三 云存储
3.1 云存储概念
3.2 云存储技术简介
3.2.1 云存储的结构模型
3.2.2云存储技术的两种架构
3.2.3云存储的种类及适合的应用
3.3云存储技术的应用及其面临的问题
3.3.1云存储的应用领域
3.3.2云存储技术面临的问题
3.3.3云存储安全问题
四 云服务
4.1 云服务的优缺点
4.1.1 云服务的优点
4.1.2 云服务的缺点
4.2云服务的类型
4.2.1 SaaS
4.2.2PaaS
4.2.3laaS
4.3 云部署模型
五 虚拟化
5.1 虚拟化的意义
5.2 虚拟化的架构
5.3 云桌面
5.3.1虚拟桌面架构
5.4 网络虚拟化
5.5网络设备的虚拟化
六 云安全
6.1 信息安全
6.2数据安全
6.3 虚拟化安全
前言
本文主要介绍云计算的起源、架构、原理、技术等等方面的总结。
第一篇 基础篇
一 绪论
1.1 云计算的概念以及特征
1.1.1云计算的基本概念
云计算的基本概念( CloudComputing )是在分布式计算( DistributedComputing )、并行计算( ParallelComputing )和网格计算( GridComputing )的基础上发展而来的,是一种新兴的商业计算模型。它是在2007年第三季度由谷歌( Google )公司提出的一个新名词,但仅仅过了半年多,其受关注程度就超过了网格计算。
同时,云计算容易与并行计算、分布式计算和网格计算混淆。云计算是网格计算、分布式计算、并行计算、效用计算( UtilityComputing )、网络存储技术(NetworkStorageTechnologies )、虚拟化( Virtualization )负载均衡( LoadBalance )等传统计算机技术和网络技术发展融合的产物,它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助 SaaS 、 PaaS 、 laaS 、 MSP 等先进的商业模式把这强大的计算能力分布到终端用户手中。云计算的一个核心理念就是通过不断提高"云"的处理能力减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入/输出设备,并能按需享受"云"的强大计算处理能力。目前,对云计算的认识还在不断发展变化中,其定义有多种说法。现阶段广为接受的是美国国家标准与技术研究院( NIST )的定义;云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务),这些资源能够快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
因此可以说,狭义的云计算是指 IT 基础设施的交付和使用模式,是指通过网络以按需、易扩展的方式获得所需的资源(如硬件、平台、软件)。提供资源的网络被称为"云"。"云"中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性经常被称为像使用水和电一样使用 IT 基础设施。广义的云计算是指服务的交付和使用模式,是指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是 IT 和软件、互联网相关的,也可以是任意其他的服务。
1.1.2云计算的基本特征
5个基本特征以及其含义
(1)自助式服务
消费者无须同服务提供商交互就可以得到自助的计算资源能力,如服务器的时间、网络存储等(资源的自助服务)。
(2)无处不在的网络访问
借助不同的客户端通过标准的应用对网络访问的可用能力。
(3)划分独立资源池
根据消费者的需求来动态划分或释放不同的物理和虚拟资源,这些池化的供应商计算资源以多租户的模式来提供服务。用户并不控制或了解这些资源池的准确划分,但可以知道这些资源池在哪个行政区域或数据中心,包括存储、计算处理、内存、网络带宽及虚拟机个数等。
(4)快速弹性
快速弹性是一种快速、弹性地提供和释放资源的能力。对于消费者,提供的这种能力是无限的(就像电力供应一样,对用户是随需的、大规模资源的供应),并且可在任何时间以任何量化方式购买。
(5)服务可计量
云系统对服务类型通过计量的方法来自动控制和优化资源使用,如存储、处理、带宽及活动用户数。资源的使用可被监测、控制及可对供应商和用户提供透明的报告(即付即用的模式)。云软件可充分借助于云计算的范式优势来面向服务,聚焦于无状态的、松耦合、模块化及语义解释的能力。
1.2 云计算发展简史
云计算的发展可以追溯到上世纪90年代末和本世纪初。以下是云计算发展的简要历史:
1. 1999年:云计算的雏形可以追溯到亚马逊公司推出的“亚马逊网络服务”(Amazon Web Services,AWS)。它最初是为了提供在线商城的基础架构支持,但后来演变成提供弹性计算和存储资源的云服务。
2. 2006年:谷歌推出了“Google Docs”(现在称为Google Drive),这是一种基于云的办公套件,用户可以在云端创建、编辑和存储文档、表格和演示文稿。
3. 2008年:云计算的概念正式被提出。美国国家标准与技术研究院(NIST)发布了一份定义云计算的定义和特性的报告。
4. 2009年:云计算平台“OpenStack”推出,这是一个开源的云计算操作系统,旨在提供公有云和私有云的基础设施。
5. 2010年:微软推出了“Windows Azure”(现在称为Microsoft Azure),这是一个公有云计算平台,提供基于云的计算、存储和服务。
6. 2012年:亚马逊AWS推出了“Amazon Elastic Compute Cloud”(Amazon EC2)的GPU实例,开创了云计算在人工智能和机器学习领域的应用。
7. 2013年:容器技术开始流行,Docker推出了容器化解决方案,使应用程序的部署和管理更加便捷和灵活。
8. 2015年:谷歌推出了“Google Cloud Platform”(GCP),成为云计算领域的一大竞争对手。
9. 2016年:微软推出了“Azure Stack”,这是一个混合云解决方案,允许企业在私有云环境中构建和管理云服务。
10. 2020年:随着人工智能、大数据和物联网等技术的发展,云计算得到了更广泛的应用和推广,成为各行业数字化转型的重要支撑。
总的来说,云计算经历了多年的发展和演进,从最初的基础设施提供商发展到如今的云计算平台和服务提供商,为用户提供了弹性、可扩展和经济高效的计算和存储资源。
1.3 三种业务模式介绍
1. 基础设施即服务(IaaS)
基础设施即服务提供商(如亚马逊AWS、微软Azure)提供了基本的计算资源,例如虚拟机、存储和网络等。用户可以根据自己的需求来配置和管理这些资源。这样,用户可以快速部署和扩展自己的应用程序,无需关心底层的硬件设施。IaaS适用于需要更多自定义控制和灵活性的场景,例如开发和测试环境的快速部署、大规模数据处理和存储等。
2. 平台即服务(PaaS)
平台即服务提供商(如谷歌云平台、IBM BlueMix)提供了一个完整的开发平台,包括操作系统、开发工具、数据库和服务器等。用户可以在该平台上开发、测试和部署自己的应用程序,而无需关注底层的基础设施。PaaS适用于开发团队或开发者,可以更专注于应用程序的开发和创新,而无需花费太多精力在基础设施的管理上。
3. 软件即服务(SaaS)
软件即服务提供商(如Salesforce、Microsoft Office 365)提供完整的应用程序服务,用户只需通过互联网访问这些应用程序,而无需进行安装和维护。SaaS适用于个人用户或企业,可以以订阅的方式使用各种应用程序,如在线办公套件、客户关系管理系统和企业资源规划系统等。SaaS提供了便捷和灵活的解决方案,用户可以随时随地通过网络访问应用程序,并根据需要调整订阅的规模。
总的来说,这三种业务模式为用户提供了不同层次的服务和管理控制权。用户可以根据自己的需求和优先级选择适合的模式,以满足他们的业务需求,并在云计算环境中获得更高的效率和灵活性。
1.4 云计算的未来发展方向
1.私有云将成大型企业首选
大型企业对数据的安全性有较高的要求,它们更倾向于选择私有云方案。未来几年,公有云受安全、性能、标准、客户认知等多种因素制约,在大型企业中的市场占有率还不能超越私有云,并且私有云系统的部署量还将持续增加,私有云在 IT 消费市场所占的比例也将持续增加。私有云将是大型企业首选之一,安全性会是大型企业最主要关心的问题。
2.开放数据中心更容易实现云计算
阿里巴巴、百度、腾讯、中国电信、中国移动以及中国信息通信研究院、顾问单位英特尔联合发起成立了开放数据中心委员会( OpenDataCenterCommittee , ODCC ),是由数据中心相关的企事业单位自愿结成的行业性、非营利性的社会组织。这一组织希望实现:"互通"的云,能够允许企业能在私有云和公有云之间共享数据;一个"自动化"的云计算网络,能自动帮助不同的应用和资源安全运行,从而显著提高数据中心的能耗表现;一个 PC 和设备感知的"客户端自适应"的云,能自动决定哪种应用、命令和处理应该在云上,或是在用户的笔记本电脑、智能手机以及其他设备上进行,从而充分利用某个用户和设备的独特性能,以全面优化在线体验。
3. 混合云架构将成为企业 IT 趋势
私有云只为企业内部服务,而公有云是可以为所有人提供服务的计算系统。混合云将公有云和私有云有机融合在一起,为企业提供更加灵活的云计算解决方案。混合云是一种更具优势的基础架构,它将系统的内部能力与外部服务资源灵活地结合在一起,并保证了低成本。在未来几年,随着服务提供商的增加与客户认知度的增强,混合云将成为企业IT架构的主导。尽管现在私有云在企业内应用较多,但是在未来这两类云一定会走向融合。英特尔等一些领先有更好的、更开放的标准的话,混合云应该发展更快。厂商认为开放式架构是实现云的基础,而实际上开放数据中心也更有利于公私云的融合,如果未来
4越来越多的应用迁移到云中
将应用迁移到云中,是原本就赋子云计算的意义,也是最主流的云计算应用方式之一。现在 saas 模式已经取得了初步成功,为云计算产业开辟了一条非常好的道路。 SaaS 模式给传统软件产业带来了巨大的冲击。出于成本和运维等方面的原因,越来越多的企业选择 Saas 方式使用软件。在新的市场环境下,软件厂商也纷纷出台云战略。微软就是典型代表,它的传统桌面软件正不断向云软件迁移。但也并不是所有的软件都适合于 SaaS 模式,一些与企业核心业务或者安全相关的软件还需测试。
5.云计算概念逐渐平民化
几年前,一些大企业对云计算概念的渲染,导致很多中小企业对云计算的态度一直停留在"仰望"的阶段。经过一段时间的酝酿,一种比较适合中小企业的云计算模式出现了﹣﹣平台即服务( platformasaService , PaaS ),它是将基础设施平台作为一种服务呈现给用户的商业模式。这是一种比较低成本的方案,对那些资金有限,并且 IT 资源有限,急需扩展 IT 基础支撑的企业有着巨大的吸引力。从目前的市场发展态势来看,也许在不久的将来, Paas 将取代 saas ,成为中小企业最主要的云计算应用。
1.5云计算的适用条件
1.5.1云计算的优势和带来的变革
前面对比了云计算与传统的基础设施,这里不再赘述,下面从其他角度分析云计算的优势。
1、云计算的优势
(1)优化产业布局
进入云计算时代后, IT 产业已经从以前那种自给自足的作坊模式转化为具有规模化效应的工业化运营模式,一些小规模的单个公司专有的数据中心将被淘汰,取而代之的是规模巨大且充分考虑资源合理配置的大规模数据中心。而正是这种更迭,生动地体现了 IT 产业的一次升级,从以前分散、高耗能的模式转变为集中、资源友好的模式,顺应了历史发展的潮流,优化了产业布局。
(2)推进专业分工
通过云计算服务提供商,一些中小型企业不用构建自己的数据中心,或者说是不用投入大量的基础设施建设,只需要通过互联网访问云技术服务提供商提供的服务即可,自己也不需要考虑一些成本投入、维护投入等。云服务提供商会提供大量的专业人员和科研团队来完成这些工作,因此带来了专业分工的优势。这里的云服务提供商的优势是相对中小型企业来说,云服务提供商更专业,更具有经验,而且从投入成本的角度来说,云服务提供商的价格更低廉。除了带来一些成本上的优势,还使云计算服务提供商提供了软件管理方面的专业化,使同一个人的效率更高,这也减少了人力成本的投入。云计算使专业分工更加明显,进一步优化了 IT 产业的布局,通过一些手段,让更多的企业专注于自己的领域,扬长避短,减少内耗,同时也带来了商机。云计算提供商通过服务器的虚拟化,尽可能地最大化利用资源,从而提高投入产出比,带来更高的利益,下面举个简单的例子。
(3)提高资源利用率
假设现在有一个网站,在节假日的时候会出现100万的并发访问情况,非节假日时只有1000~10000的并发数,如果是企业自己投入基础设施构建数据中心的话,可能的投入如下:
①1个负载均衡器;
②8台应用服务器;
③4个数据库服务器(3个读服务器、1个写主服务器)。
在节假日,全部服务器满负荷,勉强可以应付。在平时,只要配置如下服务器就够用了:
①1个负载均衡器(可选);
②8台应用服务器(1台服务器);
③4个数据库服务器(1个读服务器、1个写主服务器)。
无疑硬件投入在大部分的时间都是浪费的,如果企业采用集群磁盘阵列( raid ),将是非常大的投入,而且硬件每年都会产生折旧,这就会影响企业每年的利润。
如果使用云,从云计算服务提供商购买如下服务。非节假日:
①1台应用服务器资源;
②1个读服务器、1个写主服务器;
③按实际运行的小时付费,如果一天只运行10小时,那么一年的费用就是(10x365) x 每小时费用。
节假日只要为新扩充的资源单独付费就可以了,具体如下:
①1个负载均衡器;
②7台应用服务器;
③2个数据库服务器。
这里要为上面的硬件资源单独付费,采用的计费方式与非节假日的形式相仿。可以看出,使用云技术服务的方式可以节省很多成本,只为需要且使用的资源付费,如果没有使用资源,就可以不付费。
(4)降低管理开销
云计算提供商本身提供给客户一些方便的管理功能,内置一些自动化的管理,对应用管理的动态,自动化、高效率是云计算的核心。因此,云计算要保证当用户创建一个服务时,用最短的时间和最少的操作来满足需求,当用户停用某个服务操作时,需要提供自动完成停用的操作,并行回收相应的资源。当然,虚拟化技术在云计算中的大量应用,提供了很大的灵活性和自动化,降低了用户对应用管理的开销。云计算平台会根据用户应用的业务需求,动态增减资源分配,完成资源的动安全性、宕机的自动恢复等。态管理,并且在用户增减模块时,进行自动资源配置、自动资源释放等操作,包括自动的冗余备份、安全性、宕机的自动恢复等。
2 带来的变革
1.5.2云计算技术的优点
前面了解了云计算的概念、发展历史、发展现状、发展趋势及其优势和带来的变革,接下来总结云计算技术的优点。
(1)云计算提供了最可靠、最安全的数据存储中心,用户不用再担心数据丢失、病毒入侵等麻烦。很多人觉得数据只有保存在自己看得见、摸得到的计算机里才最安全,其实不然。个人计算机可能会因为不小心而损坏,或者被病毒攻击,导致硬盘上的数据无法恢复,而有机会接触计算机的不法之徒则可能利用各种机会窃取上面的数据。反之,文件保存在类似 GoogleDocs 的网络服务上,把照片上传到类似 GooglePicasaWeb 的网络相册里时,就再也不用担心数据丢失或损坏了。因为在"云"的另一端,有专业的团队来管理信息,有先进的数据中心来保存数据,有严格的权限管理策略保证数据的安全共享。这样,用户不用花钱就可以享受到优质、安全的服务了。
(2)云计算对用户端的设备要求最低,使用起来也最方便。大家都有过维护个人计算机上种类繁多的应用软件的经历,为了使用某个最新的操作系统,或某个软件的最新版本,必须不断升级套己的计算机硬件,为了打开朋友发来的某种格式的文档,不得不下载某个应用软件。为了防止在 F 载时引入病毒,不得不反复安装杀毒软件和防火墙软件。所有这些麻烦事加在一起,对于一个淇淋接触计算机、刚刚接触网络的新手来说不啻于一场噩梦!如果无法忍受这样的计算机使用体验,为计算也许是最好的选择。只要有一台可以上网的计算机,有一个喜欢的浏览器,在浏览器中输入 URL ,就可以尽情享受云计算带来的无限乐趣了。用户可以在浏览器中直接编辑存储在云另一端的文档,可以随时与朋友分享信息,再也不用痕心自己的软件是否是最新版本,再也不用为软件或文档染上病毒而发愁。因为在云的另一端,有专业的 IT 人员在维护硬件、安装和升级软件、防范病毒和各类网络攻击,在做用户以前在个人计算机上所做的一切。
(3)云计算可以轻松实现不同设备间的数据与应用共享。大家不妨回想一下,自己的联系人信息是如何保存的。一个最常见的情形是,手机里存储了几百个联系人的电话号码,个人计算机和办公计算机里存储了几百个电子邮件地址。为了方便在出差时发邮件,用户不得不在个人计算机和办公计算机之间定期同步联系人信息;买了新的手机后,用户不得不在旧手机和新手机之间同步电话号码。考虑到不同设备的数据同步方法种类繁多,操作复杂,要在这许多不同的设备之间保存和维护最新的一份联系人信息,用户必须为此付出难以计数的时间和精力。这时,用户需要用云计算来让一切都变得更简单。在云计算的网络应用模式中,数据只有一份,保存在云的另一端,用户的所有电子设备只需要连接互联网,就可以同时访问和使用同一份数据。仍然以联系人信息的管理为例,当用户使用网络服务来管理所有联系人的信息后,可以在任何地方用任何一台计算机找到某个朋友的电子邮件地址,可以在任何一部手机上直接拨通朋友的电话号码,也可以把某个联系人的电子名片快速分享给好几个朋友。当然,这一切都是在严格的安全管理机制下进行的,只有对数据拥有访问权限的人,才可以使用或与他人分享这份数据。
(4)云计算为我们使用网络提供了几乎无限多的可能。云计算为存储和管理数据提供了几乎无限多的空间,也为我们完成各类应用提供了几乎无限强大的计算能力。想象一下,当用户驾车出游时,只要用手机连入网络,就可以直接看到自己所在地区的卫星地图和实时的交通状况,可以快速查询自己预设的行车路线,可以请网络上的好友推荐附近最好的景区和餐馆,可以快速预订目的地的宾馆,还可以把自己刚刚拍摄的照片或视频剪辑分享给远方的亲友等。离开了云计算,单单使用个人计算机或手机上的客户端应用,我们是无法享受这些便捷的。个人计算机或其他电子设备不可能提供无限量的存储空间和计算能力,但在云的另一端,由数千台、数万台,甚至更多服务器组成的庞大集群却可以轻易地做到这一点。个人和单个设备的能力是有限的,但云计算的潜力却几乎是无限的,当用户把最常用的数据和最重要的功能都放在云上时,我们相信,用户对计算机、应用软件,乃至网络的认识都会有翻天覆地的变化,生活也会因此而改变。互联网的精神实质是自由、平等和分享,作为一种最能体现互联网精神的计算模型,云计算必将在不远的将来展示出强大的生命力,并将从多个方面改变我们的工作和生活。无论是普通网络用户,还是企业员工,无论是 IT 管理者,还是软件开发人员,都能亲身体验到这种改变。
1.5.3云计算技术的缺点
前面阐述了云计算的诸多优点,但云计算是否完美无缺呢?其实云计算的缺点也是与生俱来的,下面介绍云计算的一些缺点。
(1)脱机。这是云端化第一个也是最为重要的缺点。因为若是用户没有持续的网络连接能力,很多功能便无法实现,用户会发现接收不到邮件,无法编辑文件,更无法取回备份。当然,谷歌已经公布了脱机应用程序的运行,但事实上,谷歌提供的应用程序只能让用户在脱机状态下观看电子邮件、行程安排和文件。而对这些文件进行编辑时,对行程安排的编辑可能不是什么大问题,但对文件的编辑绝对是个大问题。不但如此,用户会发现这些功能被限定在谷歌的 Chrome 浏览器上, Firefox 和 IE 浏览器无法实现这些功能。这在一定程度上也形成了用户绑定。当然,谷歌也表示将会提供脱机编辑,这样一来,用户也将面临一样的绑定问题,因为只有 GoogleDoc 可以运行。而用户在工作上都希望能依照客户的喜好来使用 Office 、 OpenOffice 和 GoogleDoc 等软件,而不是被限定在任何一种方式上。
(2)隐私与安全问题。这个问题是云计算使用者最大的顾虑,也是目前云计算技术面临的最大问题。当别人掌握了用户的资料时,用户要担心的问题就不只是故障问题了,隐私和安全都是必须考虑的问题。现在的互联网世界,遭黑客攻击简直就是家常便饭,云计算的安全问题是全球问题,目前很多云服务提供商还缺乏实际和完善的安全规划。
(3)云计算的功能可能是有限的。这一特殊的缺点必须改变,迄今为止,许多基于 Web 的应用与以桌面为基础的应用相比,功能还相差很远。例如,比较谷歌的演示文档与微软的 PowerPoint 的功能,利用 PowerPoint 能做的内容比利用谷歌基于 Web 的产品多。它们的基本功能是类似的,但云应用缺乏很多 PowerPoint 的高级功能。因此,如果是高级用户,那么可能还不想跳入云计算这片"水域"。然而,随着时间的推移,许多基于 Web 的应用程序将添加更高级的功能。这无疑就是谷歌文档和电子表格的情形,这两个应用开始时的功能有限,但后来增加了许多 Word 和 Excel 具备的特殊功能。尽管如此,在用户做出行动之前,仍然需要研究已有的功能。在放弃传统软件之前,也许需要研究和确保基于云的应用程序是否能够做需要做的一切事情。
二 云计算架构及其标准化
2.1云计算架构以及阿里云和Node.js介绍
2.1.1云计算基础架构
PS:以下内容为20届期末考核解答主要内容
各厂家和组织对云计算的架构有不同的分类方式,但是总体趋势是一致的 。
这套架构主要可分为4层,其中有3层是横向的,分别是显示层、中间件层和基础设施层,通过这3层技术能够提供非常丰富的云计算能力和友好的用户界面,还有一层是纵向的,称为管理层,是为了更好地管理和维护横向的3层而存在的。接下来将逐个介绍每个层次的作用和属于这个层次的主要技术。
1.显示层
显示层主要用于以友好的方式展现用户所需的内容,并会利用到中间件层提供的多种服务,主要有如下5种技术。
(1) HTML 。标准的 Web 页面技术,现在以HTML4为主。2014年10月29日,万维网联盟宣布HTML5标准规范制订完成,HTML5会在很多方面推动 Web 页面的发展,如视频和本地存储等方面。
(2) JavaScript 。一种用于 Web 页面的动态语言,通过 JavaScript ,能够极大地丰富 Web 页面的功能,最流行的 JavaScript 框架有 jQuery 和 Prototype 。
(3) CSS 。主要用于控制 Web 页面的外观,而且能使页面的内容与其表现形式之间优雅分离。
(4) Flash 。曾是业界最常用的 RIA ( RichInternetApplications )技术,能够在现阶段提供 HTML 技术无法提供的基于 Web 的"富"应用,而且在用户体验方面,非常不错,但随着HTML5的发展, Flash 已显示出颓势,开始逐步退出 Web 平台。
(5) Silverlight 。是来自微软的 RIA 技术,基于目前已开源的. NET 框架,提供了非常灵活的编程模型,可以方便地在各种平台上运行,对开发者非常友好。在显示层,大多数云计算产品都比较倾向于 HTML 、 JavaScript 和 CSS 的黄金组合,但是 Flash 和 Silverlight 等 RIA 技术也有一定的用武之地,如 VMwarevCloud 就采用了基于 Flash 的 Flex 技术,而微软的云计算产品肯定会在今后使用到 Silverlight 。
2.中间件层
中间件层是承上启下的,它在下面的基础设施层提供资源的基础上提供了多种服务,如缓存服务和基于表述性状态转移( RepresentationTranferState , REST )服务等,而且这些服务既可用于支撑显示层,也可以直接让用户调用,主要有如下5种技术。
(1) REST 。是一组架构约束条件和原则,它是一种设计风格而不是标准。满足这些约束条件和原则的应用程序或设计就是 RESTful 。通过 REST 技术来设计以系统资源为中心的 web 服务,能够非常方便和迅速地将中间件层支撑的部分服务提供给调用者。
(2)多租户。是一种软件架构技术,能够让一个单独的应用实例可以为多个用户或组织服务,而且保持良好的隔离性和安全性,通过这种技术,能有效降低应用的购置和维护成本。
(3)并行处理。是一种使计算机系统同时执行多个处理的计算方法。通常为了利用并行计算来处理海量的数据,需要构建庞大的集群系统来实现规模巨大的并行处理, Google 的 MapReduce 是批处理并行计算的代表之作,目前也有类似 ApacheStorm 通过流式进行并行处理的技术。
(4)应用服务器。在原有的应用服务器的基础上为云计算做了一定程度的优化,通过将 Web 应用程序驻留在应用服务其上,产生了所谓的"浏览器/服务器"结构( B / S 和"瘦客户机"模式等,比如用于 GoogleAPPEngine 的 Jetty 应用服务器以及更加适合于企业级环境的 Apache的Tomcat 。
(5)分布式缓存。通过分布式缓存技术,不仅能有效降低对后台服务器的压力,而且能加快相应的反应速度,最著名的分布式缓存例子莫过于 Memcached 。对于很多 Paas 平台,如用于部署 Ruby 应用的 Heroku 云平台,应用服务器和分布式缓存都是必备的,同时 REST 技术也常用于对外的接口,多租户技术则主要用于 SaaS 应用的后台,如用于支撑 Salesforce 的 SalesCloud 等应用的Force多租户内核,而并行处理技术常被作为单独的服务推出,如 amazon 的 elasticmapReduce 。
3.基础设施层
基础设施层的作用是为中间件层或者用户准备所需的计算和存储等资源,主要有如下4种技术。
(1)系统虚拟化。也可以理解它为基础设施层的"多租户",因为通过虚拟化技术,能够在一个物理服务器上生成多个虚拟机,并且能在这些虚拟机之间实现全面隔离,这样不仅能减低服务器的购置成本,还能同时降低服务器的运维成本,成熟的x86虚拟化技术有 VMware 的 ESX 和开源的 Xen、KVM 。
(2)分布式存储。为了承载海量的数据,同时也要保证这些数据的可管理性,需要一整套分布式的存储系统。在这方面, Google 的 OPS 和 Hadoop 的 HDPS 是典范之作。
(3)关系型数据库。基本是在原有的关系型数据库的基础上做了扩展和管理等方面的优化,复其在云中更适应。
(4) NoSOL 。为了满足一些关系数据库无庆满楚的目标,如支撑海量数据等,一些公司特地计一批不是基于关系模型的数据库,如 Google 的 BigTable 、 pacebook 的 cassandra 和 Hadoop HBase 等 现在大多数的 laas 服务都是基于 Xen 的,如 Amazon 的ec2等,但 vMware 也推出了基于 ESX 技术的 vCloud ,同时业界也有几个基于关系型数据库的云服务,如 Amazon 的 RDS ( RelationalDatabaseService )和 WindowsAzureSDS ( SQLDataServices )等。关于分布式存储和 NoSQL ,它们已经被广泛用于云平台的后端,如 GoogleAppEngine 的 Datastore 就是基于 BigTable 和 GPS 这两个技术之上的,而 Amazon 则推出基于 NoSOL 技术的 simpleDB 。
4.管理层
管理层是为横向的3层服务的,并给这3层提供多种管理和维护等方面的技术,主要包括以下6性3计
(1) 账号管理。通过良好的账号管理技术,能够在安全的条件下方便用户登录,并方便管理员单节号,个方面。会证/杨化对账号的管理。
(2) SLA 监控。对各个层次运行的虚拟机、服务和应用等进行性能方面的监控,以使它们都能在满足预先设定的服务等级协议( ServiceLevelAgreement , SLA )的情况下运行。
(3)计费管理。统计每个用户消耗的资源等来准确地向用户索取费用。
(4)安全管理。对数据、应用和账号等 IT 资源采取全面保护,使其免受犯罪分子和恶意程序的侵害。
(5)负载均衡。通过将流量分发给一个应用或者服务的多个实例来应对突发情况。
(6)运维管理。主要是使运维操作尽可能专业和自动化,从而降低云计算中心的运维成本。现在的云计算产品在账号管理、计费管理和负载均衡这3个方面大都表现不错,在这方面最突出的例子就是 Amazon 的EC2,但大多数产品在 SLA 监控、安全管理和运维管理等方面还有所欠缺。
2.1.2阿里云和 Node .js
本节将以阿里云和 Node . js 这两个典型的云计算产品为例,帮助大家理解云计算架构。
1.阿里云
阿里云以在线公共服务的方式,提供安全,可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互连的新世界提供源源不断的能源动力,阿里云计算致力于提供完全的云计算基础服务。在未来的电子商务中,云计算将会成为一种随时,随地,并依据需要而提供的服务,就像水、电一样成为公共基础服务设施。高效的绿色数据中心、能支撑不同互联网和电子商务利用的大范围散布式存储,以及计算是营建下一代互联网以及电子商务服务平台所需的最基本的核心技术。在此基础上,结合新的用户体验技术,散布式数据库技术,无线移动计算技术及搜寻技术等平台技术,高机能、高扩大、高容量及高安全的计算服务将成为未来互联网和电子商务发展的基石。
阿里云大致框架
阿里云采用的主要技术如下,阿里云 OS 运行在成千上万台服务器的 Linux 之上,飞天大规模计算系统相当于 Windows 中的内核,负责管理集群系统资源、控制分布式程序运行、隐藏下层故障恢﹣复和数据冗余等细节、有效提供弹性计算和负载均衡的服务;开放存储服务( OSS )、开放结构化数据服务(OTS)和开放数据处理服务(ODPS)类似 WindowsAPI ,提供方便的大规模数据存储、查询和处理服务;在此之上的 CloudEngine 为第三方云应用提供了弹性、低成本的运行环境,帮助开发者简化云应用的构建和部署;在互联网基础应用的层面,如同 windows 自带记事本和画笔,阿里云 OS 自带了搜索、邮箱和地图的服务。开放存储服务(OpenStorageService , OSS )是互联网的云存储服务。
(1)开放存储服务
开放存储服务为广大站长、开发者,以及大容量存储需求的企业或个人,提供海量、安全、低成本、高可靠性的云存储服务。通过简单的 REST 接口,存放网站和应用中的图片、音频、视频等较大文件。
当用户面对大量静态文件(如图片、视频等)访问请求和数据存储时,使用 oss 可以彻底解决存储的问题,并且极大减轻原服务器的带宽负载。使用内容分发网络( contentdeliverynetwork , cdn )可以进一步加快网络应用内容传递到用户端的速度。
(2)开放结构化数据服务
开放结构化数据服务( OpenTableService , OTS )适合存储海量的结构化数据,并且提供了高性能的访问速度。当数据量猛增时,传统的关系型数据需要资深的数据库管理员才能搞定;而使用 ots ,数据再怎么增长,它都自动默默帮用户搞定所有事情。这是时下热门的 NoSQL 在线服务。
关系型数据库是一个基于高稳定性、大规模平台的商用关系型数据库服务。它帮助个人与企业用户进行费时、费力的数据库管理,节约硬件成本和维护成本,并与现有商用 MySQL 和 MSSQLServer 完全兼容。
(3)开放数据处理服务
开放数据处理服务( OpenDataProcessService , ODPS )可以深度挖掘出海量数据(如 HTTPLog )中蕴藏的价值。不用羡慕拥有几百甚至几千台机器的大公司数据仓库平台,也不需要写mapreduce 程序,把用户的结构化数据存储到 ODPS 中,使用 SQL 语句就能完成相同的事情。
(4)云应用平台
使用HTML5、CSS3和 JavaScript 就能在移动平台上开发出用户体验优秀的移动应用,云应用平台结合了本地应用和互联网应用的优点,便于开发功能强大的移动应用,还能非常容易地使用各种云服务。
2.Node. js
Node . js 是一个 JavaScript 运行环境( runtime )。实际上它是对GoogleV8引擎进行了封装。V8引擎执行 JavaScript 的速度非常快,性能非常好。 Node . js 对一些特殊用例进行了优化,提供了替代的 API ,使V8引擎在非浏览器环境下运行得更好。同时它是一个基于 ChromeJavaScript 运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。 Node . js 使用事件驱动,非阻塞 I / O 模型得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
Node . js 在技术层面上的大致架构。
Nodejs 本身不是开发语言,它是一个工具或者平台。 Node . js 采用的主要技术如下。
① JavaScript 模块。提供 Node 标准库,每个 Node . js 的类库都包含了十分丰富的各类函数,比如 http 模块就包含了和 HTTP 功能相关的很多函数。
② C 模块。 Node . js 利用GoogleV8来解释运行 JavaScript ,但是系统真正执行的代码是用 C ++写的, JavaSeript 只是调用这些 API 。因此,并无执行效率的问题。
③事件库。 Node . js 的事件循环对开发者不可见,由 Libev 库实现, Libev 不断检查是否有活动的、可供检测的事件监听器,直到检查不到时,才退出事件循环,程序结束。
2.2 云计算标准体系
针对目前云计算发展现状、结合用户需求、国内外云计算应用情况和技术发展情况、同时按照工信部对我国云计算标准化工作的综合市局、建议我国云计算标准体系建设从基础、网络、整机装备、软件、服务、安全和其他7个部分展开。下面介绍7个部分的概况及包含的在研标准情况。
(1) 基础标准
用于统一云计算及相关概念、为其他各部分标准的制订提供支撑。主要包括云计算术语、参考架构、报商、能效管理等方面的标准,如《云计算术语》和《云计算参考架构》等。
(2)网络标准
用于规范网络连接、网络管理和网络服务,主要包括云内、云间、用户到云等方面的标准。
(3)整机装备标准
适用于云计算的计算设备、存储设备、中端设备的生产和使用管理,主要包括整机装备的功能、性能、设备互连和管理等方面的标准,如《基于通用互联的存储区域网络( IP - san )应用规范》《备份存储备份技术应用规范》《附网存储设备通用规范》《分布式异构存储管理规范》《模块化存储系统通用规范》《集装箱式数据中心通用规范》等。
(4)软件标准
软件标准用于规范云计算相关软件的研发和应用,指导实现不同云计算系统间的互连、互通和互操作,主要包括虚拟化、计算资源管理、数据存储和管理、平台软件等方面的标准。在软件标准中,"开放虚拟化格式"和"弹性计算应用接口"主要从虚拟资源管理的角度出发,实现虚拟资源的互操作。"云数据存储和管理接口总则""基于对象的云存储应用接口""分布式文件系统应用接口""基于 Key - Value 的云数据管理应用接口"主要从海量分布式数据存储和数据管理的角度出发,实现数据级的互操作。从国际标准组织和协会对云计算标准的关注程度来看,对虚拟资源管理、数据存储和管理的关注度比较高。其中,"开放虚拟化格式规范"和"云数据管理接口"已经成为1so/ iec 国际标准。
(5)服务标准
服务标准用于规范云服务设计、部署、交付、运营和采购,以及云平台间的数据迁移,主要包括服务采购、服务质量、服务计量和计费、服务能力评价等方面的标准。云服务标准以软件标准、整机装备等标准为基础,主要从各类服务的设计与部署、交付和运营整个生命周期过程来制订,主要包括云服务分类、云服务设计与部署、云服务交付、云服务运营、云服务质量管理等方面的标准。云计算中的各种资源和应用最终都以服务的形式体现。如何对形态各异的云服务进系统分类是梳理云服务体系、帮助消费者理解和使用云服务的先决条件。服务设计与部署关注构建云服务平台需要的关键组件和主要操作流程。服务运营和交付是云服务生命周期的重要组成部分,对服务运营和交付的标准化有助于评估云服务提供商的服务质量和服务能力,同时注重服务安全和服务质量的管理与测评。
(6)安全标准
安全标准用于指导实现云计算环境下的网络安全、系统安全、服务安全和信息安全,主要包括云计算环境下的网络和信息安全标准。
(7)其他标准
其他标准主要包括与电子政务、智慧城市、大数据、物联网、移动互联网等衔接的标准。根据国家标准信息平台显示,主要的云计算相关标准如下。
第二篇 技术篇
三 云存储
3.1 云存储概念
云存储是在云计算( CloudComputing )概念上延伸和发展出来的一个新的概念。云计算是分布式处理、并行处理和网格计算的发展,是通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器组成的庞大系统经计算分析之后将处理结果回传给用户。通过云计算技术,网络服务提供者可以在数秒之内处理数以千万计甚至亿计的信息,达到和"超级计算机"同样强大的网络服务。云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统。我们可以借用广域网和互联网的结构来解释云存储。参考云状的网络结构,创建一个新型的云状结构的存储系统,这个存储系统由多个存储设备组成,通过集群功能、分布式文件系统或类似网格计算等功能联合起来协同工作,并通过一定的应用软件或应用接口,对用户提供一定类型的存储服务和访问服务。
3.2 云存储技术简介
3.2.1 云存储的结构模型
图 中的存储节点( StorageNode )负责存放文件,控制节点( ControlNode )则作为文件索引,并负责监控存储节点间容量及负载的均衡,这两个部分合起来便组成一个云存储。存储节点与控制节点都是单纯的服务器,只是存储节点的硬盘多一些,存储节点服务器不需要具备 RAID 的功能,只要能安装 Linux 或其他高级操作系统即可。控制节点为了保护数据,需要有简单的RAIDlevel01功能。
每个存储节点与控制节点至少有两个网卡(千兆、万兆网卡都可以,有些支持 Infiniband 一种支持多并发连接的"转换线缆"技术),一个网卡负责内部存储节点与控制节点的沟通、数据迁移,另一个网卡负责对外应用端的数据读写。一个千兆网卡读取速度可以达到100MB,写速度可以达到70MB,如果觉得对外一个网卡不够,也可以多装几个。
图中的 NFS 、 HTTP 、 FTP 、 WebDav 等是应用端, MgmtConsole 负责管理云存储中的存储节点,一般为一台个人计算机。对应用端来说,云存储只是个文件系统,而且一般支持标准的协议,如 NFS 、 HTTP 、 FTP 、 WebDav 等,很容易把旧有的系统与云存储相结合,不需要应用端做什么改变。
上面介绍的是一个纯软件的云存储解决方案,也有以硬件为主的解决方案,将存储节点和控制节点放在一台设备上,这样做的缺点是成本比较高,客户也不能够按照自己的需求任意选择适合自己规格的硬件,如读写性能、网卡、硬盘容量等。这两种方案各有优势,如果关心原有投入,前者更好:如果新建,后者应该更好。
与传统的存储设备相比,云存储不仅仅是一个硬件,而且是一个由网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等多个部分组成的复杂系统。各部分以存纱备为核心,通过应用软件来对外提供数据存储和业务访问服务。
云存储系统由4层组成,如图所示。
1. 存储层
存储层是云存储最基础的部分。存储设备可以是光纤通道存储设备、 NAS 和 iSCSI 等 IP 存储设备,也可以是 SCSI 或 SAS 等 DAS 存储设备。云存储中的存储设备往往数量庞大且分布于不同地域,彼此之间通过广域网、互联网或者光纤通道网络连接在一起。存储设备之上是一个统一存储设备管理系统,可以实现存储设备的逻辑虚拟化管理、多链路冗余管理,以及硬件设备的状态监控和故障维护。
2. 基础管理层
基础管理层是云存储最核心的部分,也是云存储中最难以实现的部分。基础管理层通过集群分布式文件系统和网格计算等技术实现云存储中多个存储设备之间的协同工作,使多个有储设备可以对外提供同一种服务,并提供更大、更强、更好的数据访问性能。 CDN 内容分发系统、数据加密技术保证云存储中的数据不会被未授权的用户访问,同时,通过各种数据备份和容灾技术和措施可以保证云存储中的数据不会丢失,保证云存储自身的安全和稳定。、服务存储设售。
3. 应用接口层
应用接口层是云存储最灵活多变的部分。不同的云存储运营单位可以根据实际业务类型,开发不同的应用服务接口,提供不同的应用服务,如视频监控应用平台、 iptv 和视频点播应用平台、网络硬盘引用平台、远程数据备份应用平等。
4. 访问层
访问层任何一个授权用户都可以通过标准的公用应用接口来登录云存储系统,享受云存储服务。云存储运营单位不同,云存储提供的访问类型和访问手段也不同。
(1)服务模式
在最普遍的情况下,当考虑云存储时,就会想到它提供的服务产品。这种模式很容易开始,其可扩展性几乎是瞬间的。根据定义,用户拥有一份异地数据的备份,然而,网络带宽是有限的,因此要考虑恢复模型,用户必须满足网络之外的数据的需求。
(2) HW 模式
这种部署位于防火墙背后,并且其提供的吞吐量要比公共的内部网络好。购买整合的硬件存储解决方案非常方便,而且厂商在安装、管理上做得好的话,其往往有机架和堆栈模型。但是,这样会放弃某些摩尔定律的优势,因为会受到硬件设备的限制。
(3) SW 模式
sw 模式具有 hw 模式的优势。另外,它还具有 HW 模式没有的价格竞争优势。然而,其安装/管理过程要谨慎,因为安装某些 SW 模式的确非常困难,或者可能需要其他条件来限制人们选择 hw 模式,而选择 sw 模式。
3.2.2云存储技术的两种架构
云存储技术的概念始于 Amazon 提供的一项服务(S3),同时还伴随着其云计算产品(EC2)。在 Amazon 的S3服务的背后 还管理着多个商品硬件设备,并捆绑相应的软件,用于创建一个存储池。新兴的网络公司已经接受了这种产品,并提出了云存储这个术语及其相应的概念。云存储是一种架构,而不是一种服务,用户是否拥有或租赁了这种架构是次要的问题。从根本上来看,通过添加标准硬件和共享标准网络(公共互联网或私有的企业内部网)的访问,云存储技术很容易扩展云容量和性能。事实证明,管理数百台服务器的感觉就像是一个单一的、大型的存储池设备,是一项相当具有挑战性的工作。早期的供应商(如 Amazon )承担了这一重任,并通过在线出租的形式来营利。其他供应商(如 Google )雇用了大量的工程师在其防火墙内部来实施这种管理,并且定制存储节点以在其上运行应用程序。由于摩尔定律压低了磁盘和 cpu 的商品价格,云存储渐渐成为数据中心中一项具有高度突破性的技术。
近年来,集群 NAS 系统已经出现了新发展。对于那些寻求构建私有云存储,以满足其消费的企业 it 管理者或是那些寻求构建公共云存储产品,从而以服务的形式来提供存储的服务提供商来说,构建一个云存储或大规模可扩展的 NAS 系统的各种不同架构方法分为两类:一种是通过服务来架构,另一种是通过软件或硬件设备来架构。
传统的系统是使用紧耦合对称架构,这种架构的设计旨在解决 HPC (高性能计算、超级运算)问题,现在它正在向外扩展成为云存储,从而满足快速呈现的市场需求。下一代架构已经采用了松弛耦合非对称架构,集中元数据和控制操作,这种架构并不太适合高性能 hpc ,但是这种设计旨在解决云部署的大容量存储需求。下面介绍云存储的紧耦合对称架构和松弛耦合非对称架构。
1. 紧耦合对称架构
构建紧耦合对称( TCS )架构系统是为了解决单一文件性能面临的挑战,这种挑战限制了传统 NAS 系统的发展。 HPC 系统具有的优势迅速压倒了存储,因为它们需要的单一文件/ O 操作要比单一设备的 LO 操作多得多,业内对此的回应是创建利用紧耦合对称架构的产品,很多节点同时伴随着分布式锁管理(锁定文件不同部分的写操作)和缓存一致性功能。这种解决方案对单文件吞吐量的问题很有效,几个不同行业的很多 HPC 客户已经采用了这种解决方案。这种解决方案很先进,需要一定程度的技术经验才能安装和使用。
2. 松弛耦合非对称架构
松弛耦合非对称架构系统采用不同的方法来向外扩展。它不是执行某个策略来使每个节点知道每个行动执行的操作,而是利用一个数据路径之外的中央元数据控制服务器。集中控制提供了很多好处,允许进行新层次的扩展。
存储节点可以将重点放在提供读写服务的要求上,而不需要来自网络节点的确认信息。节点可以利用不同的商品硬件 cpu 和存储配置,而且仍然在云存储中发挥作用。用户可以利用硬件性能或虚拟化实例来调整云存储。消除节点之间共享的大量状态开销也可以消除用户计算机互连的需要◇如光纤通道或 InfiniBand 架构,从而进一步降低成本。
异构硬件的混合和匹配使用户能够在需要时,在当前经济规模的基础上扩大存储,还能提供永久的数据可用性。拥有集中元数据意味着存储节点可以旋转地进行深层次应用程序归档,而且在控制节点上,元数据经常都是可用的。虽然在可扩展的 NAS 平台上有很多选择,但是通常来说,它们表现为一种服务、一种硬件设备或一种软件解决方案,每一种选择都有它们自身的优势和劣势。伴随着大规模数字化数据时代的到来,企业可以使用 YouTube 之类的网站来分发培训录像。这些企业正致力于内容的创建和分布,基因组研究、医学影像等的要求会更加严格、准确。 lcs 架构的云存储非常适合这种类型的工作负载,而且有巨大的成本、性能和管理优势。
PS: 以下内容为20级考核内容
3.2.3云存储的种类及适合的应用
可以把云存储分成块存储( BlockStorage )与文件存储( FileStorage )两类。
1. 块存储
块在储会把单笔数据写到不同的硬盘,借以得到较大的单笔读写带宽,适合用在数据库或是需要单笔数据快速读写的应用。它的优点是对单笔数据读写很快,缺点是成本较高,并且无法解决真正海量文件的存储,像EqualLogic3PAR的产品就属于这一类。以下应用适合于块存储。
(1)快速更改的单一文件系统
快速更改单一文件的例子包括数据库、共用的电子表单等。在这些例子中,好几个人共享一个文件,文件经常性、频繁地更改。为了达到这样的目的,系统必须具备很大的内存、很快的硬盘及快照等功能,市场上有很多这样的产品可以选择。
(2)针对单一文件大量写的高性能计算( HPC )
某些高性能计算有成百上千个使用端,同时读写单一文件,为了提高读写效能,这些文件被分布到很多个节点,这些节点需要紧密地协作,才能保证数据的完整性,这些应用由集群软件负责处理复杂的数据传输,如石油勘探及财务数据模拟。
2.文件存储
文件存储是基于文件级别的存储,它是把一个文件放在一个硬盘上,即使文件太大进行拆分时,也放在同一个硬盘上。它的缺点是对单一文件的读写会受到单一硬盘效能的限制,优点是对一个多文件、多人使用的系统,总带宽可以随着存储节点的增加而扩展,它的架构可以无限制地扩容,并且成本低廉,代表的厂商是 parascale 。
文件存储适合应用的场合如下。
- ①文件较大,总读取带宽要求较高,如网站、 iptv 。
- ②多个文件同时写入,如监控。
- ③长时间存放的文件,如文件备份、存放或搜寻。
这些应用有以下共通的特性。
- ①文件的并发读取。
- ②文件及文件系统本身较大。
- ③文件使用期较长。
- ④对成本控制要求较高。
下面介绍典型的文件存储应用。
(1)文件及内容搜寻
通常,数据旧了之后,使用的机会比较少,但为了可以查询,不管是公司资料还是媒体内容,查询的成本必须低于数据本身的价值,这样才合算。用户可以使用旧的甚至淘汰不用的服务器来建立云存储,存放这些旧的数据以供查询。
(2) Tier -2NAS
文件存储支持标准的网络协议,对使用者来说就是一个 NAS ,用户在使用时,几乎不需更改数据中心任何的应用端程序,一些旧的数据可以迁移到这个云存储中,我们可以把它作为 Tier -2(二级存储)的 NAS 来使用。
(3)多文件大量写入的应用
监控是大量数据写入的典型应用,成千上万的摄像头将数据写到各自的文件中,在一个云存储技术中,有很多存储节点,每个存储节点可以提供多个摄像头写入,在写的带宽不够时,只要增加存储节点即可。由于数据集中处理,只需要一个管理人员便能管理整个监控系统。
(4)数据大量读取的应用
数据挖掘及高性能计算是大量读取的标准应用,这些应用需要很大的读取带宽◇这些带宽的要求往往不是现有一般的 NAS 可以提供的,云存储技术可以把很多文件分散写到不同的存储节点,以便透过多个存储节点的并发得到最大的带宽。这里的高性能计算与块存储中的不同点是,这里的高性能计算读取的不是单一文件,而是从不同存储节点读取很多文件,这是文件存储的强项。
(5)多个使用端都希望读取同一个文件的应用
IPTV 及网站的特质是,一个文件同时供很多人读取,为了应付大量及突如其来的读取需求,云存储会复制多份文件,以满足应用端读取的需求。
3.3云存储技术的应用及其面临的问题
3.3.1云存储的应用领域
备份、归档、分配和共享协作是云存储广泛应用的领域。随着云存储技术的进一步革新,云存储涉及的领域也越来越广泛。
1、备份
备份备份应用逐渐向消费者模式及某些企业的产销模式以外的领域扩展,进入中小型企业市场。最为普遍的应用方案是使用混合存储,将最常用的数据保存在本地磁盘,然后将它们复制到云中。
2、归档
对于云来说,归档是云存储广泛应用的一个"完美"领域,将旧数据从自己的设备迁移到别人的设备中。这种数据移动是安全的,可进行端对端加密,而且许多供应商甚至都不会保存密钥,这样它们就是想看你的资料也无法看到。混合模式在这个领域的应用也很普遍。用户可以将旧资料备份到一个看似底部 NFS 或 CIFS 安装点的设备中。这个领域的产品或服务供应商包括 nirvanix 、 bycast 和 IronMountain 等。
在归档应用中,还需调整这类产品中的应用程序接口配置。例如,用户想给归档的项目挂上具体元数据标签。最好还能在开始归档之前标明保留时间和删除冗余数据。云归档的位置将取决于提供云归档服务的服务商。
3.分配
至于分配与协作,通常属于服务供应商提供的范畴。它们一般会使用上述供应商(如 Nirvanix 、 Bycast 、 Mezeo 、 Parscale )提供的云基础设施产品或者 EMCAtmos 和 Cleversafe 等厂商的系统类产服务。品。如果想使用更传统的归档产品或服务,可以考虑 Permabit 或者 Nexsan 等可调存储厂商的产品和服务供应商将利用这些基础设施。例如,Box已经采用了一种 Facebook 类型的模式来协作, Soonr 则调整了备份功能以便自动将数据移动到云中,然后可以根据情况分享或传输那些内容。 Dropbox 和 SpiderOak 已经开发出功能非常强大的多平台备份和同步软件。
4.共享协作
在共享应用上,文件状态的检查还需进一步完善。如想知道文件的实时使用情况,在传输方面想知道谁在传输文件,用户看了多长时间及用户在阅览文件过程中在哪些地方做了评论或提出了问题等。
3.3.2云存储技术面临的问题
数据增长的数据管理问题不能总是靠单纯地加大存储容量来解决,在这种持续压力下,云存储技术成为新的选择。云存储系统是一个多设备、多应用、多服务协同工作的集合体,它的实现要以多种技术的发展为前提。
1.互联网宽带的发展
真正的云存储系统将会是一个多区域分布、遍布全国,甚至遍布全球的庞大公用系统,使用者需要通过宽带接入设备来连接云存储,而不是通过 FC 、 SCSI 或以太网线缆直接连接一台独立的,私有的存储设备。只有宽带网络得到充足的发展,使用者才有可能获得足够大的数据传输带宽,实现大量容量的数据传输,真正享受到云存储服务,否则只能是空谈。
2.应用存储的发展
云存储不仅仅是存储,更多的是应用。应用存储是一种在存储设备中集成了应用软件功能的存储设备,它不仅具有数据存储功能,还具有应用软件功能,可以看作是服务器和存储设备的集合体。应用存储技术的发展可以大量减少云存储中服务器的数量,从而降低系统建设成本,减少系统中由服务器造成的单点故障和性能瓶颈,减少数据传输环节,提高系统性能和效率,保证整个系统高效稳定运行。
3.集群技术、网格计算和分布式文件系统
云存储系统是一个多存储设备、多应用、多服务协同工作的集合体,任何一个单点的存储系统都不是云存储。既然是由多个存储设备构成的,不同存储设备之间就需要通过集群技术、分布式文件系统和网格计算等技术,实现多个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并提供更大、更强、更好的数据访问性能。如果没有这些技术,云存储就不可能真正实现,所谓的云存储只能是一个个的独立系统,不能形成云状结构。
4 . CDN 内容分发、数据加密技术
CDN 内容分发系统、数据加密技术保证云存储中的数据不会被未授权的用户访问,同时,通过p2p技术、数据压缩技术、重复数据删除技术等各种数据备份和容灾技术保证云存储中的数据不会丢失,保证云存储自身的安全和稳定。如果云存储中的数据安全得不到保证,就也没有人敢用云存储,否则,保存的数据不是很快丢失了,就是被所有人都知道了。
5.存储虚拟化技术、存储网络化管理技术
云存储中的存储设备数量庞大且分布在多不同地域,如何实现不同厂商、不同型号,甚至不同类型(如 FC 存储和 IP 存储)的多台设备之间的逻辑卷管理、存储虚拟化管理和多链路冗余管理将会是一个巨大的难题,这个问题得不到解决,存储设备就会是整个云存储系统的性能瓶颈,结构上也无法形成一个整体,而且会带来后期容量和性能扩展难等问题。一旦上述问题得以解决,云存储也就适应了商业化信息存储库的需要。初始的备份可以在装置内完成,也可以在云存储上另作备份,以获得装置外的数据保护。考虑到只有新增的数据才会被迁移至云中,因此支持自动化增量备份的技术最为适宜。自动化增量备份将提供一个高效战略,增量备份在降低宽带压力的同时,自动化特性也节省了员工进行日常相关操作的时间。
3.3.3云存储安全问题
由于云存储应用的特殊性,其安全问题也不仅仅是传统安全能够完全解决的,这其中涉及一些新的关键技术和管理技术,主要有存储的重复数据删除、隐藏存储、数据加密与密文搜索、数据完整性审计技术。
1.存储的重复数据删除
该技术旨在确保存储安全的前提下,通过删除用户重复的数据来减少云存储资源的构建和分配频率,压缩用户数据在云端占据的空间,从而提高存储服务提供商的利润。但是,重复数据删除技术必须解决用户数据的加密问题,以及暴力攻击等由不可信用户和服务器造成的威胁,因此急需进一步研究其安全性。云存储还需保护用户的访问痕迹和个人信息的隐私性,防止不可信的服务提供商和恶意用户由此获得用户身份等隐私信息。
2.隐藏存储
云存储系统中的恶意用户或服务器可以通过挖掘用户数据访问模式等方法,即在对数据多次读写操作时不断改变数据的存储位。隐藏存储技术采用模块化结构和异步机制等方法降低云存储系统的计算量,并提高其安全性和可扩展性。
3. 数据加密与密文搜索
数据加密和密文搜索是云存储安全领域的重要技术,能够保障用户数据的隐私性,防止云服务提供商或恶意用户窃取数据,并确保用户能快速查找密文数据。常见的云存储数据加密系统包括用户、云存储服务提供商和用户身份认证机构。云存储的数据加密和密文搜索在传统加密的基础上,基于密文策略属性的加密技术实现,提供密文搜索,防止用户身份隐私泄露。
4.数据完整性审计
数据完整性审计是云存储的重要安全技术之一,针对用户密钥泄露等安全问题,旨在为用户提供安全、高效和支持审计的存储服务,用于用户验证其存储与云端的数据是否保持完整性,是否被恶意用户和服务器修改或删除等。该技术近期的研究热点是如何获得高带宽和高计算效率。
四 云服务
4.1 云服务的优缺点
4.1.1 云服务的优点
云服务的优点之一就是规模经济。利用云计算供应商提供的基础设施,与在单一的企业内开发相比,开发者能够提供更好、更便宜和更可靠的应用。如果需要,应用能够利用云的全部资源而不必要求公司投资类似的物理资源。
说到成本,由于云服务遵循一对多的模型,与单独桌面程序部署相比,极大地降低了成本。云应用通常是"租用的",以每用户为基础计价,而不是购买或许可软件程序(每个桌面一个)的物理拷贝。它更像是订阅模型而不是资产购买(随之而来的贬值)模型,这意味着更少的前期投资和一个更可预知的月度业务费用流。
部门喜欢云应用是因为所有的管理活动都经由一个中央位置,而不是从单独的站点或工作站来管理,这使部门员工能够通过 web 来远程访问应用。其他的好处包括用需要的软件快速装备用户(称为"快速供应"),当更多的用户导致系统重负时,添加更多计算资源(自动扩展)。当需要更多的存储空间或带宽时,公司只需要从云中添加另外一个虚拟服务器。这比在自己的数据中心购买、安装和配置一个新的服务器容易得多。
对开发者而言,升级一个云应用比传统的桌面软件更容易。只需要升级集中的应用程序,应用特征就能快速、顺利地得到更新,而不必手工升级组织内每台计算机上的单独应用。有了云服务,一个改变就能影响运行应用的每一个用户,这大大降低了开发者的工作量。
4.1.2 云服务的缺点
也许人们意识到的云服务最大的不足就是给所有基于 web 的应用带来麻烦的问题:它安全吗?基于 web 的应用长时间以来就被认为具有潜在的安全风险。由于这一原因,许多公司宁愿将应用、数据和 IT 操作保持在自己的掌控之下。也就是说,利用云托管的应用和存储在少数情况下会产生数据丢失。尽管可以说,一个大的云托管公司可能比一般的企业有更好的数据安全和备份的工具。然而,在任何情况下,即便是感知到的来自关键数据和服务异地托管的潜在安全威胁,也可能阻止一些公司这么做。
另外一个潜在的不足就是云计算宿主离线导致的事件。尽管多数公司说这是不可能的,但它确实发生了。亚马逊的EC2业务在2008年2月15日经受了一次大规模的服务中止,并抹去了一些客户的应用数据。此次业务中止由一个软件部署引起,它错误地中止了数量未知的用户实例。如果一个公司依赖于第三方的云平台来存放数据而没有其他的物理备份,该数据就可能处于危险之中。
4.2云服务的类型
根据云计算提供的服务类型、整个云计算服务集合被划分成4个层次:应用层、平台蓑游设施层和虚报化层。这4个层次每一层都对应一个子服务集合,如图所示。
云计算的服务层次是根据服务类型,即服务集合来划分的,与人家熟悉的计算机网络体系结构中的层次划分不同。在计算机网络中,每个层次都实现一定的功能,层与层之间有一定的关联。而云计算体系结构中的层次是可以分割的、即某一层次可以单独完成一项用户的请求,而不需要其他层次为其提供必要的服务和支持。在云计算服务体系结构中、各层次与相关云产品对应。
①应用层对应 SaaS 、如 GoogleApps 、 Software + Services 。
②平台层对应 PaaS 、如 IBMITFactory 、 GoogleAppEngine 、Force
③基础设施层对应 IaaS ,如AmazonEC2、 IBMBlueCloud 、 SunGrid 。
④虚拟化层对应 HaaS (硬件即服务),结合 PaaS 提供硬件服务,包括服务器集群及硬件检测等服务。
因此云计算按照服务类型大致可分为3类: SaaS 、 PaaS 和 IaaS 。图4-2列举了 SaaS 、 PaaS 和 IaaS 的关系及每个层次的主要产品。
4.2.1 SaaS
SaaS 是最常见的,也是最先出现的云计算服务。通过 SaaS 这种模式,用户只要接上网络,通过浏览器就能直接使用在云上运行的应用。因为 SaaS 云供应商负责维护和管理云中的软/硬件设施、同时以免费或者按需使用的方式向用户收费,所以用户不需要顾虑类似安装、升级和防病毒等琐事、并且免去初期高昂的硬件投入和软件许可证费用的支出。
1. 历史
saas 的前身是 asp ( applicationserviceProvider ,应用服务提供商),其概念和思想与 asp 相差不大。最早的 asp 厂商有salesforce和 Netsuite ,其后还有一批企业跟随进来。这些厂商在创业时都主要专注于在线 CRM (客户关系管理)应用,但由于那时正值互联网泡沫破裂的时候,当时 ASP 本身的技术也并不成熟,还缺少定制和集成等重要功能,再加上当时欠佳的网络环境,所以 asp 没有受到市场的热烈欢迎,从而导致大批相关厂商破产。但在2003年后,在 Salesforce 的带领下,仅存的 ASP 企业喊出了 SaaS 这个口号,并随着技术和商业这两方面的不断成熟, Salesforce 、 webex 和 zoho 等国外 saas 企业得到了成功,而国内的企业(如用友、金算盘、金碟、阿里巴巴和八百客等)也加入 saas 的浪潮。
2.相关产品
由于 SaaS 产品起步较早,而且开发成本低,所以在现在的市场上, saas 产品不论是在数量还是在类别上,都非常丰富。同时,也出现了多款经典产品,其中最具代表性的莫过于 GoogleApps 、 SalesforceCRM 、 OfficeWebApps 和 Zoho 。 GoogleApps 的中文名为" Google 企业应用套件",它提供企业版 gmail 、 google 日历、 google 文档和 Google 协作平台等多个在线办公工具,而且价格低廉、使用方便,已经有超过200万家企业购买了 GoogleApps 服务。 Salesforcecrm 是一款在线客户管理工具,它在销售、市场营销、服务和合作伙伴这4个商业领域上提供完善的 IT 支持,还提供强大的定制和扩展机制,让用户的业务更好地运行在 Salesforce 平台上。这款产品常被业界视为 SaaS 产品的"开山之作"。 OfficeWebApps 是微软开发的在线版 Office ,提供基于 Office 技术的简易版 word 、 Excel 、 powerPoint 及 OneNote 等功能。它属于 WindowsLive 的一部分,并与微软的 SkyDrive 云存储服务有深度的整合,而且兼容 firefox 、 safari 和 Chrome 等非 IE 系列浏览器。与其他在线 Office 相比,由于 OfficeWedApps 本身属于 Office 的一部分,所以在与 Office 文档的兼容性方面远胜其他在线 Office 服务。 Zobo 是 AdventNet 公司开发的一款在线办公套件,在功能方面非常全面,有邮件、 CRM 、项目管理, Wiki 、在线会议、论坛和人力资源管理等几十个在线工具供用户选择。包括美国通用电气在内的多家大中型企业已经开始在其内部引入 Zoho 的在线服务。
3.优势
虽然和传统桌面软件相比,现有的 SaaS 服务在功能方面还稍逊一筹,但是在其他方面还是具有一定优势的,下面是其中的4个方面。
(1)使用简单。在任何时候或者任何地点,只要接上网络,用户就能访问这个 SaaS 服务,而且无须安装、升级和维护。
(2)支持公开协议。现有的 SaaS 服务在公开协议(如HTML4、HTML5)的支持方面都做得很好,用户只需一个浏览器,就能使用和访问 SaaS 应用。这对用户而言非常方便。
(3)安全保障。 SaaS 供应商需要提供一定的安全机制,不仅要使存储在云端的用户数据绝对安全,也要通过一定的安全机制(如 HTTPS 等)来确保与用户之间通信的安全。
(4)初始成本低。使用 SaaS 服务时,不仅无须在使用前购昂贵的许可证,而且几乎所有的 saas 供应商都允许免费试用。
4、技术
由于 saaS 层与普通用户非常接近,所以大家对 Saas 层用到的大多数技术都耳熟能详。
4.2.2PaaS
paas是一种分布式平台服务,厂商提供开发环境、服务器平台、硬件资源等服务给客户用户在其平台基础上定制、开发自己的应用程序并通过其服务器和互联网传递给其他客户。 paas 能够给企业或个人提供研发的中间件平台,提供应用程序开发、数据库、应用服务器、试验、托管及应用服务。
paas 是 saas 技术发展的趋势,主要面对的用户是开发人员。 PaaS 能给客户带来更高性能、更个性化的服务。如果一个 SaaS 软件也能给客户在互联网上提供开发(自定义)、测试、在线部署应用程序的功能,那么这就叫提供平台服务,即Paas。
1.历史
paas 是云服务这三层中出现最晚的。业界第一个 paas 平台诞生于2007年,是 salesforce 的force。用户通过这个平台,不仅能使用 salesforce 提供的完善开发工具和框架来轻松开发应用,而且能把应用直接部署到 Salesforce 的基础设施上,从而能利用其强大的多租户系统。接着,在2008年4月, Google 推出了 GoogleAppEngine ,将 PaaS 支持的范围从在线商业应用扩展到普通的 web 应用,也使越来越多的人开始熟悉和使用功能强大的 PaaS 服务。
2.相关产品
paaS 产品的百花齐放相比,PaaS 产品少而精,其中比较著名的产品有Force、 GoogleAppEngine 、 WindowsAzureplatform 和 Heroku 。
(1)Force就像上面所说的那样,是业界第一个 PaaS 平台,它主要提供完善的开发环境和强健的基础设施等来帮助企业和第三方供应商交付稳健的、可靠的和可伸缩的在线应用。还有,Force本身是基于 Salesforce 著名的多租户架构的。
(2) GoogleAppEngine 提供 Google 的基础设施来让用户部署应用,并提供一整套开发工具和 SDK 来加速应用的开发,还提供大量免费额度来节省用户的开支。
(3) WindowsAzureplatform 是微软公司推出的 PaaS 产品,运行在微软数据中心的服务器和网络基础设施上,通过公共互联网来对外提供服务。它由具有高扩展性的云操作系统、数据存储网络和相关服务组成,而且服务都是通过物理或虚拟的WindowsServer2008实例提供的。另外,它附带的 WindowsAzureSDK (软件开发包)提供了一整套开发、部署和管理 WindowsAzure 云服务所需的工具和 API 。
(4) Heroku 是一个用于部署 RubyOnRails 应用的 PaaS 平台,其底层基于AmazonEC2的 laas 服务,而且在 Ruby 程序员中有非常好的口碑。
3.优势
与现有的基于本地的开发和部署环境相比, PaaS 平台主要有以下6方面的优势。
1)友好的开发环境。通过提供 SDK 和集成开发环境(IntegratedDevelopmentEnvironment , IDE )等工具来让用户不仅能在本地方便地开发和测试应用,而且能进行远程部署。
(2)丰富的服务。 PaaS 平台会以 API 的形式将各种各样的服务提供给上层的应用。
(3)精细的管理和监控。 PaaS 能够提供应用层的管理和监控,如能够观察应用运行的情况和具体数值(如香吐量和响应时间等)来更好地衡量应用的运行状态,还能通过精确计量应用消耗的资源来更好地计费。
(4)伸缩性强。 PaaS 平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。
(5)多租户( Multi - Tenant )机制。许多 PaaS 平台都自带多租户机制、不仅能更经济地支撑庞大的用户规模,还能提供一定的可定制性,以满足用户的特殊需求。
(6)整合率高。 PaaS 平台的整合率非常高,如 GoogleAppEngine 能在一台服务器上承载成干上万个应用。
4.技术
与 SaaS 层采用的技术不同的是, PaaS 层的技术比较多样。
4.2.3laaS
通过 laaS ,用户可以从供应商那里获得需要的计算或者存储等资源来装载相关应用,并只需为其租用的那部分资源付费,而这些烦琐的管理工作则交给 IaaS 供应商来负责。
1.历史
与 SaaS 一样,类似 IaaS 的想法其实已经出现很久了,如过去的互联网数据中心( InternetDataCenter , IDC )和虚拟专用服务器( VirtualPrivateServer , VPS )等,但由于技术、性能、价格和使用等方面的缺失,这些服务并没有被大中型企业广泛采用。2006年年底, Amazon 发布了灵活计算云( ElasticComputeCloud ,EC2)这个 IaaS 云服务。由于EC2在技术和性能等多方面的优势,这类技本终于被业界广泛认可和接受,其中就包括部分大型企业,如著名的纽约时报。
2.相关产品
(1)AmazonEC2最具代表性的 laaS 产品有AmazonEC2、 IBMBlueCloud 、 CiscoUCS 和 Joyent 。AmazonEC2主要以提供不同规格的计算资源(也就是虚拟机)为主。它基于著名的开源虚拟化技术 Xen 。通过 Amazon 的各种优化和创新,AmazonEC2不论在性能上还是在稳定性上,都已经满足企业级的需求,它还提供完善的 API 和 Web 管理界面来方便用户使用。
(2) IBMBlueCloud 的企业级云计算解决方案。该解决方案可以整合企业现有的基础架构,通过虚拟化技术和自动化管54IBMBlueCloud解决方案是由 IBM 云计算中心开发的业界第一个、同时也是在技术上比较领先的企业级云计算解决方案。该方案可以整合企业现有的基础架构,通过虚拟化技术和自动化管理技术来构建企业自己的云计算中心,并实现对企业硬件资源和软件资源的统一管理、统一分配、统一部署、统一监控和统一备份,也打破了应用对资源的独占,从而帮助企业享受到云计算带来的诸多优越性。
(3) CiscoUCSciscoucs 是下一代数据中心平台,在一个紧密结合的系统中整合了计算、网络、存储与虚拟化功能。该系统包含一个低延时、无丢包和支持万兆以太网的统一网络阵列及多台企业级x86架构刀片服务器等设备,并在一个统一的管理域中管理所有的资源。用户可以在 UCS 上安装 vMwarevsphere 来支撑多达几千台虚拟机的运行。通过 ciscoUCS ,企业可以快速在本地数据中心搭建基于虚拟化技术的云环境。
(4) JoyentJoyent 提供基于 OpenSolaris 技术的 Iaas 服务,其 laaS 服务中最核心的是 joyentaccelerator ,它能够为 web 应用开发人员提供基于标准的、非专有的、按需供应的虚拟化计算和存储解决方案。基于 JoyentAccelerator ,用户可以使用具备多核 CPU 、海量内存和存储的服务器设备来搭建自己的网络服务,并提供超快的访问、处理速度和超高的可靠性。
3.优势
与传统的企业数据中心相比, IaaS 服务在很多方面都具有一定的优势,以下是最明显的5个优势。
(1)免维护。因为主要的维护工作都由 IaaS 云供应商负责,所以用户不必操心。
(2)非常经济。首先免去了用户前期的硬件购置成本,而且由于 laas 云大都采用虚拟化技术,所以应用和服务器的整合率普遍在10(也就是一台服务器运行10个应用)以上,这样能有效降低使用成本。
(3)开放标准。虽然很多 IaaS 平台都存在一定的私有功能,但是由于 OVF 等应用发布协议的诞生, IaaS 在跨平台方面稳步前进,这样应用能在多个 Iaas 云上灵活迁移,而不会固定在某个企业数据中心。
(4)支持的应用。因为 iaaS 主要是提供虚拟机,而且普通的虚拟机能支持多种操作系统,所以 iaas 支持应用的范围非常广泛。(5)伸缩性强。 IaaS 云只需几分钟就能给用户提供一个新的计算资源,而传统的企业数据中心往往需要几周时间,并且可以根据用户的需求来调整其计算资源的大小。
4.技术
laaS 采用的技术都是一些比较底层的,其中以下4种技术是比较常用的。
(1)虚拟化。也可以将它理解为基础设施层的"多租户"。因为通过虚拟化技术,能够在一个物理服务器上生成多个虚拟机,并且能在这些虚拟机之间实现全面的隔离,这样不仅能降低服务器的购置成本,还能降低服务器的运维成本。成熟的x86虚拟化技术有 VMware 的 ESX 和开源的 Xen 。
(2)分布式存储。为了承载海量的数据,同时也要保证这些数据的可管理性,需要一整套分布式存储系统。在这方面, google 的 GFS 是典范之作。
(3)关系型数据库。基本上是在原有关系型数据库的基础上做了扩展和管理等方面的优化,使其在云中更适应。
(4) nosql 。为了满足一些关系数据库无法满足的目标,如支撑海量数据等,一些公司特地设计一批不是基于关系模型的数据库,如 google 的 bigtable 和 Facebook 的 cassandra 等。现在大多数的 iaas 服务都是基于 xen 的,如 Amazon 的EC2等,但 VMware 也推出了基于 ESX 技术的 vcloud ,同时业界也有几个基于关系型数据库的云服务,比如 Amazon 的关系型数据库服务( relationaldatabaseservice , rDs )和 windowsAzuresDs ( sqldataservices , sql 数据服务)等分布式存储和 NoSQL 已经被广泛用于云平台的后端,如 googleappengine 的 datastore 就是基于 bigtable 和 gfs 这两个技术,而 amazon 推出的 simpledb 则基于 nosql 技术。
4.3 云部署模型
不管利用了哪种服务模型( SaaS 、 PaaS 或 IaaS ),都存在4种云服务部署模型,以及用以解决某些特殊需求而在它们之上的演化变形。
(1)公共云。由某个组织拥有,其云基础设施为公众或某个很大的业界群组提供云服务。
(2)私有云。云基础设施特定为某个组织运行服务,可以是该组织或某个第三方负责管理,可以是场内服务,也可以是场外服务。
(3)社区云。云基础设施由若干组织分享,以支持某个特定的社区。社区是指有共同诉求和追求的团体(如使命、安全要求、政策和合规性考虑等),可以由该组织或某个第三方负责管理,可以是场内服务,也可以是场外服务。
(4)混合云。云基础设施由两个或多个云(私有的、社区的或公共的)组成,独立存在,但是通过标准的或私有的技术绑定在一起,这些技术促成数据和应用的可移植性(如用于云之间负载分担的 cloudbursting 技术)。
在市场产品消费需求越来越成熟的过程中,将会出现其他派生的云部署模型,意识到这一点很重要。这方面的一个例子就是虚拟专用云( Virtualprivateclouds )-﹣以私有或半私有的形式来使用公共云基础设施,通常通过虚拟专用网( VPN )将公共云里的资源传输到用户数据中心。
方案设计时的架构思路对将来方案的灵活性、安全性、移动性及协作能力都有很大的影响。作为一条首要原则,"去边界化"的解决方案比没有"去边界化"的方案更有效,在上述4个部署模型中都是如此。同样的道理,采取私有还是开放的方案,也需要用户仔细考量。
五 虚拟化
5.1 虚拟化的意义
虚拟化带来的好处是多方面的,主要包括以下几点。
(1)效率。将原本一台服务器的资源分配给了数台虚拟化的服务器,有效利用了闲置资源,确保企业应用程序发挥出最高的可用性和性能。
(2)隔离。虽然虚拟机可以共享一台计算机的物理资源,但它们彼此之间仍然是完全隔离的,就像它们是不同的物理计算机一样。因此,在可用性和安全性方面,虚拟环境中运行的应用程序之所以远优于在传统的非虚拟化系统中运行的应用程序,隔离是一个重要的原因。
(3)可靠。虚拟服务器是独立于硬件进行工作的,通过改进灾难恢复解决方案提高了业务的连续性,当一台服务器出现故障时,可在最短时间内恢复且不影响整个集群的运作,在整个数据中心实现高可用性。
(4)成本。降低了部署成本,只需要更少的服务器就可以实现需要更多服务器才能做到的事情,也间接降低了安全等其他方面的成本。
(5)兼容。所有的虚拟服务器都与正常的x86系统兼容,它改进了桌面管理的方式,可部署多套不同的系统,将因兼容性造成问题的可能性降至最低。
(6)便于管理。提高了服务器/管理员的比率,一个管理员可以轻松地管理比以前更多的服务器,而不会造成更大的负担。
5.2 虚拟化的架构
迄今为止,虚拟化在工业界还没有公认的定义,实际上,虚拟化涉及的范围广泛,包括网络虚拟化、存储虚拟化、服务器虚拟化、桌面虚拟化、应用程序虚拟化和表示层虚拟化等。服务器虚拟化是目前虚拟化技术应用的重要领域。服务器虚拟化技术可以大大提高服务器的使用效率,随着计算机技术的发展,服务器虚拟化技术已被越来越多的企业采用。采用虚拟机技术"以减缓服务器数量的增加,简化服务器管理,同时明显提高服务器的利用率、网络的灵活性和可用性。
PS: 以下为20级考核内容
综合虚拟化技术的发展过程和现状,结合其实现原理,可以总结出虚拟化技术的六大特性。
(1)软件实现。以软件的方式模拟硬件,通过软件的方式逻辑切分服务器资源,形成统一的虚报资源池,创建虚拟机运行的独立环境。
(2)隔离运行。运行在同一物理服务器上的多个虚拟机之间相互隔离,虚拟机与虚拟机之间互不影响。包括计算隔离、数据隔离、存储隔离、网络隔离、访问隔离,虚拟机之间不会泄露数据,应用程序只能通过配置的网络连接进行通信。
(3)封装抽象。操作系统和应用被封装成虚拟机,封装是虚拟机具有自由迁移能力的前提。真实硬件被封装成标准化的虚拟硬件,整个虚拟机以文件形式保存,便于进行备份、移动和复制。
(4)硬件独立。服务器虚拟化带来了虚拟机和硬件相互依赖性的剥离,为虚拟机的自由移动提供了良好的平台。
(5)广泛兼容。兼容多种硬件平台,支持多种操作系统平台。
(6)标准接口。虚拟硬件遵循业界标准化接口,以保证兼容性。 VirtualBox
5.3 云桌面
5.3.1虚拟桌面架构
1.基本概念
虚拟桌面架构( VirtualDesktopInfrastructure , VDI )正迅速成为一个热门词语。 vDI 的概念很单,它不是给每个用户都配置一台运行完整操作系统(如 Windows 各种版本以及 Linux 的各种发版)的桌面 PC ,而是在数据中心的服务器运行相应操作系统,将用户的桌面进行虚拟化。用户通理来自客户端设备(瘦客户机或是家用计算机)的瘦客户计算协议与虚拟桌面连接,用户访问他们乡桌面就像是访问传统的本地安装桌面一样。在后端,虚拟化桌面通常通过以下两种方式来实现(以 Windows 为例)。
(1)运行若干 Windows 虚拟机的 MicrosoftVirtualServer 的 VMwareServer ,每个用户以一对一的方式连接到他们的 VM (虚拟机)。
(2)安装 Windows 刀片的刀片式服务器,每个用户以一对一的方式连接到刀片服务器,这种法有时被称作 BladePC (刀片 PC )。
无论何种方式,目的都是想让终端用户更加方便地使用他们想使用的任意设备。他们可以从住何地方连接到他们的桌面, IT 人员可以更易于管理桌面,因为桌面就位于数据中心之内。虽然这些技术是新兴的,但把桌面作为一种服务来提供的概念在十多年前就已经被提出了。伟统的基于服务器计算的解决方案,如 CitrixPresentationServer 或微软的终端服务器,在过去十几年中一直都是提供 VDI 的解决方案。这两者最主要的区别是,基于服务器计算的解决方案是在为 Windows 的共享实例提供个性化的桌面,而 VDI 的解决方案是为每个用户提供他们自己的 Windows 机器也就是说,基于服务器计算的行业在过去几年的发展中,很少注重基于服务器的计算,而是更多关注向用户提供应用。我们现在看其意义所在,有很重要的一点,那就是没有一个人会真正建议摒弃传统的本地桌面而由 VDI 解决方案取代之(就像是10年前没人会建议摒弃传统桌面,由基于服务器计算的应用来替代它一样)。
2.VDI与基于服务器计算的桌面
虚拟桌面架构就其概念本身而言已经不新,不过现在很多人在思考如何使用 VDI 以及在何处使用,这是一个全新的问题。特别是人们对此进行评估,将 VDI 与其他向用户提供桌面的方式进行比较和对比,即基于服务器计算和传统的本地桌面架构。因此,让我们来看看 vdi 技术和基于服务器计算技术( ServerBasedComputing , SBC )的区别,如 CitrixPresentationServer 成 Microsoft 终端服务器。
SBC 是一种实现桌面的方法, SBC 在很多方面提供一些类似 VDI 的解决方案已有很多年。事实上, Citrix 直到1999年才推出无缝软件,在这之前的一切都是远程桌面。当然,当时并不叫它 VDI ,但是它就是 VDI 的前身。然而,现在基于 Windows 虚拟机的 VDI 与 SBC 桌面发布有很大的不同,尽管它们都从根本上解决了同一个业务目标:通过瘦客户机远程协议为用户提供桌面。下面比较这两种技术,看它们各自由优势在何处。
(1) 与 SBC 相比, VDI 有何优势?
① 应用多时, vdi 性能相对较好。
在 VDI 环境下,终端用户的 Windows 工作站运行于刀片机上,或是作为几台虚拟机的其中一个运行于服务器上;而在 sbc 环境下,一台服务器可能同时要支持50个、100个或更多的终端用户。因此在 VDI 环境中,每台用户虚拟机可利用的资源更多,所以应用繁重时性能比 sbc 好。
② vdi 没有兼容性方面的问题。
在实际中,并不是所有的应用都与终端服务相兼容。在 VDI 环境下,每个用户虚拟机就是一个单独的工作站,因此不用担心应用与终端服务的兼容性问题。
③VDI 有更好的安全性。
由于每个用户都有自己独立的 Windows 虚拟机,所以不必为加固用户 Session 而担心。其中一个用户出错,不会影响其他的用户。
④后端服务器的可移植性。
在 vDI 中,系统是建立在虚拟机技术之上的,可以"暂停"单个虚拟机,然后将其从一台服务器移到另一台服务器上,这在维护系统时将会很方便。可以想象,只需单击管理控制台的一个按钮,就可以将用户移到另一台服务器上。可能用户会收到一个弹出的提示框"请稍等",然后服务器会将虚拟机的存储内容转移到一个硬盘上,虚拟机将在另外一个物理硬盘上自动配置,最后虚拟机重新联机。整个过程不到30s,用户就恢复到中断时的位置。
⑤客户运行软件的"工作站"版。
由于 vDI 工作站是基于 windows ,而不是 WindowsServerSessions 的,因此任何软件和应用都会把 Session 作为真正的工作站。这样,就可以使用所有软件的"工作站"版。
⑥用户控制。
同样,由于每个用户都可以得到一个完整的 Windows 工作站虚拟机,所以他们可以根据自己的需求定制自己的虚拟机(或者在允许的权限范围内)。管理员可以更加灵活地设置用户权限,因为不必担忧他们会影响其他用户。这也就意味着,需要自己工作站的管理权限的用户也可以被虚拟化。
⑦用户可离线使用 Session 。
如果使用的是基于虚拟机的 VDI 解决方案,无论物理硬件如何,虚拟化软件提供给用户的是一个通用的硬件环境。因此在所有用户桌面都是虚拟机的情况下,用户在办公室时可以使用集中的后端服务器,而不在办公室需要离线运行时,用户可以使用笔记本电脑运行 VMware 。有一个"断开连接"选项可以暂停用户 Session ,然后复制硬盘镜像和内存到笔记本电脑,从而可以在笔记本电脑上恢复虚拟机。甚至可以用通用笔记本电脑,供用户出差时使用。 VMwareACE 可以灵活采用本地或远程运行,并且可以轻松地前后切换。因此, VDI 带来了一些传统安装的分布式个人桌面的好处,还有基于服务器计算的很多优点。不过它也有不足之处,因为分布式桌面也存在很多的缺陷。
(2)与 VDI 相比, SBC 有何优势?
①管理。
SBC 的亮点之一在于,可以在单个终端服务器或 Citrixpresentationserver 上运行50~70个桌面 session ,这个服务器只需管理一个 windows 实例。而在 VDI 中,50~70个用户就要50~70个 windows 的副本,还要对它们进行安装、配置、管理、打补丁、查毒、更新和杀毒,工作量是非常大的。
② VDI需要更多的服务器硬件。
与 SBc 相比, VDI 潜在的高性能是有代价的。与在一台终端服务器上给用户分配 Session 相比,让每个用户都拥有一个完整的工作站虚拟机将需要更多的计算资源。一个有4gb内存、双处理器的服务器作为终端服务器可以运行50~100个桌面 Session ,而在 vDi 中,可能就只能运行15~20台 Windows 虚拟机了。
③ VDI 需要更多的软件。
除了操作系统和应用软件以外,还需要虚拟机软件( vmware 或 microsoft ),而且要一些为用户提供的管理虚拟机自动配置的软件。当然,这些都是要花费更多成本的可以看到, VDI 和 SBC 不是完全不同。它们都使用瘦客户机协议来分离应用的执行和用户界面而且它们都允许用户从任何地方使用任何设备连接。唯一真正不同的是, vdi 是连接瘦客户机用户到一个 Windows 工作站,而 SBC 是连接到一台共享终端服务器的一个 Session 。
3 VDI 与传统本地桌面
传统的桌面架构是通过复制 windows ,然后本地安装,运行于企业各个部门的台式机和笔记本电脑上。那么,虚拟桌面架构( VDI )解决方案与传统桌面架构各有哪些优势呢? VDI 本质上就是使传统的本地桌面" SBC 化"。用户可以通过任何连接、使用任何设备访问桌面可以享用两者的优点。
(1)与传统本地桌面相比,VDI 有何优势?
①可从任何地方访问真实桌面。
SBC 和 VDI 最大的优点之一在于,用户可以从任何地方访问他们的应用(在 VDI 的情况下可以是桌面)。任何连接、任何客户端设备在世界的任何角落都可以访问。为何不把它也应用到桌面架构呢?
② 易于管理。
如果要管理1000个桌面,你会愿意管理哪种:1000个四处分散的物理桌面还是一个数据中心的1000个虚拟机和 vmware 磁盘镜像?如果客户"工作站"都集中到数据中心,这将对管理、打补丁、资源分配等工作很有利。
③更易于备份。
备份"工作站",用户需要做的就是备份或快照磁盘镜像文件到服务器。如果用户丢失某些东西,他们可以轻松地将计算机恢复到任何时刻的状态,甚至可以选择自动快照服务它将会每小时自动快照一次。
④数据存储。
使用 vDI ,可以保证重要的文件和数据不用通过网络存储到客户机设备上。
⑤桌面运行于服务器级硬件上。
由于桌面计算机分散于公司的各个角落,各台计算机与服务器级硬件的冗余情况也会不一样。一个停电事故、驱动或内存错误都可能导致桌面计算机崩溃。当然,服务器也一样。不过,由于公司的服务器比桌面计算机数量少,从财政和风险角度看,在电力、 raid 和其他技术方面花钱以确保服务器硬件不出问题,这样做也是值得的。
(2)与 VDI 相比,传统本地桌面有以下优势。
①离线使用。
VDI 最大的不足在于,客户机设备必须通过网络连接到一个运行 windowsSession 的后端服务器上。
②运行图形丰富的应用时性能好。
VDI 与各个应用的兼容性更好,因为这些应用是各自运行于自己的 windows 工作站的,而不是共享终端服务器。这解决了许多兼容性方面的问题,如性能独占和非终端服务器兼容应用。然而, VDI 作为核心还是和 SBC 很类似的,应用的图形画面必须通过网络从后端输到客户机。这就意味着,如果应用程序是视频或图形密集型, VDI 的性能可能就不太好了,尽管这些应用是运行于 Windows 虚拟机上的。
③它是实质的标准。
之所以把这个方法称作"传统本地桌面",是因为这就是如今做事的方法。我们不需要执行什么新东西,自寻烦恼,也不需要尝试任何新技术,只需继续使用现行的方法,就应用了传统本地桌面。总之, vdi 不仅拥有传统计算的许多优点,而且具有基于服务器计算的一些优点。当然,与传统桌面计算相比, VDI 的网络连接要求是一个很大的缺点。
4.利用 VDI 节省成本和能源
作为服务器虚拟化最具吸引力的驱动力之一,服务器整合巩固了它在该领域的重要性。虚拟化极大地提高了整合比率,节约很大的成本,减少了所需服务器的数目,缩小了空间使用面积,以及降低了能量及散热的耗能。在多数情况下,通过减小每台服务器的空间使用面积和每台服务器的能量需求,刀片服务器整合能节省更多。然而,与利用服务器虚拟化整合服务器的方式相比,通过虚拟桌面基础架构的方式来虚拟桌面是否可以有更大程度地节省呢?
对那些拥有庞大用户、非常适合虚拟桌面的 it 企业来说,答案是十分肯定的。将全部或部分用户群转移到虚拟桌面基础架构( VDI ),可以减少物理机的数目和相应的能量需求。自2007年vmwarevirtualinfrastructure3(VI3)(发布于2006年6月)取得成功之后,某 IT 组织将大量用户从物理桌面转移到使用 VMware 公司 VirtualDesktopInfrastructure ( VDI )的虚拟桌面,并还计划在接下来的一年内完成剩余用户的转移工作。结果,该公司桌面计算机的能耗需求减少了,节约程度与服务器整合节约的程度相当。通过服务器整合,公司将服务器群从过去约200台 ibm 物理服务器减少至运行在14台 ibmbladecenter 刀片服务器的200台虚拟服务器上。服务器的总功耗从近60kw(即每台服务器300w)降至4.5kw(即每台虚拟服务器23W),总能量节约达90%以上。
在此成功的基础之上,该公司的桌面虚拟化项目将约800台 IBM 物理桌面计算机转换为运行在14台 ibmbladecenter 刀片中心服务器上的800个虚拟桌面,通过瘦客户机接入。桌面计算机的总功耗(包括瘦客户机设备,但不包括耗能恒定的监视器)从近80kw(即每台桌面100w)降至17kW(即每台虚拟桌面20W),总能量节约近80%。除了能量节约,转移到虚拟客户机模式还有其他的好处。由于应用与数据都是集中安装和保存,而不是笔记本电脑中,因此虚拟桌面基础架构可以提高安全性。同时,这种模式也简化了远程技术支持,因为桌面计算机是集中控制,并有较好的管理。此外,可用性也得以改进。整体的虚拟基础架构具有全自动容错移转与高可用性, BladeCenter 架构也同时具有内在的容错移转能力。在这个例子中,包括的性能有 vmware 高可用性( ha )和 vmotion 。
然而,对于虚拟桌面,也有些需要注意的地方。将桌面计算机转换到 VDI 要求虚拟客户端的虚拟机使用存储局域网络中的存储,这样可以快速增加虚拟机。在大规模推出部署之前,要认真全面地规划和测试最佳配置,如硬盘空间及内存分配等,这一点很重要。
因此,如果在服务器整合项目中希望考虑能量与散热,可以考虑桌面虚拟化。虽然节省能量并不是采用虚拟桌面技术的首要原因,但是对使用刀片服务器和对服务器进行整合的企业而言,它带来了额外的益处。虚拟桌面解决方案可能并不适合所有公司或用户组,但对那些适合利用虚拟机的公司或用户来说,虚拟桌面技术将给他们带来很多好处。
5.4 网络虚拟化
网络虚拟化的内容一般指虚拟专用网络( VirtualPrivateNetwork , VPN )。概念进行了抽象,允许远程用户访问组织的内部网络,就像物理上连接到该网络一样可以帮助保护 IT 环境,防止来自 Internet 的威胁,同时使用户能够快速安全地访问应用程序和数据。 VPN 被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定隧道。使用这条隧道可以对数据进行几倍加密,达到安全使用互联网的目的。
网络虚拟化网络虚拟化是一种重要的网络技术,该技术可在物理网络上虚拟多个相互隔离的虚拟网络,使不同用户之间使用独立的网络资源切片,从而提高网络资源利用率,实现弹性的网络。 SDN 的出现使网络虚拟化的实现更加灵活和高效,同时网络虚拟化也成为 SDN 应用中的重量级应用。由于早期成功的 SDN 方案中网络虚拟化案例较多,有的读者可能会认为 SDN 和网络虚拟化是同一个层面的,然而这是错误的说法。 SDN 不是网络虚拟化,网络虚拟化也不是 SDN 。 SDN 是一种集中控制的网络架构,可将网络划分为数据层面和控制层面。而网络虚拟化是一种网络技术,可以在物理拓扑上创建虚拟网络。传统的网络虚拟化部署需要手动逐条部署,其效率低下,人力成本很高。而在数据中心等场景中,为实现快速部署和动态调整,必须使用自动化的业务部署。 SDN 的出现给网络虚拟化业务部署提供了新的解决方案。采用集中控制的方式,网络管理员可以通过控制器的 API 来编写程序,从而实现自动化的业务部署,大大缩短业务部署周期,同时也实现随需动态调整。
随着 laas 的发展,数据中心网络对网络虚拟化技术的需求将会越来越强烈。 SDN 出现不久后, SDN 初创公司 Nicira 就开发了网络虚拟化产品 NVP ( Networkvirtualizationplatform )。 nicira 被 vmware 收购之后, vmware 结合 nvP 和自己的产品 vCloudNetworkingandSecurity ( vCNS ),推出了 VMware 的网络虚拟化和安全产品 NSX 。 NSX 可以为数据中心提供软件定义化的网络虚拟化服务。由于网络虚拟化是 SDN 早期少数几个可以落地的应用,所以大众很容易将网络虚拟化和 sdn 混淆。正如前面所说的,网络虚拟化只是一种网络技术,而基于 SDN 的网络架构可以更容易地实现网络虚拟化。
5.5网络设备的虚拟化
基于网络的虚拟化方法是在网络设备之间实现存储虚拟化功能,具体有下面几种方式。
1、基于互连设备的方法
基于互连设备的方法如果是对称的,那么控制信息和数据走在同一条通道上;如果是不对称的控制信息和数据走在不同的路径上。在对称的方式下,互连设备可能成为瓶颈,但是多重设备管理和负载平衡机制可以减缓瓶颈的矛盾。同时,在多重设备管理环境中,当一个设备发生故障时,也比较容易支持服务器实现故障接替。但是,这将产生多个 SAN 孤岛,因为一个设备仅控制与它连接的存储系统。非对称式虚拟存储比对称式更具有可扩展性,因为数据和控制信息的路径是分离的。
基于互连设备的虚拟化基于互连设备的虚拟化方法能够在专用服务器上运行,使用标准操作系统,如 windows 、 sunsolaris 、 linux 或供应商提供的操作系统。这种方法运行在标准操作系统中,具有基于主机方法的诸多优势易使用、设备便宜。许多基于设备的虚拟化提供商也提供附加的功能模块来改善系统的整体性能,能够获得比标准操作系统更好的性能和更完善的功能,但需要更高的硬件成本。但是,基于设备的方法也继承了基于主机虚拟化方法的一些缺陷,因为它仍然需要一个运行在主机上的代理软件或基于主机的适配器,任何主机的故障或不适当的主机配置都可能导致访问到不被保护的数据。同时,在异构操作系统间的互操作性仍然是一个问题。
2、基于路由器的虚拟化
基于路由器的方法是在路由器固件上实现存储虚拟化功能供应商通常也提供运行在主机上的附加软件来进一步增强存储管理能力。在此方法中,路由器被放置于每个主机到存储网络的数据通道中,用来截取网络中任何一个从主机到存储系统的命令。网络设备的虚拟化相关产品有如下几种。
PowerPC ( PerformanceOptimizationWithEnhancedRISCPerformanceComputin ,5hPPC)是一种精简指令集( RISC )架构的中央处理器( CPU ),其基本的设计源自 ibm 的 power ( performanceoptimizedwithenhancedrisc ,增强 risc 性能优化)架构。 power 是1991年由 apple 、 ibm 、 Motorola (摩托罗拉)组成的 AIM 联盟发展出的微处理器架构。 powerpc 是整个 aim 联盟平台的一部分,并且是到目前为止唯一的一部分。但苹果计算机自2005年起,将旗下计算机产品转用 intelcpu 。
powervm 是在基于 IBMPower 处理器的硬件平台上提供的具有行业领先水平的虚拟化技术家族。它是 IBMPowerSystem 虚拟化技术全新和统一的品牌(逻辑分区、微分区、 Hypervisor 、虚拟 I / O 服务器、 APv 、Powervmlx86、 livepartitionmobility )。
六 云安全
6.1 信息安全
云计算中确保信息安车的具体方法有以十几种
(1)加密被保存文件
加密技术可以对文件进行加密,只有对应的密切才能解密。加密可以保护数据,哪怕是数据传到别人在远处的数据中心。很多程序都提供了足够强大的加密功能,只要使用安全的密钥,别人就很难访问用户的敏感信息。
(2)加密电子邮件
PGP 和 TureCrypt 能对文件在离开用户的控制范围之前加密。但此时电子邮件就面临危险了,因为它到达用户的收件箱的格式是仍能够被偷窥者访问的。为了确保邮件的安全,可以使用 Hushmail 之类的程序,它们可以自动加密收发的所有邮件。
(3)将商业模式放入考虑之中
在设法确定哪些互联网应用值得信任时,应当考虑它们打算如何盈利。收取费用的互联网应用服务可能比得到广告资助的那些服务安全。广告给互联网应用提供商带来了经济上的刺激,从而收集详细的用户资料用于针对性的网上广告,因而用户资料有可能落入不法分子的手里。
(4)注意使用信誉良好的服务
就算对文件进行了加密,有些在线活动(尤其是涉及在网上处理文件,而不是仅仅保存文件的活动)仍很难保护。这意味着用户仍需要认真考虑自己使用哪些服务,他们不会拿自己的名誉来冒险,不会任由数据泄密事件发生,也不会与营销商共享数据。
(5)关注隐私性
几乎有关互联网应用的每项隐私政策都有漏洞,以便在某些情况下可以共享数据,大多数互联网应用提供商在自己的政策条款中承认,如果执法官员提出要求,自己会交出相关数据,但了解到底哪些信息可能会暴露,可以帮你确定把哪些数据保存在云计算环境中,哪些数据保存在桌面上。
(6) 合理使用过滤器
Vontu 、 Wedsense 和 Vericopt 等公司提出了一种系统,目的在于监视离开了用户的网络的数据, 从而自动阻止敏感数据。
6.2数据安全
云用户和云服务提供商应避免数据丢失和被窃,无论使用哪种云计算的服务模式( SaaS 、 PaaS 、 lasS )、数据安全都变得越来越重要。以下针对数据传输安全、数据隔离和数据残留等方面展开讨论。
1.数据传输安全
合使用公共云时,对传输中的数据最大的威胁是不采用加密算法。通过互联网传输数据,采用的传输协议也要能保证数据的完整性。采用加密数据和使用非安全传输协议的方法也可以达到保密的目的,但无法保证数据的完整性。
2. 数据隔离
加密磁盘上的数据或生产数据库中的数据很重要(静止的数据),可以用来防止恶意的云服务提供商、恶意的邻居"租户"及某些类型应用的滥用。但是静止数据加密比较复杂,如果仅使用简单存储服务进行长期的档案存储,用户加密自己的数据后发送密文到云数据存储商那里是可行的。但是对 PaaS 或者 SaaS 应用来说,数据是不能被加密的,因为加密过的数据会妨碍索引和搜索。到目前为止还没有可商用的算法实现数据全加密。
PaaS 和 saas 应用为了实现可扩展、可用性、管理及运行效率等方面的"经济性",基本都采用多租户模式,因此被云计算应用使用的数据会和其他用户的数据混合存储(如 Google 的 BigTable )。虽然云计算应用在设计之初已采用诸如"数据标记"等技术以防非法访问混合数据,但是通过应用程序的漏洞,非法访问还是会发生,典型的案例就是2009年3月发生的谷歌公司文件非法共享。虽然有些云服务提供商请第三方审查应用程序或应用第三方应用程序的安全验证工具加强应用程序安全,但出于经济性考虑,无法实现单租户专用数据平台,因此唯一可行的选择就是不要把任何重要的或者敏感的数据放到公共云中。
3.数据残留
数据残留是数据在被以某种形式擦除后残留的物理表现,存储介质被擦除后可能留有一些物理特性使数据能够被重建。在云计算环境中,数据残留更有可能会无意泄露敏感信息,因此云服务提供商应能向云用户保证其信息所在的存储空间被释放或再分配给其他云用户前完全清除,无论这些信息是存放在硬盘上还是在内存中。
6.3 虚拟化安全
基于虚拟化技术的云计算引入的风险主要有两方面:一是虚拟化软件的全,二是使用虚拟化技术的虚拟服务器的安全。
1.虚拟化软件的安全
虚拟化软件层直接部署于裸机之上,提供能够创建、运行和销毁虚拟服务器的能力。实现虚拟化的方法不止一种,实际上,有几种方法都可以通过不同层次的抽象来实现相同的结果,如操作系统级虚拟化、全虚拟化和半虚拟化。在 IaaS 云平台中,云主机的客户不能访问此软件层,完全由云服务提供商来管理。由于虚拟化软件层是保证客户的虚拟机在多租户环境下相互隔离的重要层次,可以使客户在一台计算机上安全地同时运行多个操作系统,所以必须严格限制任何未经授权的用户访问虚拟化软件层。云服务提供商应建立必要的安全控制措施,限制对 Hypervisor 和其他形式的虚拟化层次的物理和逻辑访问控制。虚拟化层的完整性和可用性对保证基于虚拟化技术构建的公有云的完整性和可用性是最重要的,也是最关键的。一个有漏洞的虚拟化软件会将所有的业务域暴露给恶意的入侵者。
2. 虚拟服务器的安全
虚拟服务器位于虚拟化软件之上,对物理服务器的安全原理与实践也可以被运用到虚拟服务器上,当然也需要兼顾虚拟服务器的特点。下面将从物理机选择、虚拟服务器安全和日常管理三方面介绍虚拟服务器的安全。
应选择具有 TPM 安全模块的物理服务器。TPM 安全模块可以在虚拟服务器启动时检测用户密码,如果发现密码及用户名的 Hash 序列不对,就不允许启动此虚拟服务器。因此,对新建的用户来说,选择这些功能的物理服务器来作为虚拟机应用是很有必要的。如果有可能,应使用多核的支持虚拟技术的新处理器,这就能保证 CPU 之间的物理隔离,减少许多安全问题。
安装虚拟服务器时,应为每台虚拟服务器分配一个独立的硬盘分区,以便将各虚拟服务器从逻辑上隔离开。虚拟服务器系统还应安装基于主机的防火墙、杀毒软件、 ips ( ids )及日志记录和恢复软件,以便将它们相互隔离,并同其他安全防范措施一起构成多层次防范体系。
对每台虚拟服务器应通过 VLAN 和不同的 IP 网段的方式进行逻辑隔离。对需要相互通信的虚拟服务器之间的网络连接应当通过 VPN 的方式来进行,以保护它们之间网络传输的安全。实施相应的备份策略,包括它们的配置文件、虚拟机文件及其中的重要数据都要进行备份,备份也必须按具体的备份计划来进行,应当包括完整备份、增量备份和差量备份方式。
在防火墙中,尽量对每台虚拟服务器做相应的安全设置,进一步对它们进行保护和隔离。将服务器的安全策略加入系统的安全策略当中,并按物理服务器安全策略的方式来对等。
从运维的角度来看,对虚拟服务器系统应当像对一台物理服务器一样对它进行系统安全加固,包括系统补丁、应用程序补丁、允许运行的服务、开放的端口等。同时严格控制物理主机上运行虚拟服务的数量,禁止在物理主机上运行其他网络服务。如果虚拟服务器需要与主机连接或共享文件,应当使用 vpN 方式进行,以防止由于某台虚拟服务器被攻破后影响物理主机。文件共享也应当使用加密的网络文件系统方式进行。需要特别注意主机的安全防范工作,消除影响主机稳定和安全性的因素,防止间谍软件、木马和黑客的攻击,因为一旦物理主机受到侵害,所有在其中运行的虚拟服务器都将面临安全威胁,或者直接停止运行。
要严监控虚拟服务器的运行状态,实时监控各虚拟机当中的系统日志和防火墙日志,以此发现存在的安全隐患,对不需要运行的虚拟机应当立即关闭。
总结
以上就是今天的内容~
最后欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。
版权声明:本文标题:云计算基础教程(第2版)笔记——基础篇与技术篇介绍 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1725919400h892743.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论