请选择 进入手机版 | 继续访问电脑版
MSIPO技术圈 首页 IT技术 查看内容

云计算基础教程(第2版)笔记——基础篇与技术篇介绍

2023-07-13

文章目录

前言

第一篇        基础篇

一 绪论

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.com多租户内核,而并行处理技术常被作为单独的服务推出,如 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 等,很容易把旧有的系统与云存储相结合,不需要应用端做什么改变。

        上面介绍的是一个纯软件的云存储解决方案,也有以硬件为主的解决方案,将存储节点和控制节点放在一台设备上,这样做的缺点是成本比较高,客户也不能够按照自己的需求任意选择适合自己规格的硬件,如读写性能、网卡、硬盘容量等。这两种方案各有优势,如果关心原有投入,前者更好:如果新建,后者应该更好。

        与传统的存储设备相

相关阅读

手机版|MSIPO技术圈 皖ICP备19022944号-2

Copyright © 2023, msipo.com

返回顶部