不可不知的云计算知识点

  • 来源:36大数据
  •  2014-11-20
  •   浏览 749 次

云计算

  云计算的分类

1、基础设施云(Infrastructure Cloud):为用户提供的是底层的、接近于直接操作硬件资源的服务接口,通过调用这些接口,用户可以直接获得计算和存储能力,而且相当灵活自如,几乎不受逻辑上的限制。用户需要进行大量工作来设计和实现自己的应用。因为基础设施云除了为用户提供计算和存储等基础功能外,不进一步做任何应用类型的假设。

2、平台云(PlatformCloud):为用户提供一个托管平台,用户可以将他们开发和运营的应用托管到云平台中。但是,这个应用的开发部署必须遵守该平台特定的规则和限制。

3、应用云(ApplicationCloud):为用户提供可以为其直接所有的应用,这些应用一般是基于浏览器的,针对某一一项特定的功能。但是,它们是灵活性最低的,因为一种应用云只针对一种特定的功能,无法提供其他功能的应用。

云计算的本质

云计算利用高速互联网的传输能力,将数据的处理过程从个人计算机或服务器移到互联网上的集群中。这些计算机都是普通的工业标准服务器,由一个大型的数据处理中心管理。数据中心按客户的需求即时进行资源的聚合、重组和分配,达到与超级计算机同样的效果。

云计算的体系架构

云计算核心业务层通常可以分为:基础设施即服务(IaaS),平台即服务(PaaS),软件即服务(SaaS)三个层次。

云计算的云存储技术:

云存储是指通过集群应用、网格技术、或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。

云存储系统的结构模型

云数据存储技术

云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。

云计算的数据存储技术主要有谷歌非开源的GFS(Google File System)和Hadoop开发团队开发的开源的GFS——HDFS(Hadoop Distributed File System)大部分IT厂商,包括Yahoo、Intel的“云”计划采用的都是HDFS的数据存储技术。未来的发展将将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高I/O速率等方面。

GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。GFS应用于廉价的普通硬件上,但可以提供容错功能,可以给大量用户提供总体性能较高的服务。一个GFS集群包含一个主服务器(master)和多个块服务器(chunkserver)被多个客户端(client)访问。

HDFS Hadoop中的分布式文件系统HDFS由一个管理节点(Namenode)和四个数据节点(Datanode)组成。Namenode是整个HDFS的核心,管理文件系统的Namepace和客户端对文件的访问。

主要云计算平台

目前,Amazon、Google、IBM、Microsoft、Sun等公司提出的云计算基础或云计算平台虽然比较商业化,但对于研究云计算确实比较有参考价值的。当然针对目前商业云计算解决方案存在的种种问题,开源组织和学术界也纷纷提出了许多云计算系统或平台方案。

云计算的关键技术

1、快速部署(Rapid Deployment)

自数据中心诞生以来,快速部署就是一项重要的功能需求。数据中心管理员和用户一直在追求更快、更高效、更灵活的部署方案。

首先,在云环境中资源和应用不仅变化范围大而且动态性高。用户所需的服务主要采用按需部署方式。其次,不同层次云计算环境中服务的部署模式是不一样的。另外,部署过程所支持的软件系统形式多样,形同结构各不相同,部署工具应能适应被部署对象的变化。

2、资源调度(Resource Dispatching)

资源调度是指在特定环境下根据一定的资源使用规则,在不同资源使用者之间进行资源调整的过程。这些资源使用者对应着不同的计算任务,每个计算任务在操作系统中对应着一个或多个进程。虚拟机的出现使得所有的使得所有的计算任务都被封装在一个虚拟机的内部。

3、大规模数据处理(Massive Data Processing)

以互联网为计算平台的云计算会广泛的涉及到大数据处理任务。由于大规模数据处理操作非常频繁,很多研究者在从事支持大规模数据处理的编程模型方面的研究。当今世界最流行的大规模数据处理的编程模型可以说是有google公司所设计的Map Reduce编程模型。Map Reduce编程模型将一个任务分成很多更细粒度的子任务 ,这些子任务能够在空闲的处理节点之间调度,使得处理速度越快的节点处理越多的任务,从而避免处理速度慢的节点延长整个任务的完成时间。

4、大规模消息通信(Massive Message Communication)

云计算的一个核心理念就是资源和软件功能都是以服务的形式发布的,不同服务之间经常需要进行消息通信协作,因此,可靠、安全、高性能的通信基础设施对于云计算的成功至关重要。异步消息通信机制可以使得云计算每个层次中的内部组件之间及各个层次之间解耦合,并且保证云计算服务的高可用性。目前,云计算环境中的大规模数据通信技术仍旧处于发展阶段。

5、大规模分布式存储(Massive Distributed Storage)

分布式存储要求存储资源能够被抽象表示和统一管理,并且能够保证数据读/写操作的安全性,可靠性、性能等各方面的要求。分布式文件系统允许用户像访问本地文件系统一样访问远程服务器的文件系统,用户可以将自己的数据存储在多个远程服务器上,分布式文件系统基本上都是冗余备份机制和容错机制。以保证数据读/写的正确性。云环境的存储服务基于分布式文件系统并根据云存储的特征做了相应的配置和改进。典型的分布式文件系统有Google公司设计的可伸缩的Google File System(GFS)。目前,在云计算环境下的大规模分布式存储方面已经有了一些研究成果和应用。Google公司设计的用来存储大规模结构化数据的分布式存储系统Big Table用来将网页存储成分布式的、多维的、有序的图。

6、虚拟化技术(Virtualization)

虚拟化的核心理念是以透明的方式提供抽象的底层资源,这种抽象的底层资源,这种抽象的方法并不受地理位置或底层资源的物理位置所限。就技术本身而言,它并不是全新的事物,早在20世纪70年代就已经在IBM的虚拟计算系统中得以应用。随着云计算的兴起,虚拟化技术再次成为热点,究其原因主要在于:首先,计算机系统在功能变得日益强大的同时,本身也越来越难以管理;其次,当计算机系统发展到以用户为核心的阶段时,人们更关心的是如何通过接口和服务来满足更复杂多变的用户要求。由于虚拟化技术能够灵活组织多种计算机资源,解除上、下层资源的绑定和约束关系,提升资源使用率,发挥资源聚合效能。为用户提供个性化和普通话的资源使用环境,因而得到高度重视。利用虚拟化技术,能够有效整合数据中心所有的硬件资源、虚拟服务器和其他基础设施,并通过高效的管理和调度为上层应用提供动态、可伸缩、灵活的基础设施平台,从而满足云计算随需扩展、按需部署、即需即用的需求。不过,各种虚拟化技术各有优势和不足。例如目前主流的半虚拟化技术,其虚拟机管理带来的CPU额外开销较少,但内存性能开销较大,因此原有的CPU密集型应用能够较好地迁移到虚拟化平台上来,而内存或I/O密集型应用就会遇到较大的性能问题。因此,如何融合各种虚拟化方法的优势,按照应用任务的需求,将各种资源进行动态共享和灵活配置,使计算系统具备按需构建能力,都是云计算中需要深入研究的问题。


To Top