因最近的业务需要,周末看了下关于云计算方面的书籍,云计算的书籍以前也看过,但是印象不深,发现我这个人容易忘东西,如果不记下来,很容易就忘记了,所以记博客是一个对自己的思维和知识加深印象的很好方式。

1.云计算概念

NIST定义:云计算是一种能够通过网络以便利的、按需付费的方式获取计算资源(包括网络、服务器、存储、应用和服务等)并提高其可用性的模式,这些资源来自一个共享的、可配置的资源池,并能够以最省力和无人干预的方式获取和释放。这种模式具有5个关键功能,还包括3种服务模式和4种部署方式。

五大基本特征:1.按需自助服务;2.广泛网络接入;3.资源池化;4。快速弹性;5.服务可计量

三种服务模式:1.IaaS(基础设施即服务);2.PaaS(平台即服务);3.SaaS(软件即服务);

四类部署模式:1.专有云(私有云);2.行业云;3。公有云;4.混合云;

对云计算概念的理解:

云计算是指服务的交付和使用模式,即通过网络以按需,易扩展的方式获取所需的资源,这种服务可以是IT的基础设施(硬件、软件、平台),也可以是其他服务,云计算的核心理念就是按需服务,就像人使用水、电、天然气等资源一样。

2.云计算的关键技术

(1)虚拟化j技术

虚拟化是实现云计算重要的技术设施,是在通过物理主机中同时运行多个虚拟机实现虚拟化,在这个虚拟化平台上,实现对多个虚拟机操作系统的监视和多个虚拟机对物理资源的共享;

(2)分布式存储

为保证高可靠性和经济性,云计算采用分布式存储的方式来存储数据。云计算的数据存储系统主要有GFS(google file system)和hadoop开发团队开发的开源系统HDFS(Hadoop Distributed File System)。本节概述一下这两种海量分布式数据存储技术:GFS和HDFS。

(3)编程模型

为了高效地利用云计算的资源,预计算的编程模型必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。云计算采用mapreduce编程模式,将任务自动划分成多个子任务,通过map和reduce两部实现任务在大规模计算节点中的调度与分配。

(4)海量数据管理技术

云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。

(5)云计算平台管理技术

云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。

(6)分布式资源管理技术

在多节点并发执行环境中,分布式资源管理系统是保证系统状态正确性的关键技术。系统状态需要在多节点之间同步。关键节点处出现故障时需要迁移服务,分布式资源管理技术通过锁机制协调多任务对于资源的使用,从而保证数据操作的一致性。Google的chubby是最著名的分布式资源管理系统。chubby的实质是一个锁服务。

3.云计算的主流技术框架openstack

openstack,是目前最为流行的开源云操作系统框架。

云操作系统,是面向云计算的操作系统云操作系统这个概念。云操作系统五项主要功能的内容是:(1)资源接入与抽象,是指将各类服务器、存储、网络设备等硬件资源,通过虚拟化的或者可软件定义的方式,接入到云计算系统中,并将其抽象为云操作系统可以识别的计算、存储、网络等资源池,以此作为云操作系统对各类硬件资源实施管理的基础;(2)资源分配与调度,是指利用云操作系统的资源管理能力,将前述的不同资源,按照不同的云租户对于资源类型与数量的不同需求,将资源分配给各个租户,以及不同租户的不同应用;(3)应用生命周期管理,是指协助租户实现各类云应用在云操作系统上的安装、启动、停止、卸载等管理操作;(4)系统管理维护,是指协助系统管理员实现对于云计算系统的各类管理与运维操作;(5)人机交互支持,指提供必要的人机界面,支持系统管理员和普通租户对系统实施各类操作。

云操作系统框架,不等于云操作系统:要构建一个完整的云操作系统,需要对大量软件组件进行有机整合,让他们协同工作,共同提供系统管理员和租户所需的功能与服务。openstack不能独立实现资源接入与抽象,而需要底层的虚拟化软件、软件定义存储、软件定义网络等软件相配合;openstack不能独立提供完善的应用生命周期管理能力,而需要在上层集成各类管理软件平台;openstack自身不具备完整的系统管理维护能力,在投入生产实用时,还需要集成各类管理软件与维护工具;openstack自身提供人机界面,其功能也还不够丰富强大。

openstack有三个最核心的架构服务单元,分别是:计算基础架构 Nova 、存储基础架构 Swift 和镜像服务 Glance 。

Nova 是 OpenStack 云计算架构控制器,管理 OpenStack 云里的计算资源、网络、授权、和扩展需求。 Nova 不能提供本身的虚拟化功能,相反,它使用 libvirt 的 API 来支持虚拟机管理程序交互,并通过 web 服务接口开放他的所有功能并兼容亚马逊 web 服务的 EC2 接口。

Swift 为 OpenStack 提供分布式的、最终一致的虚拟对象存储。通过分布式的穿过节点, Swift 有能力存储数十亿计的对象, Swift 具有内置冗余、容错管理、存档、流媒体的功能。并且高度扩展,不论大小(多个 PB 级别)和能力(对象的数量)。

Glance 镜像服务查找和检索虚拟机的镜像系统。

4.虚拟化技术Hypervisor

hypervisor:一种运行在物理服务器和操作系统之间的中间层软件,可以允许多个操作系统和应用共享一套基础物理硬件。可以将hypervisor看做是虚拟环境中的“元”操作系统,可以协调访问服务器上的所有物理设备和虚拟机,所以又称为虚拟机监视器(virtual machine monitor)。hypervisor是所有虚拟化技术的核心,非中断的支持多工作负载迁移是hypervisor的基本功能。当服务器启动并执行hypervisor时,会给每一台虚拟机分配适量的内存,cpu,网络和磁盘资源,并且加载所有虚拟机的客户操作系统。

通俗来讲,Hypervisor是一种将操作系统与硬件抽象分离的方法,以达到host machine的硬件能同时运行一个至多个虚拟机作为guest machine的目的,这样能够使得这些虚拟机高效地分享主机硬件资源。

参考资料:https://www.jianshu.com/p/3a191ee2c86a

https://blog.csdn.net/continueOo/article/details/76178414

https://blog.csdn.net/shi8758317/article/details/78970415

https://blog.csdn.net/bbc955625132551/article/details/71597863

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐